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

> AI 회사들은 봇을 검색용·학습용·사용자 요청용으로 나눠 두었습니다. 어떤 봇을 막으면 무엇이 달라지는지 공식 문서 기준으로 정리하고, 복사해 쓸 robots.txt와 직접 확인하는 curl 명령을 싣습니다.

- 주소: https://inyonglab.com/%EA%B0%80%EC%9D%B4%EB%93%9C/robots-txt-ai-crawlers
- 게시: 2026-09-27
- 발행: 인용랩 (VibeRick)

## 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 봇은 몇 종류가 있나요?

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

| 회사 | 검색용 | 학습용 | 사용자 요청용 |
|---|---|---|---|
| OpenAI | **OAI-SearchBot** | GPTBot | ChatGPT-User |
| Anthropic | **Claude-SearchBot** | ClaudeBot | Claude-User |
| Perplexity | **PerplexityBot** | (학습에 쓰지 않는다고 밝힘) | Perplexity-User |
| 구글 | Googlebot | Google-Extended(토큰) | — |
| 네이버 | Yeti | — | — |

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

- **OpenAI**: OAI-SearchBot은 ChatGPT 검색에 사이트를 보여 주고 링크하는 데 씁니다. robots.txt를 바꾸면 반영까지 약 24시간 걸립니다. GPTBot은 모델 학습용입니다. ChatGPT-User는 사용자의 행동에 따라 가져가는 봇이라 robots.txt 규칙이 적용되지 않을 수 있다고 적혀 있습니다([OpenAI Crawlers](https://developers.openai.com/api/docs/bots)).
- **Anthropic**: ClaudeBot은 학습, Claude-SearchBot은 검색 품질을 위한 색인, Claude-User는 사용자 질문에 따른 요청입니다. 셋 다 robots.txt를 따르고 Crawl-delay도 지원합니다. IP로 막는 방식은 권하지 않습니다. robots.txt 자체를 못 읽게 되기 때문입니다([Anthropic 문서](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler)).
- **Perplexity**: PerplexityBot은 검색 결과 노출용이고 학습에 쓰지 않으며 robots.txt를 따릅니다. Perplexity-User는 사용자 요청용이라 robots.txt를 대체로 무시한다고 밝혔습니다([Perplexity 문서](https://docs.perplexity.ai/guides/bots)).
- **구글**: Google-Extended는 robots.txt에만 쓰는 이름이고 별도 봇이 없어 서버 로그에 찍히지 않습니다. Gemini 모델 학습과 **Gemini 앱·Vertex AI의 그라운딩** 사용 여부를 정하고, 구글 검색 포함이나 순위에는 영향이 없다고 합니다([구글 크롤러 문서](https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers)). 자세한 내용은 [Google-Extended](https://inyonglab.com/용어집/google-extended)에 적었습니다.

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

AI 답변에 우리 사이트가 근거로 쓰이기를 바란다면 **검색용과 사용자 요청용 봇은 엽니다.** [OAI-SearchBot](https://inyonglab.com/용어집/oai-searchbot)을 막으면 ChatGPT가 검색해서 답할 때 그 사이트를 근거로 쓰기 어렵습니다.

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

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

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

## 복사해 쓸 robots.txt 예시는?

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

```text
# 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](https://inyonglab.com/robots.txt)).

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

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

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

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

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

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

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

```bash
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 로그에서 봇 이름을 찾아봐야 합니다. 명령이 부담스럽다면 [사이트 진단](https://inyonglab.com/diagnose)이 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 답변에 나오는지는 별개이므로 따로 재야 합니다.

## 출처와 측정 조건

- 공식 크롤러 문서: [OpenAI](https://developers.openai.com/api/docs/bots) · [Anthropic](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) · [Perplexity](https://docs.perplexity.ai/guides/bots) · [Google 크롤러(Google-Extended)](https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers) · [Google Search generative AI 설정](https://support.google.com/webmasters/answer/16908024?hl=en) · [네이버 서치어드바이저 robots 가이드](https://searchadvisor.naver.com/guide/seo-basic-robots). 인용랩 리서치 노트에서 2026-09-25 확인.
- 인용랩 robots.txt 실측(2026-08-22): 한국 플랫폼 29곳의 robots.txt를 그룹 우선순위대로 해석. 홈페이지 기준이며, 플랫폼의 개별 상세 페이지 정책은 따로 확인하지 않았습니다. robots.txt 정책은 바뀔 수 있으므로 위 주소에서 직접 확인하기를 권합니다.
- robots.txt에서 열려 있다는 것은 **읽을 수 있다**는 뜻이지, AI 답변에 인용된다는 뜻이 아닙니다.
