Tenten AIGEO
블로그로 돌아가기
기술 AEO 구현도입·실행

robots.txt로 GPTBot·ClaudeBot·PerplexityBot 제어하기: AI 크롤러 허용·차단 설정 총정리

robots.txt로 GPTBot, ClaudeBot, PerplexityBot을 제어하려면 어떻게 해야 할까요? AI 학습 크롤러와 검색 크롤러의 차이를 짚고, ‘인용은 허용하고 학습은 차단하는’ 설정과 ‘전면 차단’ 설정 예시를 각각 제공합니다. 설정이 제대로 적용됐는지 확인하고 실수로 AI 답변에서 자사 콘텐츠를 제외하는 일을 피하는 방법도 알아봅니다.

Tenten GEO 팀게시일 2025-06-225 분 소요
어두운 배경 속 빛나는 검문 지점에서 AI 크롤러를 분기해 일부는 밝은 쪽으로 통과시키고 일부는 그림자 속에 차단하는 콘셉트 이미지

robots.txt에서 AI 크롤러를 무작정 차단하는 행위는 콘텐츠를 보호하는 것이 아니라 ChatGPT, Perplexity, Claude의 답변에서 자사 콘텐츠를 스스로 제외하는 결과로 이어질 수 있습니다. OpenAI, Anthropic, Perplexity는 크롤러 하나만 운영하지 않습니다. 회사마다 두세 종류의 크롤러를 두고, 하나는 향후 모델 학습을 위해 콘텐츠를 수집하며 다른 하나는 실시간으로 페이지를 검색해 답변에 출처 링크를 표시합니다. 일반적으로 차단하려는 대상은 전자이고 반드시 열어 둬야 할 대상은 후자입니다. 하지만 User-agent: *와 Disallow: /만 일괄 적용하면 둘 다 막히게 됩니다.

학습 크롤러와 검색 크롤러는 역할이 다릅니다

OpenAI를 예로 들면 GPTBot은 향후 모델 학습에 활용할 말뭉치에 콘텐츠를 수집하고, OAI-SearchBot은 페이지를 ChatGPT 검색 인덱스에 반영해 실시간 답변에서 출처 링크와 함께 인용될 수 있도록 합니다. ChatGPT-User는 대화 중 사용자가 특정 URL 방문을 요청할 때만 작동합니다. 따라서 GPTBot을 차단해도 ‘콘텐츠가 학습에 쓰이는지’에만 영향을 줄 뿐, 현재 시점에 ChatGPT가 해당 콘텐츠를 출처로 활용할 수 있는지와는 무관합니다. Anthropic과 Perplexity도 명칭만 다를 뿐 비슷하게 역할을 나눕니다. 이 구분을 놓치면 열어 둬야 할 크롤러를 막고, 정작 차단하려던 크롤러는 놓치게 됩니다.

  • "GPTBot"(OpenAI): 기반 모델 학습용 콘텐츠를 수집합니다. 차단해도 ChatGPT 검색에서 바로 사라지는 것은 아닙니다.
  • "OAI-SearchBot"(OpenAI): ChatGPT 검색과 실시간 답변을 위해 콘텐츠를 색인하고 출처 인용을 제공합니다. 인용되길 원한다면 허용해야 합니다.
  • "ChatGPT-User"(OpenAI): 대화 중 사용자가 특정 URL 방문을 직접 요청할 때 작동합니다.
  • "ClaudeBot"(Anthropic): 학습 및 모델 활용을 위한 콘텐츠를 수집합니다.
  • "Claude-SearchBot"과 "Claude-User"(Anthropic): 각각 검색 인덱싱과 사용자가 요청한 페이지 검색을 담당합니다.
  • "PerplexityBot"(Perplexity): Perplexity 답변 엔진을 위해 콘텐츠를 색인합니다. 이를 차단하면 Perplexity의 출처 인용 대상에서 제외되는 것과 같습니다.
  • "Perplexity-User"(Perplexity): 사용자가 질문할 때 즉시 콘텐츠를 가져옵니다. robots.txt를 완전히 준수하지 않는다는 지적을 받은 바 있습니다.
  • 그 밖의 주요 대상: "Google-Extended"(실제 크롤러가 아니라 콘텐츠의 Gemini 학습 및 그라운딩 사용 여부를 정하는 제어 항목), "CCBot"(여러 모델의 학습 말뭉치 원천인 Common Crawl), "Bytespider"(수집 강도가 높은 ByteDance 크롤러)가 있습니다.

robots.txt의 기본 원칙부터 확인하세요

