그 밖의 모든 크롤러
전용 그룹이 없는 모든 크롤러가 읽습니다.
- 사이트 전체를 허용합니다.
테마
믿고 쓸 수 있는 robots.txt를 만드세요. 규칙을 입력하는 즉시 하나하나 설명하고, 완성된 파일은 우리 robots.txt 테스터가 RFC 9309와 Google 자체의 해석에 따라 다시 읽으며, 공개하기 전에 어떤 크롤러와 어떤 경로에 대해서든 판정을 바로 보여 줍니다.
파일은 호스트와 프로토콜마다 하나씩입니다. www.example.com과 example.com에는 각각 따로 파일이 필요합니다.
출처: RFC 9309(2026년 10월 26일에 확인)
전용 그룹이 없는 모든 크롤러가 읽습니다.
알려진 크롤러마다 적용할 설정을 고르세요. 전용 그룹이 있는 크롤러는 그 그룹만 읽습니다.
검색 색인을 만들기 위해 크롤링합니다. 차단된 페이지도 다른 곳의 링크를 통해 목록에 오를 수 있지만, 그 페이지에서 읽은 내용은 하나도 없습니다.
모델 학습용으로 페이지를 수집합니다. 토큰이 따로 있어서, 검색 결과에는 계속 나타나면서 학습만 거부할 수 있습니다.
질문에 답하기 위해 페이지를 가져오고, 사이트로 돌아오는 링크를 함께 보여 줍니다.
사람이 요청했기 때문에 페이지 하나를 가져옵니다. 그래서 robots.txt를 무시할 수 있다고 밝힌 운영사도 있습니다.
이 크롤러를 거부하면 크롤링이 아니라 사람을 거부하게 됩니다. 누군가 AI 어시스턴트에게 내 페이지를 열어 달라고 해도, 파일을 따르는 어시스턴트는 그 사람을 위해 페이지를 읽지 않습니다. 거부하려는 것이 학습이라면 위의 학습용 크롤러를 거부하세요.
링크 미리보기, 사이트 소유자 도구, 광고 확인, 아카이브, 그리고 운영사가 다른 역할을 밝혔거나 아무것도 밝히지 않은 크롤러입니다.
내 robots.txt/robots.txt
User-agent: *Allow: /오류경고참고500 KiB 중 23 B
경고 1개
해결 방법 파일에서 가장 손쉬운 줄이고, 모든 크롤러가 읽습니다. 사이트맵의 전체 주소와 함께 Sitemap:을 추가하세요.
크롤러와 경로를 고르세요. 판정, 그 판정을 내린 규칙, 크롤러가 읽는 그룹은 robots.txt 테스터 자체의 매처가 결정합니다.
이 크롤러는 이 URL을 요청할 수 있습니다.
User-agent: *1번째 줄에서 시작
이 크롤러를 지정한 그룹이 없으므로, * 그룹이 적용됩니다.
Allow: /2번째 줄
/any-page
/
비교하는 것은 경로와 쿼리뿐이며, 퍼센트 인코딩을 거친 뒤 바이트 단위로 비교합니다. 호스트, 스킴, 프래그먼트는 규칙의 대상이 아닙니다.
규칙을 작성해 robots.txt라는 이름의 UTF-8 일반 텍스트 파일로 저장한 뒤, 사이트의 최상위에 올려 https://example.com/robots.txt 주소에서 응답하게 하세요. 제출할 것은 없습니다. 크롤러가 알아서 그 주소를 요청합니다.
Google은 이를 세 문장으로 정리합니다. “파일 이름은 robots.txt로 지정해야 합니다. 사이트에는 robots.txt 파일이 하나만 있어야 합니다. robots.txt 파일은 파일이 적용되는 사이트 호스트의 루트에 있어야 합니다.” 파일은 “UTF-8로 인코딩된 텍스트 파일”이어야 하며, “Google 크롤러가 자동으로 robots.txt 파일을 찾아 사용하기 시작합니다.”
위의 생성기는 프리셋에서 시작해 입력하는 규칙마다 설명하고, 복사하기 전에 우리 robots.txt 테스터의 파서와 매처로 결과를 다시 읽습니다. 다운로드한 파일의 이름은 robots.txt이며, 바이트 순서 표시(BOM) 없는 UTF-8에 줄바꿈은 LF만 쓰고, 요청하지 않은 날짜나 주석은 넣지 않습니다.
https://example.com/robots.txt제출 단계는 없습니다. Google 크롤러가 알아서 파일을 찾습니다.

