AI 크롤러용 robots.txt: 무엇을 허용하고 무엇을 차단할까
신경 쓰는 AI 크롤러마다 별도의 User-agent 그룹을 만드세요. 인용되기를 원한다면 OAI-SearchBot, Claude-SearchBot, PerplexityBot 같은 검색 크롤러를 허용하고, GPTBot, ClaudeBot, Google-Extended, Applebot-Extended 같은 학습 토큰은 따로 결정하세요. 이름을 지정한 그룹은 해당 크롤러에게 * 그룹을 대체합니다.
robots.txt는 1994년으로 거슬러 올라가는 일반 텍스트 파일로, 2022년에 정식 표준인 RFC 9309가 되었습니다. 대부분의 AI 벤더가 자사 크롤러가 이를 따른다고 밝히며, 몇몇은 검색용과 학습용 토큰을 따로 공개합니다. 규칙이 의도한 대로 해석된다면 robots.txt는 AI 정책을 밝히는 가장 간단한 장소입니다.
이 글의 목차
AI 크롤러는 어떤 robots.txt 토큰을 사용하나요?
다음은 각 벤더가 문서화한 토큰입니다. RFC 9309에서 일치 여부는 대소문자를 구분하지 않습니다.
- OpenAI:
OAI-SearchBot(ChatGPT 검색),GPTBot(학습),ChatGPT-User(사용자 요청 방문, OpenAI는 robots.txt가 적용되지 않을 수 있다고 함). - Anthropic:
Claude-SearchBot(검색),ClaudeBot(학습),Claude-User(사용자 요청 방문). - Perplexity:
PerplexityBot(검색),Perplexity-User(사용자 요청 방문, Perplexity는 일반적으로 robots.txt를 무시한다고 함). - Google:
Googlebot(AI 기능을 포함한 검색)과Google-Extended. 후자는 자체 크롤러가 없는 토큰으로, Gemini 학습과 그라운딩에서의 사용을 제어합니다. - Apple:
Applebot(Spotlight, Siri, Safari 검색)과Applebot-Extended. 후자는 크롤링하지 않으며 Apple 기반 모델 학습에 사용할지를 제어합니다. - Meta:
meta-externalagent(학습 및 제품 색인)와meta-webindexer(Meta AI 검색). - Common Crawl:
CCBot. Common Crawl의 무료 공개 웹 데이터 아카이브를 구축합니다.
좋은 AI용 robots.txt는 어떤 모습인가요?
이 예시는 AI 검색과 사용자 요청 가져오기는 허용하고, 주요 학습 토큰은 거부하며, 비공개 영역 하나는 모두에게 닫아 둡니다.
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: ChatGPT-User
User-agent: Claude-User
Allow: /
Disallow: /account/
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: CCBot
Disallow: /
User-agent: *
Allow: /
Disallow: /account/
Sitemap: https://example.com/sitemap.xml
User-agent 줄이 여러 개 연달아 있으면 하나의 그룹이 되어, 그 아래 규칙이 해당 크롤러 모두에 적용됩니다. 콘텐츠가 학습에 사용되어도 괜찮다면 두 번째 그룹을 빼면 됩니다. Google-Extended를 차단해도 Google 검색에는 영향이 없습니다. Google은 검색 포함 여부에 영향을 주지 않으며 순위 신호도 아니라고 밝힙니다. 마찬가지로 Apple도 Applebot-Extended를 차단한 페이지가 검색 결과에 나타날 수 있다고 밝힙니다.
크롤러는 어떤 규칙이 자신에게 적용되는지 어떻게 정하나요?
RFC 9309가 이를 정확하게 정의하며, 세부 내용을 알면 의외의 상황 대부분이 설명됩니다.
- 크롤러는
User-agent가 자신의 제품 토큰과 일치하는 그룹을 대소문자 구분 없이 찾습니다. 여러 그룹이 일치하면 그 규칙들이 하나로 합쳐집니다. - 일치하는 그룹이 없을 때에만 크롤러는
User-agent: *그룹을 따릅니다. 이름이 지정된 그룹은*에서 아무것도 상속하지 않습니다. - 그룹 안에서는 일치하는 경로가 가장 긴 규칙이 우선합니다.
/blog/post에 대해서는Allow: /blog/가Disallow: /보다 우선합니다. Allow와Disallow규칙이 같은 길이로 일치하면Allow를 써야 합니다.- 경로의
*는 모든 문자와 일치하고$는 끝을 고정하므로,Disallow: /*.pdf$는 모든 PDF를 포함합니다.
robots.txt에서 가장 흔한 실수는 무엇인가요?
- 이름이 지정된 그룹이
*에서 상속할 것이라고 기대하는 것.OAI-SearchBot그룹에Allow: /만 있으면*아래에서 차단한 경로를 포함해 모든 경로가 열립니다. - HTML 페이지를 반환하는 robots.txt 주소. 대개 상태 코드 200으로 제공되는 404 페이지입니다. 크롤러는 그 안에서 유효한 규칙을 찾지 못합니다.
- 서버 오류를 반환하는 robots.txt. RFC 9309에 따르면 이 경우 크롤러는 사이트 전체가 차단된 것으로 가정해야 합니다. 404는 다릅니다. 제한이 없다는 뜻입니다.
- 학습을 차단하려다 검색 토큰을 차단하는 것. 예를 들어 모델 학습을 피하려고
PerplexityBot이나Claude-SearchBot을 차단하는 경우입니다. - 사용자 요청 가져오기를 막기 위해 robots.txt에 의존하는 것. OpenAI와 Perplexity 모두 자사 user agent가 이를 따르지 않을 수 있다고 밝힙니다.
- 서브도메인을 잊는 것. 호스트마다 고유한 robots.txt가 있으며, Anthropic 문서도 사이트 운영자에게 서브도메인마다 규칙을 추가하라고 안내합니다.
허용과 차단 외에 AI 이용 정책을 밝힐 수 있나요?
Cloudflare는 robots.txt에 세 가지 신호를 가진 Content-Signal 줄을 제안했습니다. search(검색 색인 구축과 링크 및 짧은 발췌 표시), ai-input(AI 답변을 위한 콘텐츠의 실시간 사용), ai-train(모델 학습 또는 미세 조정)입니다. Cloudflare의 관리형 robots.txt가 이를 대신 추가해 줄 수 있습니다.
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
robots.txt의 다른 모든 것과 마찬가지로 이는 기술적 제어가 아니라 선호를 밝히는 것입니다. Cloudflare 스스로도 robots.txt 준수는 자발적이라고 밝힙니다. 이 줄은 선택 사항이며 해가 되지는 않지만, 위의 크롤러별 그룹을 대체하지는 않습니다.
변경 사항은 얼마나 걸리고 어떻게 확인하나요?
RFC 9309는 크롤러가 캐시된 robots.txt를 24시간 넘게 사용해서는 안 된다고 하며, OpenAI와 Perplexity 모두 변경 사항이 적용되기까지 하루 정도 걸릴 수 있다고 밝힙니다. 또한 robots.txt는 접근 제어가 아니라는 점을 기억하세요. 규칙이 허용하는 크롤러도 방화벽이 차단할 수 있습니다.
AISeeWhy는 테스트하는 각 크롤러에 대해 RFC 9309에 따라 robots.txt를 분석하고, 접근할 수 없거나 HTML로 제공되는 파일을 표시하며, 규칙과 서버가 어긋나는 지점을 보여주고, 변경에 쓸 수 있는 diff를 제공합니다.
자주 묻는 질문
GPTBot이나 ClaudeBot을 차단하면 AI 답변에서의 노출이 줄어드나요?
직접적으로는 아닙니다. 두 벤더 모두 검색에는 별도의 검색 크롤러인 OAI-SearchBot과 Claude-SearchBot을 사용합니다. 학습 크롤러를 차단할지는 정책 선택입니다.
Google-Extended가 AI Overviews를 막아 주나요?
아닙니다. Google은 검색의 AI 기능이 Googlebot과 nosnippet, noindex 같은 일반 검색 제어를 사용한다고 밝힙니다. Google-Extended는 다른 Google 제품에서의 Gemini 학습과 그라운딩을 다루며 검색에는 영향을 주지 않습니다.
AI 크롤러는 Crawl-delay를 지원하나요?
RFC 9309에는 포함되어 있지 않습니다. Anthropic은 비표준 확장으로 Crawl-delay를 지원한다고 밝히며, 다른 벤더는 해당 문서를 확인하세요.
robots.txt는 어디에 있어야 하나요?
각 호스트의 루트입니다. 예를 들어 https://example.com/robots.txt입니다. 하위 폴더에 있는 파일은 무시되며, 각 서브도메인에는 자체 파일이 필요합니다.
참고 자료
- RFC 9309: Robots Exclusion Protocol
- OpenAI: OpenAI 크롤러 개요
- Google: Google-Extended를 포함한 주요 크롤러
- Apple: Applebot 소개
- Cloudflare: 관리형 robots.txt와 Content Signals