robots.txt는 반드시 도메인의 루트 디렉터리에 둬야 하며 URL은 ‘도메인/robots.txt’로 고정됩니다. 호스트마다 파일도 별개입니다. blog.example.com과 www.example.com은 서로 다른 호스트이므로 전자의 규칙으로 후자를 제어할 수 없습니다. http와 https, 서로 다른 포트도 각각 다른 출처로 취급됩니다. 핵심 문법은 세 가지입니다. User-agent는 적용 대상을 지정하고, Disallow는 경로를 차단하며, Allow는 예외적으로 허용할 경로를 정합니다. Allow와 Disallow가 충돌하면 주요 검색 엔진은 일반적으로 ‘더 긴 경로 우선’ 원칙을 적용합니다. 따라서 넓은 범위를 차단한 상태에서도 Allow로 일부 경로만 열 수 있습니다.

  • robots.txt는 ‘요청’이지 ‘방화벽’이 아닙니다. GPTBot, ClaudeBot, Googlebot처럼 규칙을 준수하는 크롤러는 따르지만, 악성 크롤러나 규칙을 무시하는 크롤러는 우회할 수 있습니다. 강제로 차단하려면 서버 계층의 WAF, 방화벽 규칙 또는 인증 메커니즘이 필요합니다.
  • 크롤링 차단이 기존 데이터 삭제를 뜻하지는 않습니다. robots.txt는 ‘앞으로 수집할 수 있는지’에만 영향을 주며, 이미 학습 데이터에 포함된 콘텐츠까지 삭제하지는 못합니다.
  • User-agent 이름은 정확해야 합니다. 대소문자는 구분하지 않지만 GPT-Bot이나 Perplexity Bot처럼 잘못 표기하면 설정하지 않은 것과 같습니다. 각 규칙 그룹은 일치하는 User-agent에만 적용됩니다.

시나리오 1: 출처 인용은 허용하고 모델 학습은 차단하기(대부분의 B2B SaaS에 적합한 기본안)

AI 답변에 자사 콘텐츠가 출처로 표시되길 원하지만 차세대 모델 학습에 무상으로 활용되는 것은 원하지 않는다면, 검색 크롤러는 허용하고 학습 크롤러는 차단하면 됩니다. 이는 당사가 대부분의 B2B 고객사에 적용하는 기본 구성입니다. 브랜드 노출을 우선 확보하고, 학습 허용 여부는 별도로 선택하는 방식입니다. 실제 설정에서는 각 크롤러를 독립된 User-agent 그룹으로 작성하고 개별 규칙을 지정합니다. 검색 크롤러에 Allow: /를 명시하면 허용 의도를 분명히 밝히는 동시에 기존의 사이트 전체 차단 설정보다 우선 적용되도록 할 수 있습니다.

  • User-agent: GPTBot → Disallow: / (학습 크롤러, 차단)
  • User-agent: ClaudeBot → Disallow: / (학습 크롤러, 차단)
  • User-agent: CCBot → Disallow: / (Common Crawl 학습 말뭉치, 차단)
  • User-agent: OAI-SearchBot → Allow: / (ChatGPT 검색 인용, 허용)
  • User-agent: PerplexityBot → Allow: / (Perplexity 인용, 허용)
  • User-agent: Claude-SearchBot → Allow: / (Claude 검색 인용, 허용)
  • Gemini 학습에 포함되길 원하지 않는다면 User-agent: Google-Extended → Disallow: /를 추가할 수 있습니다(구글 검색 순위에는 영향을 주지 않음).
학습 크롤러는 차단하고 검색 크롤러는 허용해 AI 인용 노출을 유지하는 robots.txt 분기 안내도
하나의 robots.txt에서 학습 크롤러는 차단하고, 자사 콘텐츠를 출처로 인용하는 검색 크롤러는 허용할 수 있습니다.

시나리오 2: 출처 인용까지 포함해 AI 접근을 전면 차단하기

유료 장벽 뒤에 있는 콘텐츠, 규정 준수에 민감한 정보, 라이선스 협상 중인 자료는 검색 단계부터 차단해야 할 수 있습니다. 이때는 알려진 모든 AI User-agent를 하나씩 나열하고 각각 Disallow: /를 설정합니다. 다만 대가가 따릅니다. 차단 이후에는 AI 답변에서 자사 콘텐츠가 인용될 가능성이 0으로 돌아가며, 성장 중인 검색 유입 채널에서 자발적으로 철수하는 것과 같습니다. 따라서 이는 대개 방어적이고 일시적인 설정이며, B2B 마케팅 웹사이트의 기본값으로 삼기에는 적합하지 않습니다.

  • OpenAI: GPTBot, OAI-SearchBot, ChatGPT-User에 각각 Disallow: /를 설정합니다.
  • Anthropic: ClaudeBot, Claude-SearchBot, Claude-User에 각각 Disallow: /를 설정합니다.
  • Perplexity: PerplexityBot과 Perplexity-User에 각각 Disallow: /를 설정합니다.
  • 선택적 추가 차단: Google-Extended, Applebot-Extended, Bytespider, CCBot에도 각각 Disallow: /를 설정합니다.

‘AI 전체 원클릭 차단’ 템플릿으로 GEO를 해치지 마세요