프리셋이 하는 일그리고 하지 않는 일도 알려 줍니다. 이 프리셋 가운데 어느 것도 페이지를 Google에서 빼 주지 않으며, 프리셋마다 그 사실을 밝힙니다.규칙별 설명규칙이 차단하는 경로와 놓치는 경로를 모든 판정을 내리는 바로 그 매처로 보여 주고, 예외를 만드는 더 긴 규칙도 알려 줍니다.파일과 검사 결과줄 번호가 붙은 파일을, 복사하기 전에 robots.txt 테스터 자체의 감사로 다시 읽습니다.판정크롤러와 경로를 고르면 허용인지 차단인지, 판정을 내린 규칙과 그 줄, 크롤러가 읽는 그룹을 보여 줍니다.그룹과 Sitemap 줄입니다. 그룹은 크롤러 이름을 적은 User-agent 줄 하나 이상으로 시작하고, 그 뒤에 그 크롤러들이 따르는 Allow와 Disallow 규칙이 이어집니다. Sitemap 줄은 어느 그룹에도 속하지 않고 따로 섭니다.
RFC 9309는 그룹을 “하나 이상의 user-agent 줄과 그 뒤에 이어지는 하나 이상의 규칙”으로 정의하며, 크롤러는 정확히 하나의 그룹을 따릅니다. 자신의 제품 토큰을 지정한 그룹, 그런 그룹이 없으면 * 그룹입니다. Google이 읽는 필드는 user-agent, allow, disallow, sitemap 네 가지뿐입니다.
필드 이름은 대소문자를 구분하지 않지만, 경로는 구분합니다. Google 자체의 예시에서 disallow: /file.asp는 /file.asp에 적용되지만 /FILE.asp에는 “적용되지 않습니다”. Sitemap: 줄은 프로토콜과 호스트를 포함한 전체 주소여야 하며, 이 생성기는 다른 형태는 모두 거부하고 그 이유를 알려 줍니다.
User-agent: *전용 그룹이 없는 모든 크롤러를 위한 그룹을 시작Disallow: /cart/이 크롤러들이 가져가면 안 되는 경로Allow: /cart/help예외: Disallow보다 길어서 이깁니다 User-agent: GPTBot크롤러 두 개를 지정하는 그룹을 시작User-agent: ClaudeBotDisallow: /둘 다 사이트 전체를 거부당합니다 Sitemap: https://www.example.org/sitemap.xml모든 그룹 밖: 전체 주소*와 $: 규칙이 일치하는 방식하나의 URL에 규칙이 여러 개 일치하면, 종류와 상관없이 경로가 가장 긴 규칙이 이기고, 길이가 같으면 Allow가 이깁니다. *는 임의의 문자열을, $는 URL의 끝을 나타내며, 경로의 그 밖의 문자에는 특별한 의미가 없습니다.
RFC 9309: “가장 구체적인 일치를 사용해야 한다(MUST). 가장 구체적인 일치란 옥텟 수가 가장 많은 일치를 말한다”, 그리고 “allow 규칙과 disallow 규칙이 동등하면 allow 규칙을 사용해야 한다(SHOULD).” WordPress 자체의 파일이 바로 이렇게 동작합니다. Disallow: /wp-admin/ 줄이 폴더를 닫고, 더 긴 Allow: /wp-admin/admin-ajax.php 줄이 그 안의 파일 하나를 엽니다.
$가 없는 규칙은 접두어 일치이므로, Disallow: /admin은 /administrator도 차단합니다. 폴더를 뜻한다면 슬래시를 붙이세요(/admin/). 위의 편집기는 규칙마다 그 규칙이 잡아내는 경로와 잡아내지 않는 경로 몇 개를 모든 판정을 내리는 매처로 보여 주며, 다른 규칙에 늘 지는 규칙도 표시합니다.
*와 $, 각 패턴이 실제로 잡아내는 것/admin/admin/ · /administrator · /admin-tools/wp-admin/admin//admin/users/administrator/*.pdf$/files/report.pdf/report.pdf?v=2/*?/search?q=x/search?, ., [, +는 평범한 문자입니다. robots.txt에는 정규 표현식이 없습니다.
/admin/report.pdfAllow가 이깁니다. 경로와 더 많이 일치하기 때문입니다.
Disallow: /files/7자Allow: /files/7자길이가 같으므로 Allow가 이깁니다. Google의 표현으로는 “가장 제한이 적은 규칙”입니다.
세 플랫폼 모두 이미 robots.txt를 제공하며, 위의 프리셋은 각 플랫폼 자체 문서가 설명하는 내용을 씁니다. WordPress는 관리자 영역을 거부하되 admin-ajax.php는 허용하고, Shopify는 장바구니, 결제, 필터링하거나 정렬한 컬렉션을 거부하며, Next.js는 app/robots.txt에 넣은 파일을 제공합니다.
WordPress는 파일을 코드로, do_robots() 안에서 씁니다. User-agent: *, 관리자 경로에 대한 Disallow, admin-ajax.php에 대한 Allow, 그리고 공개 사이트라면 WordPress 5.5부터 /wp-sitemap.xml을 가리키는 Sitemap: 줄입니다. “검색 엔진이 이 사이트를 검색하는 것을 차단”을 켜면 WordPress 5.3 이상은 더 이상 Disallow: /를 쓰지 않고, 대신 robots meta 태그를 씁니다.
Shopify는 기본 파일이 “대부분의 스토어에 적합하다”고 말합니다. 업로드할 파일은 없으며, 바꾸려면 테마의 robots.txt.liquid 템플릿을 편집해야 하는데, Shopify는 이를 “지원되지 않는 사용자 지정”이라고 부릅니다. Next.js는 app/robots.txt를 쓴 그대로 제공하거나, app/robots.ts로 파일을 만듭니다.
User-agent: *Allow: /wp-admin/admin-ajax.phpDisallow: /wp-admin/ Sitemap: https://example.com/wp-sitemap.xmlWordPress가 직접 작성합니다. 플러그인이나 robots_txt 필터로 바꿉니다.
User-agent: *Allow: /Disallow: /adminDisallow: /cart/Disallow: /checkoutDisallow: /checkouts/Disallow: /accountDisallow: /ordersDisallow: /collections/*+*Disallow: /collections/*sort_by* Sitemap: https://example.com/sitemap.xmlShopify의 기본 파일입니다. 테마의 robots.txt.liquid 템플릿에서 바꿉니다.
User-agent: *Allow: / Sitemap: https://example.com/sitemap.xmlapp/robots.txt에 둔 내 파일 또는 app/robots.ts가 /robots.txt에서 제공됩니다.
크롤러 이름을 적은 그룹 아래에 Disallow: /를 두면, 운영사가 robots.txt를 따른다고 밝힌 모든 크롤러에 효과가 있고, 그런 크롤러에만 효과가 있습니다. 크롤러가 존중해 주는 요청일 뿐 잠금장치가 아니므로, 파일을 무시하는 크롤러는 여전히 모든 페이지를 가져갈 수 있습니다.
대부분의 AI 회사는 크롤러를 여러 개 운영하므로, 역할별로 정하세요. GPTBot이나 ClaudeBot 같은 학습용 크롤러를 거부하면 모델용으로 페이지를 수집하는 크롤러를 거부하는 것이고, OAI-SearchBot이나 PerplexityBot 같은 답변용 크롤러를 거부하면 그 어시스턴트가 보여 주는 링크에서도 빠집니다. Google의 학습용 토큰은 Googlebot이 아닙니다. “Google-Extended는 Google 검색에 사이트가 포함될지 여부에 영향을 미치지 않으며 Google 검색에서 순위 결정 신호로 사용되지도 않습니다.”
세 번째 종류는 다릅니다. ChatGPT-User, Claude-User, Perplexity-User, Amzn-User는 사람이 어시스턴트에게 페이지를 열어 달라고 요청했기 때문에 그 페이지 하나를 가져옵니다. 그래서 이들을 거부하면 그 사람을 거부하는 것이 되며, 일부 운영사는 이런 크롤러가 어차피 robots.txt를 무시할 수 있다고 말합니다. 위의 크롤러 목록이 이들을 별도의 섹션에 두는 것은 그 때문입니다.
GPTBot준수OAI-SearchBot준수ChatGPT-User무시할 수 있음ClaudeBot준수Claude-SearchBot준수Claude-User준수PerplexityBot준수Perplexity-User무시할 수 있음Google-Extended토큰만해당 크롤러 없음해당 크롤러 없음Applebot-Extended토큰만해당 크롤러 없음해당 크롤러 없음meta-externalagent준수meta-webindexer준수meta-externalfetcher무시할 수 있음Amazonbot준수해당 크롤러 없음Amzn-User무시할 수 있음robots.txt는 크롤러에게 페이지를 가져가지 말라고 요청할 뿐, 검색엔진에게 목록에 올리지 말라고 요청하지 않습니다. 다른 페이지가 링크하면 Google은 “여전히 URL의 색인을 생성하여 스니펫 없이 검색 결과에 표시할 수 있습니다”. 페이지를 빼려면 noindex를 쓰고, 그 태그를 읽을 수 있도록 페이지는 크롤링할 수 있게 두세요.
Search Console은 이 상태를 “robots.txt로 인해 차단되었으나 색인이 생성됨”이라고 부릅니다. 또 Google은 분명히 밝힙니다. “noindex 규칙이 효과적으로 작동하려면 페이지 또는 리소스가 robots.txt 파일로 차단되어서는 안 되며…” 크롤러가 페이지를 가져오지 않으므로, 차단된 페이지에 있는 noindex는 결코 읽히지 않습니다.
위의 모든 프리셋이 하지 않는 일을 밝히는 것은 그 때문입니다. 스테이징 프리셋의 Disallow: /는 규칙을 지키는 크롤러를 막아 주지만, 어디에서든 링크된 스테이징 URL은 여전히 목록에 오를 수 있습니다. 스테이징은 비밀번호로 보호하고, 그 줄을 운영 사이트에 절대 내보내지 마세요.
<meta name="robots" content="noindex">읽히지 않음페이지를 빼려면: 크롤러를 들여보내고 noindex를 쓰거나, 로그인을 요구하세요.
적용할 호스트의 루트에 /robots.txt로, 호스트와 프로토콜마다 하나씩 둡니다. https://example.com/robots.txt는 https://www.example.com이나 https://shop.example.com에 대해 아무것도 정하지 않습니다. 각각 따로 파일이 필요하며, 폴더 안의 robots.txt는 결코 읽히지 않습니다.
Google: “robots.txt 파일은 지원되는 프로토콜에서 사이트의 최상위 디렉터리에 있어야 합니다.” Search Console의 robots.txt 보고서는 속성의 상위 20개 호스트의 파일을 각각 따로 보여 주며, HTTP와 HTTPS도 따로 셉니다.
생성기 맨 위에 사이트를 입력하면 파일이 응답해야 할 정확한 주소를 알려 주고, 그 호스트에 맞는 Sitemap: 줄을 채우며, robots.txt 테스터로 가는 링크를 보여 줍니다. 파일을 올린 뒤에는 테스터가 실제로 공개된 파일을 읽습니다.
https://example.com/robots.txthttps://example.com의 모든 URLhttps://www.example.com/robots.txtwww.example.com만: 별도의 호스트http://example.com/robots.txthttp:// 사이트만: 별도의 프로토콜https://shop.example.com/robots.txtshop.example.com만https://example.com/blog/robots.txt없음: 폴더 안의 robots.txt는 결코 읽히지 않습니다Google은 어느 것도 읽지 않습니다. Crawl-delay는 Bing이, Clean-param은 Yandex가 읽고, Host는 표준에도 Google의 목록에도 없으며, Cloudflare의 Content-Signal은 무엇을 크롤링해도 되는지가 아니라 콘텐츠를 어디에 써도 되는지를 밝힙니다.
Google은 네 가지 필드를 나열하고 “crawl-delay와 같은 다른 필드는 지원되지 않음”이라고 덧붙입니다. Bing 자체 블로그에 따르면 “crawl-delay 지시어는 양의 정수만 값으로 받습니다”. 그래서 편집기는 소수를 쓰지 않고 거부합니다. 현재 Bing 도움말 페이지는 읽을 수 없어서 범위나 단위를 확인하지 못했으므로, 이 페이지는 둘 다 밝히지 않습니다.
어느 것도 파일을 망가뜨리지 않습니다. RFC 9309는 다른 레코드의 파싱이 “명시적으로 정의된 레코드의 파싱을 방해해서는 안 된다(MUST NOT)”고 요구합니다. 네 가지 가운데 생성기가 쓰는 것은 Crawl-delay뿐이며, 누가 읽는지 함께 표시합니다.
User-agent읽음읽음읽음Allow읽음읽음읽음Disallow읽음읽음읽음Sitemap읽음읽음읽음Crawl-delay무시읽음확인 안 됨Clean-param무시무시읽음Host무시무시확인 안 됨noindex무시확인 안 됨확인 안 됨Content-Signal무시확인 안 됨확인 안 됨두 번 테스트합니다. 공개하기 전에는 위의 공개 전 테스트에서 크롤러와 경로를 골라 판정을 내리는 규칙을 확인하세요. 올린 뒤에는 공개된 파일을 robots.txt 테스터로 검사하세요. 파일에 무엇이 적혀 있는지만큼 서버가 무엇을 응답하는지도 중요하기 때문입니다.
404를 응답하는 파일은 파일이 아예 없는 것으로 읽히므로 모든 크롤러가 모든 것을 가져갈 수 있습니다. 500이나 503을 응답하면 표준을 따르는 크롤러는 아무것도 가져가면 안 됩니다. RFC 9309 §2.3.1.4: 크롤러는 “완전한 차단을 가정해야 한다(MUST)”. Google은 자체 단계를 두어 이를 누그러뜨리며, 그 단계는 그림에 나와 있습니다.
Google 자체의 robots.txt 테스터는 사라졌습니다. Google 검색 센터가 2023년 11월 15일에 종료를 발표했고, 그 자리를 대신한 robots.txt 보고서는 Google이 가져온 파일을 보여 줄 뿐 규칙에 대해 URL을 테스트하지는 않습니다. 그 테스트는 위 생성기의 공개 전 테스트와 우리 robots.txt 테스터가 합니다.
200파일의 규칙을 따릅니다.301, 302리다이렉트를 적어도 다섯 번 따라간 뒤 멈춥니다. 그러면 Google은 파일을 404로 읽습니다.403, 404파일이 없는 것처럼 모든 것을 크롤링합니다.429아무것도 크롤링하지 않습니다. Google은 이를 4xx가 아니라 5xx 쪽으로 셉니다.500, 503표준에 따라 아무것도 크롤링하지 않습니다.존재하지 않는 이름읽을 사이트가 없으므로 판정도 없습니다.비용이 큰 실수는 저마다 짧은 한 줄입니다. 스테이징에서 남은 Disallow: /, 의도보다 넓게 걸리는 접두어, 경로로 적은 Sitemap: 줄, 앞의 슬래시가 빠진 경로, 그리고 Google이 2019년에 읽기를 멈춘 noindex 줄입니다.
여기서는 파일을 복사하기 전에 모두 잡아냅니다. 입력하는 동안 robots.txt 테스터 자체의 감사가 실행되고 그 지적 사항이 파일 아래에 표시됩니다. 크롤러가 거부할 줄은 아예 쓰지 않으며, 편집기는 그 줄이 왜 제외되었는지 해당 행에 알려 줍니다.
한 줄이 아니라 한 쌍인 실수도 있습니다. 여기서 차단한 URL의 페이지에 noindex도 붙어 있는 경우입니다. 크롤러는 그 페이지를 가져오지 않으므로 noindex를 결코 보지 못하고, URL은 검색 결과에 남을 수 있습니다. 둘 중 하나를 고르세요. 크롤링을 차단하거나, 크롤러를 들여보낸 뒤 색인하지 말라고 알리거나입니다.
Disallow: /스테이징의 흔적: 운영 중인 사이트 전체가 모든 크롤러에 닫혀 있습니다.Disallow: /admin/administrator와 /admin-tools도 차단합니다. 끝에 슬래시를 붙이세요.User-agent: * 아래의 Allow: /파일 어디에든 전용 그룹이 있는 크롤러는 읽지 않습니다.Sitemap: /sitemap.xmlSitemap 줄은 호스트가 포함된 전체 주소여야 합니다.Disallow: admin경로는 /에서 시작합니다. 이 규칙은 아무것에도 일치하지 않습니다.noindex: /private/2019년부터 무효입니다. 페이지는 계속 크롤링되고 색인될 수 있습니다.* 그룹을 아예 읽지 않는 경우입니다. 위의 편집기는 다른 규칙에 늘 지는 규칙을 표시하고, 공개 전 테스트는 판정을 내린 규칙과 크롤러가 읽은 그룹을 알려 줍니다.사이트의 robots.txt를 가져와 URL이 Googlebot이나 AI 크롤러에 차단되는지 테스트하고 구문 오류 찾기
웹사이트를 크롤링하여 XML 사이트맵, HTML 사이트맵, 사이트 구조도 생성
웹사이트의 XML 사이트맵을 찾아 구문, URL 한도, lastmod 날짜, robots.txt 충돌, 깨지거나 리다이렉트되는 URL 검증
페이지의 title, 메타 설명, canonical, hreflang, Open Graph·X 카드 태그를 Google 및 소셜 미리보기와 함께 확인
HTTP 응답 헤더 분석 및 보안 헤더 등급 평가
User Agent 문자열에서 브라우저, OS, 장치 유형, 렌더링 엔진, CPU 정보 감지