robots.txt AI 크롤러 차단, 응답 코드·그룹 규칙·로그로 확인
robots.txt의 AI 크롤러 차단 여부를 확인하는 방법입니다. 호스트별 응답 코드와 크롤러별 그룹 규칙, 서버 로그를 차례로 봅니다. 이상 신호별 원인 후보와 기록 양식도 담았습니다.

robots.txt의 AI 크롤러 차단 여부는 Disallow 줄만으로 판단할 수 없습니다. 세 가지를 함께 확인해야 합니다. 루트 파일의 응답 코드, 크롤러 이름이 받는 그룹 규칙, 방화벽·CDN(콘텐츠 전송망: 사이트를 여러 지역 서버에 나눠 전달하는 서비스)의 앞단 차단입니다.
셋 중 하나만 어긋나도 결과가 의도와 달라집니다. 파일에는 허용으로 적혀 있어도 수집이 막힐 수 있습니다. 한 줄짜리 규칙이 의도하지 않은 크롤러에 적용되기도 합니다.
어느 호스트의 robots.txt를 열어야 하나요?
Google 문서에 따르면 robots.txt는 사이트 최상위 디렉터리에 있어야 합니다. 하위 폴더에 둔 파일은 무시됩니다. 규칙은 파일이 놓인 호스트·프로토콜·포트에만 적용됩니다.
따라서 www가 붙은 주소와 붙지 않은 주소를 각각 확인해야 합니다. blog·newsroom 같은 하위 도메인도 따로 봅니다. Anthropic 도움말도 차단을 원하는 하위 도메인마다 규칙을 넣으라고 안내합니다.
실무에서는 AI 답변에 인용되기를 원하는 페이지가 어느 호스트에 있는지 먼저 목록으로 만드는 방법을 권합니다. Search Console robots.txt 보고서는 도메인 속성의 상위 20개 호스트에서 Google이 찾은 파일을 보여 주므로 대조 자료가 됩니다. 이 보고서는 Google 크롤러 기준이며, 다른 AI 크롤러는 서버 로그로 확인합니다.
robots.txt가 정상으로 열리는지는 어떻게 판단하나요?
파일을 열면 화면 내용보다 응답 코드를 먼저 봅니다. Google 문서와 robots.txt 표준인 RFC 9309(국제 인터넷 표준 문서)는 응답 코드에 따라 파일을 다르게 해석합니다.
| 응답 결과 | 공식 문서의 해석 | 확인할 점 |
|---|---|---|
| 200 정상 | 파일 내용대로 규칙을 적용합니다. | 그룹과 경로 규칙을 읽습니다. |
| 3xx 리디렉션 | Google은 최소 5회까지 따라가고, 그 안에 닿지 못하면 404로 처리합니다. | 최종 도착지가 텍스트 파일인지 봅니다. |
| 4xx(429 제외) | 파일이 없는 것으로 보고 제한 없이 수집합니다. | 차단 규칙을 넣었다면 배포 누락을 의심합니다. |
| 5xx·429·연결 실패 | Google은 처음 12시간 크롤링을 멈추고, 이후 30일간 마지막 정상 사본을 씁니다. 30일 뒤에도 오류가 이어지면 사이트 상태에 따라 제한 없음으로 보거나 크롤링을 중단합니다. RFC 9309는 접근할 수 없으면 전체 차단으로 가정하라고 정합니다. | 오류가 간헐적인지, 서버 부하가 원인인지 봅니다. |
| 파일 500KiB 초과 | Google은 500KiB까지만 읽고 나머지는 무시합니다. | AI 크롤러 규칙이 파일 뒤쪽에 있는지 봅니다. |
어떤 크롤러 이름을 찾아야 하나요?
User-agent 줄에는 크롤러가 공개한 토큰(크롤러 식별 이름)을 적습니다. 주요 AI 서비스가 공식 문서에 밝힌 토큰은 다음과 같습니다.
| 서비스 | 토큰 | 공식 문서가 밝힌 용도 | robots.txt 적용 |
|---|---|---|---|
| OpenAI | GPTBot | 생성형 AI 기초 모델 학습에 쓰일 수 있는 콘텐츠 수집 | 적용 |
| OpenAI | OAI-SearchBot | ChatGPT 검색 기능에 사이트 표시 | 적용 |
| OpenAI | ChatGPT-User | 사용자 요청에 따른 페이지 방문 | 적용되지 않을 수 있음 |
| Anthropic | ClaudeBot | 모델 학습에 쓰일 수 있는 콘텐츠 수집 | 적용 |
| Anthropic | Claude-SearchBot | 검색 결과 품질 향상을 위한 수집 | 적용 |
| Anthropic | Claude-User | 사용자 질문에 답하기 위한 접근 | 적용(차단하면 사용자 검색 노출이 줄 수 있음) |
| Perplexity | PerplexityBot | Perplexity 검색 결과에 사이트 표시와 링크 | 적용(문서는 허용을 권장) |
| Perplexity | Perplexity-User | 사용자 질문에 답하기 위한 방문 | 대체로 따르지 않음 |
| Google-Extended | Gemini 학습과 그라운딩(답변 생성 시 검색 색인 활용)에 쓸지 제어 | 제어 전용 토큰 |
Google 문서는 Google-Extended가 Google 검색 포함 여부에 영향을 주지 않는다고 밝힙니다. 이 토큰은 별도의 HTTP 사용자 에이전트가 없습니다. 방문 기록이 따로 남지 않으므로 robots.txt 파일에서만 확인합니다.
Googlebot 그룹의 규칙은 Google 검색, Discover, 이미지 등 여러 제품에 영향을 줍니다. AI 관련 규칙을 고치면서 Googlebot 그룹까지 바뀌지 않았는지도 살핍니다.
파일 속 규칙은 특정 크롤러에 어떻게 적용되나요?
Google 문서와 RFC 9309 기준으로 크롤러는 자기 이름과 일치하는 그룹만 따릅니다. 이름이 맞는 그룹이 있으면 전체 대상(*) 그룹의 규칙은 합쳐지지 않습니다. 크롤러 이름은 대소문자를 구분하지 않지만, 경로는 구분합니다.
토큰 하나를 판정하는 순서는 다음과 같습니다.
- User-agent 줄에서 확인할 토큰을 찾습니다. 같은 토큰이 여러 그룹에 나오면 규칙을 합쳐서 봅니다.
- 이름이 맞는 그룹이 없으면 * 그룹을 적용합니다. * 그룹도 없으면 제한이 없습니다.
- 인용되기를 원하는 URL마다 일치하는 Allow·Disallow 경로를 모두 찾습니다.
- 가장 긴 경로의 규칙을 따릅니다. 길이가 같으면 덜 제한적인 Allow를 따릅니다.
- *는 임의의 문자열, $는 URL의 끝을 뜻한다는 점을 반영해 최종 판정합니다.
예를 들어 가상의 ○○ 기업 robots.txt가 다음 두 그룹으로 되어 있다고 가정합니다.
| 그룹 | 규칙 줄 |
|---|---|
| User-agent: * | Disallow: /admin/ |
| User-agent: OAI-SearchBot | Disallow: /Products/ |
담당자는 모든 크롤러에 관리자 경로를 막고, OAI-SearchBot에는 제품 경로까지 막을 의도였을 수 있습니다. 실제 결과는 다릅니다. OAI-SearchBot은 자기 그룹만 따르므로 /admin/ 차단을 받지 않습니다. 경로는 대소문자를 구분하므로 소문자 /products/ 페이지도 열려 있습니다. 이름이 따로 없는 ClaudeBot은 * 그룹을 따라 /admin/만 막힙니다.
파일은 허용인데 실제로 막히는 원인은 무엇인가요?
파일 판정이 허용이어도 수집이 막혀 있을 수 있습니다. 이상 신호와 원인 후보를 짝지으면 다음과 같습니다.
| 이상 신호 | 원인 후보 | 확인 방법 |
|---|---|---|
| 파일은 허용인데 로그에 해당 크롤러 요청이 403이나 차단 페이지로 남음 | WAF(Web Application Firewall: 웹 공격을 걸러 내는 보안 장비)·CDN의 봇 차단 규칙 | 보안 장비 차단 기록에서 토큰과 IP를 검색합니다. |
| 로그에 해당 크롤러의 /robots.txt 요청이 없음 | IP 차단으로 파일 자체를 읽지 못함 | IP 차단 목록과 각 서비스의 공개 IP 목록을 대조합니다. |
| robots.txt 보고서에 「가져오지 않음 - 기타 이유」 표시 | 404 외의 가져오기 실패 | 보고서에서 해당 호스트 상태를 보고, 도움말이 안내하는 색인 생성 문제 목록에서 사유를 찾습니다. |
| 같은 크롤러의 수집이 날짜마다 들쭉날쭉함 | robots.txt의 간헐적 5xx 응답 | 시간대별 robots.txt 응답 코드를 비교합니다. |
| www와 비 www 주소의 파일 내용이 다름 | 호스트별 파일 중 일부만 갱신됨 | 호스트별 파일을 나란히 비교합니다. |
| 새로 넣은 규칙이 반영되지 않음 | 500KiB 초과, 문법 오류 줄 | 파일 크기와 보고서의 오류 수를 봅니다. |
Search Console 도움말에 따르면 오류는 해당 규칙을 쓸 수 없게 만들고, 경고는 규칙 사용을 막지 않습니다. 원인 후보가 보안 장비 쪽이면 호스팅·보안 담당자에게 다음 문안으로 확인을 요청할 수 있습니다.
- www, 비 www, 하위 도메인 각각의 robots.txt 응답 코드와 최근 30일 변경 이력을 알려 주십시오.
- 방화벽·CDN 봇 차단 규칙 가운데 GPTBot, OAI-SearchBot, ClaudeBot, Claude-SearchBot, PerplexityBot이 포함된 규칙이 있는지 알려 주십시오.
- 최근 7일간 위 이름으로 들어온 요청의 응답 코드별 건수를 공유해 주십시오.
- 차단 규칙이 있다면 적용 시점과 설정 사유를 함께 알려 주십시오.
서버 로그와 보고서로 결과를 어떻게 교차 확인하나요?
로그에서 실제 방문을 가려내기
웹 서버 접속 기록에서 사용자 에이전트(요청을 보낸 프로그램이 스스로 밝히는 이름)에 토큰이 들어간 요청을 고릅니다. 요청 경로와 응답 코드를 함께 봅니다.
사용자 에이전트는 다른 프로그램이 흉내 낼 수 있으므로 IP까지 대조합니다. OpenAI와 Perplexity는 크롤러별 IP 대역을 JSON 목록(기계가 읽는 형식의 목록)으로 공개합니다. Perplexity 문서는 최신 목록을 쓰고 주기적으로 받아 갱신하라고 권합니다.
Anthropic은 크롤러 출발 IP를 하나의 목록으로 공개합니다. 다만 IP 차단은 크롤러가 robots.txt를 읽지 못하게 해 의도대로 작동하지 않을 수 있다며, 수집 거부는 robots.txt로 하라고 안내합니다.
- OpenAI 문서 기준으로 GPTBot과 OAI-SearchBot을 모두 허용하면 한 번의 수집 결과를 두 용도에 함께 쓸 수 있습니다. 한쪽 이름만 보여도 다른 쪽이 차단됐다고 단정하지 않습니다.
- ChatGPT-User와 Perplexity-User는 사용자 요청으로 방문하며 robots.txt를 따르지 않을 수 있습니다. Disallow 경로에서 이 방문이 보여도 파일 오류의 증거로 보지 않습니다.
판정 기록 양식
예를 들어 가상의 ○○ 기업이라면 다음처럼 기록할 수 있습니다.
| 호스트 | 토큰 | 적용 그룹 | 확인 URL | 판정 | 로그 응답 코드 | 확인일 |
|---|---|---|---|---|---|---|
| www | OAI-SearchBot | OAI-SearchBot | /products/a | 허용 | 200 | 2026-10-29 |
| newsroom | ClaudeBot | * | /press/2026 | 허용 | 403 | 2026-10-29 |
둘째 행처럼 파일 판정은 허용인데 로그가 403이면 앞 절의 첫 번째 이상 신호에 해당합니다.
규칙을 고친 뒤 다시 확인하기
Google 문서는 robots.txt를 대체로 최대 24시간 캐시한다고 설명합니다. RFC 9309도 24시간을 넘는 캐시 사용을 피하라고 정합니다. OpenAI 문서는 검색 반영에 약 하루가 걸릴 수 있다고 하고, Perplexity 문서는 최대 24시간을 밝힙니다.
Search Console robots.txt 보고서에서는 파일마다 재크롤링을 요청할 수 있습니다. 도움말은 차단을 푼 URL을 즉시 다시 크롤링한다는 보장은 없다고 설명합니다. 버전 이력에는 최근 30일 요청 가운데 파일이나 가져오기 결과가 이전과 달라진 것만 표시됩니다.
정리
- 인용을 원하는 페이지가 있는 호스트를 모두 적고, 호스트마다 robots.txt 응답 코드를 기록합니다.
- 토큰 표의 이름별로 적용 그룹과 핵심 URL 판정을 기록 양식에 채웁니다.
- 서버 로그에서 각 서비스의 공개 IP 목록과 일치하는 요청만 골라 응답 코드를 확인합니다.
- 요청 문안으로 방화벽·CDN 차단 규칙을 담당자에게 확인합니다.
- 규칙을 고쳤다면 다음 날 Search Console 보고서와 로그를 다시 확인합니다.
이 글은 일반적인 정보 제공을 위한 것이며, 글 속 수치와 사례는 인용한 출처 기준입니다.

