🤖 robots.txt 테스터
robots.txt의 내용과 대상 URL 경로를 입력하기만 하면 Googlebot / GPTBot / ClaudeBot 등 각 User-agent별로 해당 경로가 허용되는지 판정합니다. Allow / Disallow / 최장 일치 규칙을 올바르게 분석합니다.
🤖 주요 크롤러 일괄 판정
🔗 관련 도구
📖 자주 걸리는 지점
붙여 넣은 robots.txt 본문과 URL 경로를 대조해 Allow / Disallow 의 최장 일치 규칙으로 판정합니다. Googlebot·GPTBot·ClaudeBot 등 주요 크롤러의 일괄 판정도 함께 표시합니다. 처리는 브라우저 안에서 끝나며 당신의 사이트에 접속하지 않습니다 — 실제로 공개된 robots.txt 를 가져와 조사하려면 robots.txt 상세 해석 을 쓰세요. 그리고 가장 중요한 전제로, 이 파일이 제어하는 것은 크롤이지 인덱스가 아닙니다. 「Disallow 했는데 검색 결과에서 사라지지 않는다」는 사양대로의 동작입니다.
| 사례 | 무슨 일이 일어나는가 | 어떻게 하면 되는가 |
|---|---|---|
Disallow 는 「인덱스되지 않는다」가 아니다 |
Disallow 가 지시하는 것은 「가지러 오지 마라」이지 「검색 결과에 싣지 마라」가 아닙니다. 외부에서 링크가 걸려 있으면 검색 엔진은 페이지 내용을 보지 않은 채 URL 을 결과에 실을 수 있습니다 — 설명문 대신 「이 페이지의 정보가 없습니다」라고 표시되는 그 상태입니다. 더 심각한 것은 순서의 문제로, 페이지에 noindex 를 써도 그 페이지가 Disallow 되어 있으면 크롤러는 noindex 를 읽을 수 없습니다. 읽을 수 없는 지시는 실행되지 않습니다. 즉 Disallow 는 noindex 를 영원히 듣지 않게 만드는 유일하게 확실한 방법이 되어 버립니다. |
목적에 따라 나눠 쓰세요. 검색 결과에서 지우고 싶다면 크롤을 허용한 뒤 noindex 를 돌려줍니다 — HTML 의 <meta name="robots" content="noindex"> 나 HTTP 헤더의 X-Robots-Tag: noindex 입니다 (PDF 나 이미지에는 후자를 씁니다). 효과가 나오는 것은 그 페이지가 다시 크롤될 때이므로 급하다면 Search Console 의 삭제 도구를 함께 씁니다. 한편 Disallow 가 옳은 것은 크롤 자체를 줄이고 싶을 때 — 필터 파라미터의 무한 조합, 내부 검색 결과, 끝없이 이어지는 미래 날짜의 캘린더 등입니다. 그리고 기밀 보호에는 어느 쪽도 쓸 수 없습니다. 인증을 거세요 — 그 외는 전부 「부탁」에 지나지 않습니다. |
| 크롤러는 하나의 그룹만 읽는다 | 이것이 가장 오해가 많은 사양입니다. 크롤러는 자기 이름에 가장 구체적으로 일치하는 그룹을 하나만 고르고 다른 그룹은 완전히 무시합니다 — User-agent: * 도 포함해서입니다. 규칙은 합성되지 않습니다. 따라서 User-agent: * 에 Disallow: /admin/ 이라고 쓰고 나중에 User-agent: Googlebot 그룹을 더해 Allow: / 만 쓰면 Googlebot 은 * 그룹을 통째로 무시하고 /admin/ 을 크롤합니다. 특정 봇에 예외를 하나 더한다는 것이 그 봇에 대한 제한을 전부 푸는 결과가 되는 사고가 이 사양에서 생깁니다. |
특정 봇용 그룹을 만들었다면 공통 규칙을 그 그룹에도 전부 옮겨 적으세요. 중복은 군더더기가 아니라 이 사양에서는 필수입니다. 작업 후에는 이 페이지의 일괄 판정으로 반드시 확인하세요 — 주요 크롤러를 세로로 늘어놓고 같은 경로를 판정하므로 한 줄만 결과가 다른 봇이 있다면 그것이 옮겨 적기를 빠뜨린 것입니다. 테스트할 경로를 고르는 데에도 요령이 있습니다: 막고 싶은 URL 만 시험하면 전체를 잘못해서 Disallow: / 로 만들어 버린 경우에도 「제대로 동작한다」처럼 보입니다. 반드시 「통과했으면 하는 URL」도 하나 넣으세요 — 첫 페이지나 주요 기사 페이지입니다. |
경로는 전방 일치이며 특별한 것은 * 와 $ 뿐 |
Disallow 의 값은 디렉터리 이름이 아니라 URL 경로의 앞에서부터의 문자열로 비교됩니다. 따라서 Disallow: /admin 은 /admin/ 뿐 아니라 /administrator-guide 나 /admin-policy.html 도 막습니다. 대소문자도 구별됩니다 — /Admin/ 은 다른 것입니다. 와일드카드는 * (임의의 문자열) 와 $ (끝) 둘뿐이며 정규식은 쓸 수 없습니다. 확장자로 지정할 때는 $ 가 필수여서 Disallow: /*.pdf 는 /a.pdf?x=1 에도 /a.pdf.html 에도 걸립니다. 그리고 가장 비싸게 치르는 실수는 한 글자입니다 — Disallow: (빈 값) 은 「전부 허용」, Disallow: / 는 「전부 금지」입니다. |
디렉터리를 가리킬 작정이라면 반드시 끝의 슬래시를 쓰세요 (Disallow: /admin/). 그런 다음 이 페이지에서 양쪽 형태를 시험하세요 — /admin/ 과 /admin-tools/ 두 개를 판정시키면 의도보다 넓게 걸리고 있지 않은지 그 자리에서 알 수 있습니다. 쿼리 문자열도 판정 대상이므로 필터링을 멈추고 싶다면 Disallow: /*? 처럼 실제로 쓰고 있는 형태로 시험하세요. 그리고 공개하기 전에 반드시 프로덕션의 robots.txt 를 통째로 붙여 넣고 첫 페이지가 Allow 가 되는지 확인하세요 — 스테이징용 Disallow: / 를 그대로 프로덕션에 내보내는 사고는 이 한 절차로 전부 막을 수 있습니다. |
robots.txt 는 오리진 단위로 듣습니다. 스킴·호스트명·포트 중 하나라도 다르면 다른 파일입니다 — https://example.com/robots.txt 는 http:// 에도 www.example.com 에도 blog.example.com 에도 적용되지 않습니다. 둘 곳은 루트 바로 아래뿐이며 서브디렉터리에 두어도 읽히지 않습니다. 서식 면에서는 Crawl-delay 를 Google 이 무시합니다 (속도를 낮추고 싶다면 Search Console 에서 지정합니다). Sitemap: 만은 예외로 그룹에 속하지 않고 파일 어디에 써도 유효합니다. 그리고 마지막으로 이것은 강제력이 있는 구조가 아닙니다. 따를지 말지는 크롤러 측의 임의이며 악의적인 봇은 읽은 뒤에 무시합니다. 오히려 이 파일은 「숨기고 싶은 경로의 목록」을 전 세계에 공개하고 있습니다 — Disallow: /secret-admin/ 이라고 쓰는 것은 거기에 관리 화면이 있다고 알리는 것과 같습니다. 비밀로 하고 싶은 것은 robots.txt 에 쓰지 마세요.
📖 사용법
-
1
robots.txt 내용 붙여넣기왼쪽에 robots.txt 내용을 붙여넣습니다.
-
2
테스트할 URL 경로와 User-agent 입력경로(/admin/ 등)와 User-agent를 선택합니다.
-
3
판정 결과와 일괄 크롤러 확인선택한 User-agent의 판정과 일치 규칙이 표시됩니다.
❓ 자주 묻는 질문
Disallow: /와 Allow: /가 모두 있으면?
Sitemap 지시문은 처리되나요?
User-agent는 대소문자를 구분하나요?
🐛 이 도구에서 문제가 발생했나요?
무료 · 가입 불필요. 재현 절차만이라도 도움이 됩니다. 보고는 운영자에게 직접 전달되어 개선에 사용됩니다.
보고 감사합니다!
운영자에게 전달되었습니다. 개선에 사용됩니다.