인용랩

AI 크롤러 허용·차단: robots.txt에서 무엇을 적어야 하나

2026.09.27 게시 · 12분 · 글 신재호(인용랩) · markdown

30초 요약

  • AI 회사의 봇은 용도별로 다릅니다. 검색용(OAI-SearchBot·Claude-SearchBot·PerplexityBot), 학습용(GPTBot·ClaudeBot), 사용자 요청용(ChatGPT-User·Claude-User·Perplexity-User)입니다.
  • AI 답변에 나오고 싶다면 검색용 봇을 막지 않습니다. 학습을 거부하고 싶다면 학습용 봇만 따로 막을 수 있습니다. OpenAI는 이 조합을 공식 문서에 적어 두었습니다.
  • Google-Extended는 조심해서 다룹니다. 막으면 Gemini 학습뿐 아니라 Gemini 앱의 그라운딩에도 쓰이지 않습니다. 구글 AI 개요 포함 여부와는 관계가 없습니다.
  • 네이버·카카오는 해외 AI 봇을 막고 있습니다. 인용랩이 2026년 8월 22일 한국 플랫폼 29곳을 읽었을 때 네이버 검색·지도·플레이스·블로그·스마트스토어와 카카오맵이 그랬습니다. 해외 AI 검색에서 사업자가 직접 열 수 있는 곳은 자기 웹사이트입니다.
  • 설정한 뒤에는 curl로 직접 확인합니다. 홈페이지 제작 업체가 넣어 둔 Disallow: / 한 줄로 전부 막힌 사이트가 실제로 있었습니다.

AI 봇은 몇 종류가 있나요?

회사마다 세 갈래로 나눕니다. 막았을 때 결과가 다르므로 이름을 정확히 적어야 합니다.

회사검색용학습용사용자 요청용
OpenAIOAI-SearchBotGPTBotChatGPT-User
AnthropicClaude-SearchBotClaudeBotClaude-User
PerplexityPerplexityBot(학습에 쓰지 않는다고 밝힘)Perplexity-User
구글GooglebotGoogle-Extended(토큰)—
네이버Yeti——

각 회사 문서가 말하는 핵심만 옮깁니다.

  • OpenAI: OAI-SearchBot은 ChatGPT 검색에 사이트를 보여 주고 링크하는 데 씁니다. robots.txt를 바꾸면 반영까지 약 24시간 걸립니다. GPTBot은 모델 학습용입니다. ChatGPT-User는 사용자의 행동에 따라 가져가는 봇이라 robots.txt 규칙이 적용되지 않을 수 있다고 적혀 있습니다(OpenAI Crawlers).
  • Anthropic: ClaudeBot은 학습, Claude-SearchBot은 검색 품질을 위한 색인, Claude-User는 사용자 질문에 따른 요청입니다. 셋 다 robots.txt를 따르고 Crawl-delay도 지원합니다. IP로 막는 방식은 권하지 않습니다. robots.txt 자체를 못 읽게 되기 때문입니다(Anthropic 문서).
  • Perplexity: PerplexityBot은 검색 결과 노출용이고 학습에 쓰지 않으며 robots.txt를 따릅니다. Perplexity-User는 사용자 요청용이라 robots.txt를 대체로 무시한다고 밝혔습니다(Perplexity 문서).
  • 구글: Google-Extended는 robots.txt에만 쓰는 이름이고 별도 봇이 없어 서버 로그에 찍히지 않습니다. Gemini 모델 학습과 Gemini 앱·Vertex AI의 그라운딩 사용 여부를 정하고, 구글 검색 포함이나 순위에는 영향이 없다고 합니다(구글 크롤러 문서). 자세한 내용은 Google-Extended에 적었습니다.

무엇을 막고 무엇을 열어야 하나요?

AI 답변에 우리 사이트가 근거로 쓰이기를 바란다면 검색용과 사용자 요청용 봇은 엽니다. OAI-SearchBot을 막으면 ChatGPT가 검색해서 답할 때 그 사이트를 근거로 쓰기 어렵습니다.

