AI 크롤러를 위한 robots.txt: GPTBot, ClaudeBot, PerplexityBot 설명
요약
AI 기업들이 사용하는 다양한 크롤러(GPTBot, ClaudeBot 등)의 작동 방식과 목적을 설명합니다. 학습용 크롤러와 검색/답변 크롤러를 구분하여, 웹사이트가 어떤 종류의 AI 사용을 허용할지 정책을 수립하는 데 도움을 줍니다.
핵심 포인트
- AI 기업들은 자체 사용자 에이전트를 가진 크롤러를 운영합니다.
- 학습 크롤러는 모델 구축에 콘텐츠를 수집하며, 검색/답변 크롤러는 인용 출처로 페이지를 가져옵니다.
- robots.txt는 접근 제어가 아닌 요청일 뿐이며, 모든 정책은 최신 문서를 확인해야 합니다.
현재 AI 기업들은 자체 크롤러를 운영하고 있으며, 대부분은 robots.txt에 기재할 수 있는 사용자 에이전트(user-agent) 이름으로 자신을 식별합니다. 이 가이드는 주요 크롤러들이 무엇을 하는지, 학습용 크롤러가 검색 및 답변 크롤러와 어떻게 다른지 설명하며, 세 가지 일반적인 정책에 대한 복사 붙여넣기 규칙을 제공합니다. 배포하기 전에 각 공급업체의 최신 문서를 통해 세부 사항을 확인하십시오.
먼저 한 가지 제한 사항이 있습니다: robots.txt는 접근 제어(access control)가 아니라 요청일 뿐입니다. 행동이 올바른 크롤러들은 이를 준수합니다. 무시하는 스크레이퍼(Scrapers)는 이로 인해 막히지 않으며, 다른 사이트에서 링크를 거는 경우 차단된 URL이라도 검색 결과에 나타날 수 있습니다.
크롤러들
GPTBot은 OpenAI의 크롤러입니다. OpenAI는 이를 모델 학습에 사용될 수 있는 웹 콘텐츠를 수집하는 것으로 문서화하고 있습니다.
OAI-SearchBot은 ChatGPT 검색을 위한 OpenAI의 크롤러입니다. 이는 페이지를 색인화하여 ChatGPT가 검색 결과에서 해당 페이지를 보여주고 인용할 수 있도록 합니다. GPTBot과는 별개이므로, 하나는 허용하고 다른 하나는 차단할 수 있습니다.
ChatGPT-User는 사용자가 대화 중에 ChatGPT에게 특정 페이지를 열도록 요청할 때 실행됩니다. 이는 일괄 크롤링(bulk crawl)이라기보다는 사용자 트리거형이며, OpenAI는 robots.txt 규칙이 이러한 요청에 적용되지 않을 수 있다고 언급합니다.
ClaudeBot은 Anthropic의 크롤러로, 학습에 사용될 수 있는 콘텐츠를 수집하는 데 사용됩니다. Anthropic은 또한 검색 및 사용자 요청 가져오기(user-requested fetching)를 위한 별도의 에이전트를 문서화하고 있으므로, 규칙을 작성하기 전에 현재 목록을 확인하십시오.
PerplexityBot은 Perplexity의 답변과 인용을 위해 페이지를 색인화합니다. Perplexity는 robots.txt를 존중한다고 밝히고 있습니다. 사용자가 트리거하는 가져오기 도구인 Perplexity-User는 ChatGPT-User와 유사하게 작동합니다.
Google-Extended는 크롤러가 아닙니다. 이는 Google이 이미 크롤링한 콘텐츠를 Gemini 학습 및 특정 접지(grounding) 기능에 사용할 수 있는지 제어하는 robots.txt 토큰입니다. Googlebot은 이 토큰을 차단하더라도 검색을 위해 계속 사이트를 크롤링하므로, Google-Extended를 차단한다고 해서 Google 검색에서 제외되는 것은 아닙니다.
학습용 크롤러 대 검색 및 답변 크롤러
유용한 구분점은 목적입니다.
- **학습 크롤러 (Training crawlers)**는 미래 모델 버전을 구축하기 위해 콘텐츠를 수집합니다. GPTBot, ClaudeBot, 그리고 Google-Extended 토큰이 여기에 속합니다. 이들을 차단하는 것은 향후 학습 사용을 원하지 않는다는 신호입니다. 이는 이미 발생한 학습을 되돌리지는 않습니다.
- **검색 및 답변 크롤러 (Search and answer crawlers)**는 비서가 페이지를 찾아 인용할 수 있도록 페이지를 가져옵니다. OAI-SearchBot과 PerplexityBot이 여기에 속합니다. 이들을 차단하면 귀하의 페이지가 출처로 나타날 가능성이 낮아집니다.
- **사용자 트리거 페처 (User-triggered fetchers)**는 ChatGPT-User와 같이 누군가가 요청했기 때문에 한 페이지를 요청하는 경우입니다.
AI 답변으로부터 인용과 추천 트래픽을 원한다면, 검색 크롤러를 허용해야 합니다. 만약 귀하의 반대가 오직 학습에만 국한된다면, 학습 에이전트를 차단하고 검색 에이전트는 열어두십시오.
예시 규칙
모든 것을 허용. 이것이 기본값이며 명시적으로 작성됩니다:
User-agent: *
Allow: /
학습은 차단하고, 검색 및 답변은 허용:
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
...
이 모든 AI 크롤러를 차단:
User-agent: GPTBot
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
...
크롤러는 자신을 명명한 그룹을 따르고 * 그룹은 무시합니다. 따라서 차단하는 봇들은 *가 모든 것을 허용하더라도 계속 차단된 상태를 유지합니다. * 그룹은 Googlebot이나 Bingbot처럼 귀하가 이름을 지정하지 않은 크롤러에 적용됩니다.
일반적인 실수
User-agent: *와Disallow: /로 모든 것을 차단하는 것. 이는 Google과 Bing에서도 사이트를 숨깁니다. AI 전용 정책이라면 봇 이름을 명시해야 합니다.- Google-Extended가 검색을 제어한다고 생각하기 쉽습니다. 이는 오직 AI 학습 및 접지(grounding) 사용에만 영향을 미칩니다. Googlebot을 차단하는 것이 검색에서 제외되는 이유입니다.
- 파일을 잘못된 위치에 두는 것. 파일은
https://example.com/robots.txt에 있어야 합니다.blog.example.com과 같은 각 서브도메인은 자체 파일이 필요합니다. - 경로의 대소문자를 틀리는 것.
/Blog/와/blog/는 다른 경로입니다. 봇 이름은 대소문자를 구분하지 않지만, 제조사(vendor)가 표기한 철자를 복사하는 것이 좋습니다. - 적용된다고 가정하는 것. Robots.txt는 자발적인 규칙입니다. 강력하게 차단해야 한다면 서버, CDN 또는 WAF 규칙을 사용해야 합니다. 403을 반환하는 봇 보호 규칙은 robots.txt와 관계없이 크롤러를 차단합니다.
- 페이지 제거에 사용하는 것. 차단은 크롤링을 중지시키므로 검색 엔진이 차단된 페이지의 noindex 태그를 볼 수 없습니다. 페이지를 색인에서 유지하려면 크롤링을 허용하고 noindex를 사용하거나, 페이지 자체를 삭제해야 합니다.
- 재확인을 잊는 것. 크롤러 이름은 변경되며, CMS나 CDN 배포가 파일을 덮어쓸 수 있습니다.
테스트 방법
- 파일이 활성화되었는지 확인합니다.
https://example.com/robots.txt를 열어봅니다. 200과 일반 텍스트가 반환되어야 합니다. HTML 페이지는 CMS가 대체(fallback) 기능을 제공하고 있다는 의미이며, 404는 규칙 자체가 존재하지 않는다는 의미입니다. - 파서로 규칙을 확인합니다. Python의 표준 라이브러리는 간단한 파일을 처리합니다:
from urllib.robotparser import RobotFileParser
rp = RobotFileParser("https://example.com/robots.txt")
...
이것은 와일드카드 처리가 Google과 다르므로, 주요 경로는 두 번째 파서로 검증해야 합니다.
- 로그를 확인합니다. 검색 접근 로그에서 사용자 에이전트(user-agent) 문자열을 찾습니다. 허용된 봇은 페이지에 도달해야 하며, 차단된 봇은 robots.txt만 요청해야 합니다. 사용자 에이전트 문자열은 위변조될 수 있으므로, 제조사가 범위(range)를 게시하는 IP 주소로 중요한 봇을 검증합니다.
- 배포 후 항상 재테스트합니다. 활성화된 파일이 여전히 의도와 일치하는지 확인합니다.
마무리
먼저 정책을 결정하세요: 모두 허용, 학습만 차단, 또는 모든 것을 차단. 신경 쓰는 봇들을 위해 이름 지정된 그룹을 작성하고, 루트 디렉토리에 파일을 호스팅하며, 로그와 파서를 통해 검증하세요.
이러한 그룹들을 직접 타이핑하는 것보다 생성하는 것이 더 편하다면, https://citescore.vercel.app/robots-txt-ai-crawler-generator의 무료 생성기를 사용해 보세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기