Field guide / ai-crawler-access
AI 크롤러 접근 설정
GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended 등 AI 크롤러의 역할을 구분하고 robots.txt로 선택 허용하거나 차단하는 방법을 다룹니다.
- 작성
- 수정
- 작성자
- 검토
- 애드브랜치 편집팀
AI 크롤러란 무엇인가
AI 크롤러란 생성형 AI 서비스가 웹 콘텐츠를 가져가기 위해 보내는 자동 요청 프로그램이며, 하는 일에 따라 세 갈래로 나뉩니다. 모델 학습에 쓸 데이터를 모으는 크롤러, AI 검색이 답변의 출처로 삼을 색인을 만드는 크롤러, 사용자가 채팅창에 URL을 붙여 넣었을 때 그 순간 페이지를 가져오는 실시간 fetcher입니다. 여기서 UA(User-Agent)란 요청을 보낸 프로그램이 스스로를 밝히는 이름표를 말합니다. 세 갈래를 구분하지 않으면 “AI 차단”이라는 한 번의 결정으로 원하지 않던 것까지 함께 막게 됩니다.
구분하지 않으면 생기는 일
가장 흔한 사고는 학습용 수집을 제한하려다 검색·색인용 bot까지 같은 규칙으로 제한하는 것입니다. GPTBot과 ChatGPT 검색이 쓰는 OAI-SearchBot은 별개의 UA이므로, 목적에 따라 각각의 규칙을 검토해야 합니다. robots.txt 규칙은 협조적 bot의 접근 지시이며 검색 결과나 답변 포함을 보장하거나 확정하지 않습니다.
robots.txt는 RFC 9309가 정의한 규약이고 협조적인 크롤러가 따르는 약속입니다. 차단이 이미 수집된 사본의 삭제나 모든 형태의 사용 중단을 뜻하지는 않습니다.
주요 UA와 공개된 역할
각 사업자가 공식 문서로 밝힌 역할입니다.
| UA | 운영 주체 | 공개된 역할 |
|---|---|---|
GPTBot | OpenAI | 모델 학습에 쓰일 수 있는 웹 크롤러 |
OAI-SearchBot | OpenAI | ChatGPT Search의 검색·색인용 크롤러 |
ChatGPT-User | OpenAI | 사용자가 요청했을 때의 실시간 URL 방문 |
ClaudeBot | Anthropic | 모델 개발을 위한 웹 크롤러 |
Claude-SearchBot | Anthropic | Claude Search의 검색·색인 크롤러 |
Claude-User | Anthropic | Claude 사용자의 요청에 따른 URL fetch |
PerplexityBot | Perplexity | 검색·색인용 크롤러 |
Perplexity-User | Perplexity | 사용자 질의에 따른 실시간 fetcher |
Google-Extended | Gemini 학습 등 Search 외 사용을 통제하는 토큰 | |
Applebot-Extended | Apple | Apple Intelligence 학습 사용을 통제하는 토큰 |
meta-externalagent | Meta | Meta AI 관련 공개 웹 콘텐츠 수집 |
CCBot | Common Crawl | 공개 웹 데이터셋 수집 |
Google-Extended와 Applebot-Extended는 페이지를 가져가는 크롤러라기보다 사용 범위를 통제하는 토큰입니다. Google-Extended를 막아도 Google Search의 크롤링·색인·순위에는 영향을 주지 않습니다.
사용자 요청형 fetcher의 robots.txt 적용 방식
ChatGPT-User, Claude-User, Perplexity-User는 같은 규칙으로 다룰 수 없습니다. OpenAI 문서 기준으로 ChatGPT-User에는 robots.txt가 적용되지 않을 수 있습니다. Perplexity 문서 기준으로 Perplexity-User는 일반적으로 robots.txt를 무시합니다. 반면 Anthropic 문서는 ClaudeBot, Claude-SearchBot, Claude-User의 robots.txt 제어를 지원합니다. 사용자 요청형 URL 방문을 제한해야 한다면 UA 선언만으로 결과를 단정하지 말고 각 제공사의 현재 문서를 확인하고, 필요한 경우 인증이나 서버 수준 접근 제어를 사용하세요.
학습·검색용 bot 예제 3가지
1. 별도 제한 없이 허용
AI 관련 bot에 별도 제한을 두지 않는 일반적인 콘텐츠 사이트 예입니다.
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /cart/
Sitemap: https://example.com/sitemap.xml
별도 규칙을 두지 않으면 개별 UA는 * 그룹을 따릅니다. 명시적으로 밝히고 싶다면 UA별 그룹을 추가로 적어도 됩니다.
2. 학습용만 제한, 검색용 bot은 허용
학습용 UA와 검색용 UA를 구분해 선언하는 예입니다. 이 규칙은 각 협조적 bot의 접근 지시일 뿐 실제 수집·검색 결과·답변 활용을 뜻하지 않습니다.
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: Applebot-Extended
Disallow: /
User-agent: meta-externalagent
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
3. 학습·검색용 bot 제한, 일반 검색은 유지
학습·검색용 UA에 제한을 선언하면서 일반 검색용 Googlebot은 별도로 허용하는 예입니다.
User-agent: GPTBot
User-agent: OAI-SearchBot
User-agent: ClaudeBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
User-agent: meta-externalagent
User-agent: CCBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: Googlebot
Allow: /
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
User-agent 줄을 연달아 적으면 그 아래 규칙이 나열된 모든 UA에 함께 적용됩니다.
사용자 요청형 fetcher 예제
아래 선언은 UA별 의사를 robots.txt에 적는 형식입니다. Anthropic은 Claude-User 제어를 지원하지만, ChatGPT-User와 Perplexity-User에는 같은 효과를 기대할 수 없습니다.
# Anthropic은 Claude-User의 robots.txt 제어를 지원합니다.
User-agent: Claude-User
Allow: /
# OpenAI와 Perplexity의 사용자 요청형 fetcher는
# robots.txt 적용 방식이 다를 수 있습니다.
User-agent: ChatGPT-User
Allow: /
User-agent: Perplexity-User
Allow: /
잘못된 예와 수정된 예
1. 학습을 막으려다 AI 검색까지 차단
# 잘못된 예: 의도는 "학습 거절"인데 검색 색인용까지 막힘
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
User-agent: PerplexityBot
Disallow: /
OAI-SearchBot과 PerplexityBot은 검색·색인용입니다. 학습만 거절하려던 의도라면 이 두 줄이 잘못 들어간 것입니다.
# 수정된 예
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
2. Google-Extended로 Google 검색을 막으려는 시도
# 잘못된 예: "Google 검색에 AI 요약으로 쓰이는 걸 막겠다"는 의도로 작성
User-agent: Google-Extended
Disallow: /
User-agent: Googlebot
Disallow: /
두 번째 그룹이 Google Search 전체를 차단합니다. 검색 노출을 원한다면 치명적인 설정이고, 애드브랜치의 robots-txt-path-allowed가 이 상태를 잡아냅니다.
# 수정된 예: Gemini 학습 통제만 적용하고 검색은 유지
User-agent: Google-Extended
Disallow: /
User-agent: Googlebot
Allow: /
3. 크롤링을 막고 noindex를 기대하는 경우
# 잘못된 예
User-agent: *
Disallow: /private/
<!-- /private/report 페이지 -->
<meta name="robots" content="noindex" />
크롤링이 막히면 그 페이지의 noindex를 읽지 못합니다. 색인에서 확실히 빼려면 크롤링을 허용한 채 noindex를 읽게 해야 합니다. meta-robots-indexability와 GEO 항목 A03이 이 지시문을 확인합니다.
# 수정된 예: robots.txt는 열어 두고 페이지에서 noindex
User-agent: *
Allow: /private/
선택할 때 확인할 점
| 선택 | robots.txt에 선언하는 범위 | 확인할 점 |
|---|---|---|
| 별도 제한 없이 허용 | 개별 AI UA에 별도 Disallow를 두지 않음 | bot별 기본 그룹과 현재 제공사 정책을 확인 |
| 학습용만 제한 | 학습용 UA와 검색용 UA를 각각 분리해 선언 | 사용자 요청형 fetcher의 적용 방식은 제공사별로 다름 |
| 학습·검색용 bot 제한 | 해당 UA에만 Disallow를 선언 | 일반 검색 bot과 사용자 요청형 fetcher 규칙을 별도로 검토 |
어느 선택이 맞는지는 콘텐츠의 접근 정책과 서비스 요구에 따라 정합니다. robots.txt는 협조적 UA에 대한 지시이므로 실제 수집·학습·검색 결과를 단정하는 수단으로 쓰지 않습니다.
적용 시 주의점
- robots.txt는 강제 장치가 아닙니다. 규약을 무시하는 요청까지 막으려면 서버나 CDN 수준의 차단이 필요합니다.
- UA 문자열은 사업자가 변경하거나 새 UA를 추가합니다. 분기에 한 번은 각 공식 문서를 확인해 갱신하세요.
- UA 이름 비교는 대소문자를 구분하지 않지만, 오타는 그대로 무시됩니다.
GPTbot과GPT-Bot은 다른 이름입니다. - 열어 두었더라도 본문이 초기 HTML에 없으면 소용이 없습니다.
<noscript>대체 본문(A05)이 도움이 됩니다. - 로그인이나 구독 벽 뒤의 콘텐츠는 크롤러 관점에서 빈 페이지에 가깝습니다(
A04).
자주 묻는 질문
AI 크롤러를 차단하면 이미 학습된 내용도 지워지나요
아닙니다. robots.txt 차단은 앞으로의 수집에 대한 요청이며, 이미 수집된 사본이나 학습이 끝난 모델에 소급 적용되지 않습니다. 기존 데이터에 대한 처리는 각 사업자의 별도 절차를 확인해야 합니다.
전부 열어 두면 AI가 우리 글을 인용하나요
인용을 보장하는 설정은 없습니다. robots.txt의 허용 선언만으로 실제 수집이나 인용 여부를 알 수 없으며, 각 서비스의 정책과 판단에 따라 달라집니다.
User-agent: *로 막으면 AI 크롤러도 막히나요
해당 UA를 위한 별도 그룹이 robots.txt에 없다면 * 그룹이 적용됩니다. 그러나 특정 UA 그룹을 하나라도 만들어 두면 그 UA는 자기 그룹만 읽고 * 그룹은 무시합니다. 이 우선순위 때문에 의도와 다른 결과가 나오는 경우가 많으니 개별 그룹을 만들 때는 필요한 규칙을 그 안에 모두 다시 적으세요.
실시간 fetcher까지 막아야 하나요
세 UA는 사용자 요청에 따른 URL 방문이라는 역할은 같지만 robots.txt 적용 방식은 다릅니다. ChatGPT-User에는 robots.txt가 적용되지 않을 수 있고, Perplexity-User는 일반적으로 이를 무시합니다. Anthropic은 Claude-User를 포함한 ClaudeBot·Claude-SearchBot의 robots.txt 제어를 지원합니다. 따라서 사용자 요청형 fetcher의 접근을 제한해야 한다면 각 제공사의 공식 문서와 실제 접근 제어 요구를 함께 확인하세요.
관련 가이드
Next reading
관련 가이드
robots.txt 작성법과 흔한 실수
크롤러 접근 제어 파일의 문법과 User-agent 그룹, Allow와 Disallow 우선순위 규칙, 사이트를 통째로 막아버리는 실수와 noindex와의 차이를 다룹니다.
가이드 읽기
GEO 점검 체크리스트
AI 검색이 페이지의 주제와 답변을 이해하기 쉽게 만드는 구조를 두괄식 작성, 정의문, Q&A, 출처 표기 순서로 항목별 점검합니다.
가이드 읽기
SEO와 GEO는 무엇이 다른가
검색엔진 최적화와 AI 검색 최적화의 목표, 평가 방식, 실제 작업 항목이 어떻게 다르고 어디까지 겹치는지 HTML 예제와 비교표로 정리합니다.
가이드 읽기
Check the evidence
이 페이지를 지금 검사해보기
읽고 있는 페이지나 운영 중인 URL을 넣으면 이 가이드와 연결된 SEO·GEO 항목을 바로 확인할 수 있습니다.