인터넷에는 ‘이 내용을 robots.txt에 붙여 넣으면 AI를 차단할 수 있다’는 템플릿이 많이 공유됩니다. 문제는 이런 템플릿이 모든 AI User-agent에 Disallow: /를 적용해, 자사 콘텐츠를 인용하는 검색 크롤러까지 막는다는 점입니다. 콘텐츠를 보호한다고 생각했지만 실제로는 ChatGPT 검색, Perplexity, Claude의 출처 목록에서 스스로 빠지는 셈입니다. AI 답변에서 인용되고 싶은 B2B 브랜드라면 대부분 역효과가 납니다. 템플릿을 적용하기 전에 반드시 학습을 막는 설정인지, 검색을 막는 설정인지 확인해야 합니다.

설정이 실제로 적용됐는지 확인하는 방법

  • 직접 확인: 브라우저에서 자사 도메인 뒤에 /robots.txt를 붙여 엽니다. 파일이 존재하고 루트 디렉터리에 있으며 각 그룹 이름에 오탈자가 없는지 확인합니다.
  • 서버 로그 확인: User-agent 필드에서 GPTBot, ClaudeBot, PerplexityBot을 검색합니다. 차단한 대상에는 403이 반환되고, 허용한 대상은 페이지를 정상적으로 수집하는지 확인합니다.
  • 실제 크롤러 여부 검증: AI 크롤러의 User-agent는 위조할 수 있습니다. OpenAI와 Anthropic은 공식 IP 대역을 공개하므로, 역방향 DNS 조회와 정방향 DNS 조회를 교차 검증해 가짜 크롤러에 속지 않도록 합니다.
  • 요청 시뮬레이션: curl에서 해당 User-agent를 지정해 페이지를 요청하고, robots.txt 규칙에 따라 예상대로 허용 또는 차단되는지 확인합니다.
  • 정기 검토: 각 회사는 User-agent를 추가하거나 이름을 변경할 수 있습니다. 예를 들어 OAI-SearchBot은 이후 GPTBot에서 별도로 분리됐습니다. 분기마다 확인해 설정이 낡지 않도록 관리합니다.
robots.txt는 금고가 아니라 출입문 앞의 안내판입니다. 어떤 AI를 들이고 어떤 AI를 막을지 정하는 장치입니다. GEO 환경에서 검색 크롤러를 막는 것은 비즈니스 기회까지 막는 것과 같습니다.Tenten GEO Consulting Team

robots.txt 설정은 GEO 기술 기반을 갖추는 첫 단계에 불과합니다. AI가 자사 콘텐츠를 실제로 인용할지는 구조화된 정보, llms.txt, 콘텐츠의 원활한 추출 가능 여부, 각 엔진에서의 실질적인 브랜드 노출 등 여러 요소에 좌우됩니다. 자사 콘텐츠가 AI에 인용되고 있는지, 오히려 자체 robots.txt에 막혀 있는지 확인하고 싶다면 30분 GEO 진단을 예약해 보세요. 실제 도메인을 기준으로 크롤러 접근 및 인용 상태를 점검하고, 격차가 발생하는 지점을 현장에서 알려드립니다.

자주 묻는 질문

GPTBot을 차단하면 ChatGPT에서 자사 콘텐츠가 사라지나요?
아닙니다. GPTBot은 모델 학습용 콘텐츠 수집만 담당합니다. ChatGPT의 실시간 검색과 출처 인용은 OAI-SearchBot과 ChatGPT-User가 처리합니다. 이 두 크롤러를 차단하지 않았다면 자사 페이지가 출처 링크와 함께 ChatGPT 답변에 인용될 수 있습니다.
robots.txt로 규칙을 무시하는 AI 크롤러까지 막을 수 있나요?
막을 수 없습니다. robots.txt는 자발적인 준수를 요청하는 안내문입니다. GPTBot, ClaudeBot, Googlebot 등은 이를 따르지만, 악성 크롤러나 규칙을 무시하는 크롤러는 그대로 우회할 수 있습니다. 강제 차단이 필요하다면 서버 계층의 WAF, 방화벽 규칙 또는 인증 메커니즘을 사용해야 합니다.
AI 출처 인용은 허용하되 학습에는 쓰이지 않게 하려면 robots.txt를 어떻게 설정해야 하나요?
학습 크롤러(GPTBot, ClaudeBot, CCBot)는 차단하고 검색 크롤러(OAI-SearchBot, PerplexityBot, Claude-SearchBot)는 허용합니다. 전자는 학습 데이터 수집 여부에만 관여하고, 후자는 자사 콘텐츠가 AI 답변에 인용될 수 있는지를 좌우합니다.

다음 단계

AI 답변에서 우리 브랜드는 얼마나 보일까요?

30분 GEO 진단을 통해 주요 AI 엔진에서의 가시성 격차와 우선 개선 과제를 확인해 보세요.

30분 진단 예약