AI 크롤러 robots.txt 설정은 ChatGPT·Claude·Perplexity 같은 AI 답변엔진이 내 사이트를 읽을 수 있는지, 검색 결과에 활용할 수 있는지, 학습 데이터로 사용할 수 있는지를 크롤러별로 제어하는 작업입니다. AEO 최적화에서는 가장 먼저 확인해야 하는 기술 기본값입니다.
AI 크롤러 robots.txt 설정이란 무엇인가요?
robots.txt는 사이트 루트에 두는 텍스트 파일로, 자동화 크롤러에게 어떤 경로를 접근해도 되는지 알려주는 규칙입니다.
IETF RFC 9309 Robots Exclusion Protocol은
robots.txt를 자동화 클라이언트가 사이트 리소스에 접근하는 방식을 제어하기 위한 표준으로 설명합니다.
실무에서는 https://example.com/robots.txt 위치에 파일을 두고 User-agent, Allow, Disallow, Sitemap 규칙을 작성합니다.
Google도 Google Search Central의 robots.txt 소개 문서에서 robots.txt를 크롤러가 접근할 수 있는 URL을 알려주는 파일이라고 설명합니다. 다만 robots.txt는 보안 장치나 색인 제외 장치가 아니라, 크롤러 트래픽과 접근 경로를 관리하는 신호에 가깝습니다.
왜 AEO에서는 robots.txt를 가장 먼저 봐야 하나요?
AEO의 첫 단계는 AI가 사이트를 읽을 수 있게 만드는 것입니다. 아무리 좋은 FAQ, 구조화 데이터, E-E-A-T 신호를 넣어도 AI 검색용 크롤러가 robots.txt에서 차단되어 있으면 답변엔진이 페이지 내용을 수집하거나 검색 인덱스에 반영하기 어렵습니다. 반대로 학습 데이터 사용은 원하지 않지만 AI 검색 노출은 원하는 사이트라면, 크롤러 목적별로 허용·차단을 분리해야 합니다.
| 목적 | 권장 방향 | 대표 봇 | 주의점 |
|---|---|---|---|
| AI 검색 노출 | 허용 권장 | OAI-SearchBot, Claude-SearchBot, PerplexityBot | 차단하면 AI 답변·검색 결과에 노출될 가능성이 낮아집니다. |
| 사용자 요청 fetch | 허용 권장 | ChatGPT-User, Claude-User, Perplexity-User | 사용자가 질문했을 때 페이지 확인·인용에 쓰일 수 있습니다. |
| 모델 학습 | 정책에 따라 선택 | GPTBot, ClaudeBot | 학습 데이터 사용을 원치 않으면 별도 차단할 수 있습니다. |
주요 AI 크롤러는 어떻게 구분하나요?
AI 회사들은 하나의 봇만 운영하지 않습니다. 검색 노출, 사용자 요청 처리, 모델 학습처럼 목적별로 다른 user-agent를 사용합니다.
따라서 User-agent: *만 보는 것이 아니라, 주요 AI 봇 토큰을 따로 확인하는 것이 좋습니다.
| 서비스 | 봇 | 공식 설명 기준 목적 | 실무 판단 |
|---|---|---|---|
| OpenAI | OAI-SearchBot | OpenAI 크롤러 문서 기준 ChatGPT 검색 기능에서 웹사이트를 표시하는 검색용 봇 | ChatGPT 검색 노출을 원하면 허용 |
| OpenAI | GPTBot | OpenAI 크롤러 문서 기준 생성형 AI 기반 모델 학습에 사용될 수 있는 콘텐츠 수집 봇 | 학습 데이터 사용 정책에 따라 허용 또는 차단 |
| OpenAI | ChatGPT-User | OpenAI 크롤러 문서 기준 사용자의 특정 요청으로 페이지를 방문하는 user agent | 사용자 질문 기반 확인·인용 가능성을 위해 허용 권장 |
| Anthropic | Claude-SearchBot | Anthropic Claude 지원 문서 기준 검색 응답의 관련성과 정확도를 높이는 검색용 봇 | Claude 검색 노출을 원하면 허용 |
| Anthropic | ClaudeBot | Anthropic Claude 지원 문서 기준 모델 학습에 기여할 수 있는 웹 콘텐츠 수집 봇 | 학습 데이터 사용 정책에 따라 허용 또는 차단 |
| Anthropic | Claude-User | Anthropic Claude 지원 문서 기준 사용자가 Claude에 질문할 때 웹사이트에 접근하는 봇 | 사용자 요청 기반 답변 노출을 원하면 허용 |
| Perplexity | PerplexityBot | Perplexity 공식 크롤러 문서 기준 Perplexity 검색 결과에 웹사이트를 표시하고 링크하기 위한 봇 | Perplexity 검색 노출을 원하면 허용 |
| Perplexity | Perplexity-User | Perplexity 공식 크롤러 문서 기준 사용자의 질문에 답하기 위해 웹페이지를 방문할 수 있는 user agent | 사용자 요청 기반 답변 인용 가능성을 위해 허용 권장 |
AI 검색 노출을 위한 robots.txt 예시는 어떻게 쓰나요?
아래 예시는 AI 검색 노출은 열어두고, 모델 학습 목적의 크롤링은 사이트 정책에 따라 선택할 수 있게 나눈 형태입니다. 사이트 전체를 AI 답변엔진에 노출시키고 싶다면 검색용 봇과 사용자 요청용 봇을 허용하는 쪽이 유리합니다.
# AI search crawlers — allow for AEO visibility
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Perplexity-User
Allow: /
# AI training crawlers — choose based on your data policy
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
# Traditional search crawlers
User-agent: Googlebot
Allow: /
User-agent: Bingbot
Allow: /
# Default rule
User-agent: *
Allow: /
Sitemap: https://example.com/sitemap.xml
위 예시는 “검색 노출은 허용, 학습 데이터 사용은 제한”이라는 보수적 정책입니다. 반대로 모델 학습까지 허용해도 괜찮다면
GPTBot과 ClaudeBot도 Allow: /로 바꿀 수 있습니다.
robots.txt와 noindex는 어떻게 다르게 써야 하나요?
robots.txt는 “크롤러가 접근할 수 있는가”를 다루고, noindex는 “접근한 페이지를 색인에 넣을 것인가”를 다룹니다.
Google Search Central은
robots.txt가 Google 검색 결과에서 웹페이지를 숨기는 수단이 아니며, 검색 결과 제외가 목적이라면 noindex 또는 비밀번호 보호를 사용하라고 안내합니다.
또한 Google의 robots meta tag 문서는
meta robots와 X-Robots-Tag가 페이지 단위 색인 제어에 쓰인다고 설명합니다.
| 상황 | robots.txt | noindex | 권장 판단 |
|---|---|---|---|
| AI가 읽고 인용하길 원하는 글 | 허용 | 사용하지 않음 | AEO 대상 페이지는 접근과 색인을 모두 열어둡니다. |
| 검색 결과에는 빼고 싶은 페이지 | 허용 | 적용 | 크롤러가 noindex를 읽을 수 있어야 합니다. |
| 관리자·내부 경로 | 차단 가능 | 보조적으로 적용 | 민감 정보는 robots.txt가 아니라 인증으로 보호해야 합니다. |
| 이미지·스크립트·CSS | 신중 | 대체로 무관 | 렌더링에 필요한 리소스를 막으면 페이지 이해도가 떨어질 수 있습니다. |
작성할 때 자주 하는 실수는 무엇인가요?
- 사이트 전체를 실수로 차단 —
User-agent: *아래에Disallow: /가 있으면 대부분의 크롤러가 사이트 전체 접근을 멈춥니다. - 검색용 봇과 학습용 봇을 구분하지 않음 — ChatGPT·Claude·Perplexity는 목적별 user-agent가 다릅니다. 검색 노출과 학습 데이터 정책을 분리하세요.
- 서브도메인별 robots.txt 누락 —
www.example.com과blog.example.com은 별도 호스트입니다. 필요한 호스트마다 확인해야 합니다. - WAF에서 봇을 막아놓고 robots.txt만 수정 — Perplexity 공식 문서처럼 일부 서비스는 WAF에서 user-agent와 공식 IP 범위를 함께 허용하라고 안내합니다.
- 민감 정보를 robots.txt로 숨기려 함 — robots.txt는 보안 장치가 아닙니다. 관리자 페이지, 개인정보, 결제 경로는 로그인·권한·서버 차단으로 보호해야 합니다.
배포 전 점검 체크리스트
/robots.txt가 200 상태 코드로 열리는지 확인합니다.- 파일이 HTML이 아니라 일반 텍스트로 출력되는지 확인합니다.
OAI-SearchBot,Claude-SearchBot,PerplexityBot이 AEO 대상 URL을 접근할 수 있는지 확인합니다.- 학습 데이터 사용 정책에 따라
GPTBot,ClaudeBot허용 여부를 결정합니다. Sitemap:줄에 실제 sitemap.xml 주소를 넣습니다.- Cloudflare, AWS WAF, 보안 플러그인에서 AI 봇 user-agent나 공식 IP를 막고 있지 않은지 확인합니다.
- 수정 후 AEO 검사기로 다시 진단해 AI 크롤러 접근 항목이 개선됐는지 확인합니다.
정리하면 어떻게 설정하는 것이 좋나요?
AEO 관점의 기본 전략은 단순합니다. 공개 콘텐츠는 AI 검색용 크롤러가 읽을 수 있게 열어두고,
학습 데이터 사용 여부는 회사 정책에 맞춰 별도로 결정합니다. 즉, OAI-SearchBot, Claude-SearchBot, PerplexityBot은
허용하고, GPTBot, ClaudeBot은 정책에 따라 허용 또는 차단하는 구성이 가장 설명하기 쉽습니다.
이 구성을 적용하면 AI 답변엔진 노출 가능성을 유지하면서도 학습 데이터 사용에 대한 통제권을 분리할 수 있습니다.