학습용 봇은 사업자가 고를 일입니다. 인용과 학습은 다른 봇이 맡으므로, 학습만 거부해도 검색 노출은 유지됩니다. 인용랩의 사이트 진단도 학습 봇 차단은 감점하지 않고 "정보"로만 적습니다.

주의할 점이 세 가지 있습니다.

  1. 이름이 붙은 그룹이 있으면 그 봇은 * 그룹을 보지 않습니다. OAI-SearchBot 그룹을 따로 만들었다면 그 안에 Disallow도 다시 적어야 합니다.
  2. Google-Extended를 막으면 Gemini 앱에서도 빠질 수 있습니다. 학습 거부만 원한다면 이 점을 알고 정합니다. 구글 AI 개요·AI 모드에서 빼는 수단은 이것이 아니라 서치 콘솔 설정과 nosnippet 같은 지시어입니다.
  3. robots.txt가 5xx 오류를 내면 네이버는 "모두 허용하지 않음"으로 해석합니다(서치어드바이저 robots 가이드). 파일이 200으로 열리는지부터 확인합니다.

복사해 쓸 robots.txt 예시는?

검색·사용자 요청 봇은 허용하고, 학습 봇 차단은 골라 쓰는 형태입니다. example.com과 /admin/은 내 사이트에 맞게 바꿉니다.

# AI 검색·사용자 요청 봇: 허용
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
Allow: /
Disallow: /admin/

# 학습 봇: 학습을 거부하고 싶을 때만 남깁니다
User-agent: GPTBot
User-agent: ClaudeBot
Disallow: /

# Google-Extended: 막으면 Gemini 학습과 Gemini 앱 그라운딩에서 함께 빠집니다
# User-agent: Google-Extended
# Disallow: /

# 검색엔진과 그 밖의 봇
User-agent: *
Allow: /
Disallow: /admin/

Sitemap: https://example.com/sitemap.xml

학습도 막지 않으려면 두 번째 그룹을 지우면 됩니다. 인용랩 사이트는 학습 봇을 포함해 전부 허용하고, 콘솔과 개인 결과 주소만 뺍니다(inyonglab.com/robots.txt).

네이버·카카오는 왜 AI 봇을 막나요?

이유를 공식적으로 설명하지는 않았지만, robots.txt에 뜻을 적어 두었습니다. 네이버 지도·블로그와 카카오맵의 robots.txt 맨 위에는 "AI 학습과 검색 증강 생성(RAG)을 위한 봇 접근을 엄격히 금지한다"는 주석이 있습니다. 학습 거부가 아니라 인용 거부입니다(map.naver.com/robots.txt에서 직접 볼 수 있습니다).

인용랩이 2026년 8월 22일 한국 플랫폼 29곳의 robots.txt를 읽은 결과, 정책은 세 갈래였습니다.

  • 전면 차단: 네이버 검색·지도·플레이스·블로그·스마트스토어·톡톡, 카카오맵. 검색엔진만 이름으로 허용하고 나머지는 막습니다.
  • 학습 거부, 인용 허용: 브런치처럼 학습 봇 그룹과 AI 검색 봇 그룹을 나눠 적은 곳.
  • 정책 없음: AI 봇을 언급하지 않아 기본값대로 열려 있는 곳. 대부분의 소상공인 사이트가 여기입니다.

그래서 네이버에 쌓은 글과 플레이스는 ChatGPT·Claude·Perplexity가 직접 읽지 못합니다. 네이버 자체 AI 브리핑은 네이버 색인을 쓰므로 이 차단과 무관합니다. 해외 AI 검색에서 사업자가 통제할 수 있는 채널은 자기 웹사이트가 거의 유일합니다. 표 전체는 네이버·카카오에 쌓은 것은 ChatGPT가 못 읽는다에 있습니다.

설정이 맞는지 직접 확인하려면?

터미널에서 세 단계로 확인합니다. SITE만 내 주소로 바꿉니다.

SITE=https://example.com

# 1) robots.txt가 200으로 열리는지, 내용은 무엇인지
curl -s -o /dev/null -w "%{http_code} %{content_type}\n" $SITE/robots.txt
curl -s $SITE/robots.txt

# 2) 봇별 판정 (파이썬 표준 파서)
python3 - "$SITE" <<'EOF'
import sys, urllib.robotparser as r
site = sys.argv[1]; p = r.RobotFileParser(site + "/robots.txt"); p.read()
for ua in ["Googlebot", "Google-Extended", "bingbot", "Yeti",
           "OAI-SearchBot", "GPTBot", "ChatGPT-User",
           "Claude-SearchBot", "ClaudeBot", "Claude-User",
           "PerplexityBot", "Perplexity-User"]:
    print(f"{ua:18} {'ALLOW' if p.can_fetch(ua, site + '/') else 'BLOCK'}")
EOF

# 3) 봇 이름으로 요청했을 때 실제 응답과 본문
curl -s -o /dev/null -w "%{http_code} %{size_download}B\n" -A "OAI-SearchBot" $SITE/
curl -s -A "OAI-SearchBot" $SITE/ | grep -c "우리 사이트 핵심 문장 일부"

3번에서 403이 나오면 방화벽이나 CDN이 봇 이름으로 막고 있다는 뜻입니다. 200인데 핵심 문장이 0개로 세어지면 본문이 자바스크립트로만 그려지는 경우입니다. 구글은 자바스크립트를 실행하지만, 다른 AI 봇이 실행하는지는 공식 문서에 없습니다.

한계도 있습니다. curl로 이름만 흉내 내면 IP 기반 차단은 재현되지 않습니다. 진짜 봇이 막히는지는 서버·CDN 로그에서 봇 이름을 찾아봐야 합니다. 명령이 부담스럽다면 사이트 진단이 robots.txt를 그룹 우선순위대로 해석하고 봇 이름으로 직접 요청해 봅니다.

이 글이 답하려는 질문

  • robots.txt에서 ChatGPT 봇을 허용하려면 어떻게 쓰나요?
  • GPTBot과 OAI-SearchBot은 무엇이 다른가요?
  • 학습은 막고 AI 검색 노출은 유지할 수 있나요?
  • Google-Extended를 막으면 AI 개요에서 빠지나요?
  • 네이버 블로그는 왜 ChatGPT에 안 나오나요?

자주 묻는 질문

GPTBot을 막으면 ChatGPT 검색에서도 빠지나요?

OpenAI 문서에 따르면 두 봇은 따로 설정할 수 있습니다. GPTBot은 학습용, OAI-SearchBot은 검색용이므로 GPTBot만 막고 OAI-SearchBot을 허용하면 학습은 거부하면서 검색 노출은 유지할 수 있습니다.

Google-Extended를 막으면 구글 AI 개요에서 빠지나요?

구글 문서에 따르면 Google-Extended는 구글 검색 포함 여부나 순위에 영향이 없습니다. AI 개요·AI 모드에서 빼는 수단은 서치 콘솔의 Search generative AI 설정과 nosnippet 같은 지시어입니다. 다만 Google-Extended를 막으면 Gemini 앱의 그라운딩에는 쓰이지 않습니다.

robots.txt로 막으면 모든 AI가 따르나요?

아닙니다. ChatGPT-User와 Perplexity-User처럼 사용자 요청으로 가져가는 봇은 robots.txt를 따르지 않을 수 있다고 각 회사가 밝혔습니다. robots.txt는 선언이고, 완전한 차단 수단으로 보면 안 됩니다.

robots.txt를 바꾸면 언제 반영되나요?

OpenAI와 Perplexity는 최대 약 24시간이라고 밝혔습니다. 반영된 뒤에도 AI 답변에 나오는지는 별개이므로 따로 재야 합니다.

출처와 측정 조건

관련 용어