Claude는 Google처럼 상시 실시간 색인을 유지하지 않는다. 콘텐츠에 접근하는 경로는 두 가지다: 훈련 컷오프 이전에 크롤된 웹 데이터(ClaudeBot·Common Crawl 기반)와, 사용자가 검색 툴을 활성화했을 때 실행되는 실시간 Fetch다. 어느 경로든 인용 가능성을 높이려면 크롤러 접근성·직접 답변 밀도·구조화 데이터 세 조건을 갖춰야 한다. Claude.ai 월간 활성 사용자가 빠르게 증가하는 2025년 시점에서 이 최적화는 Google 중심 AEO의 보완이 아닌 독립 GEO 채널 전략이 됐다.
ClaudeBot 크롤링 허용 — robots.txt 설정
작동 원리
Anthropic의 훈련 크롤러는 ClaudeBot User-agent로 식별된다. 훈련 데이터에는 Common Crawl 스냅샷도 포함되므로 CCBot을 차단하면 해당 페이지가 훈련 코퍼스에서 제외된다. 실시간 검색 툴(Claude.ai 또는 API tool_use 연결)로 Fetch할 때도 크롤러는 robots.txt를 준수한다. WAF나 미들웨어에서 Anthropic UA를 봇으로 오탐해 차단하는 사례가 실무에서 종종 발생한다.
구현
# robots.txt — ClaudeBot 및 Common Crawl 허용 설정
User-agent: ClaudeBot
Allow: /
User-agent: CCBot
Allow: /
# 일반 크롤러: 공개 콘텐츠 허용, 관리·API 경로 차단
User-agent: *
Allow: /blog/
Allow: /docs/
Allow: /faq/
Disallow: /admin/
Disallow: /api/
Disallow: /dashboard/
검증
- UA 시뮬레이션:
curl -A "ClaudeBot/1.0" https://yourdomain.com/target-page -o /dev/null -w "%{http_code}"— HTTP 200이 반환되지 않으면 WAF·Cloudflare Bot Fight Mode에서 차단 중일 가능성이 있다. 이유: User-agent 기반 차단은 robots.txt 규칙과 별개로 서버 레이어에서 작동한다. - 서버 로그 확인: nginx 액세스 로그에서
grep "ClaudeBot" /var/log/nginx/access.log | tail -20으로 방문 기록과 응답 코드 점검. 방문 기록이 전무하면 IP 레벨 차단 여부를 함께 확인해야 한다.
llms.txt — LLM 친화적 사이트 맵
작동 원리
llms.txt는 Jeremy Howard(fast.ai)가 2024년 제안한 사실상 표준 초안이다. 사이트 루트에 Markdown 형식으로 배치해 LLM에게 "어떤 페이지가 중요한지, 어떤 맥락의 사이트인지"를 HTML 파싱 없이 직접 전달한다. 토큰 효율이 높고 사이트맵 XML보다 의미론적 구조가 명확하다. Claude, Perplexity 등 검색 툴이 사이트를 처음 방문할 때 이 파일을 우선 확인하는 사례가 증가하고 있다.
구현
# /llms.txt (사이트 루트에 배치, UTF-8)
# Citeon AEO/GEO Knowledge Base
> Citeon은 AEO·GEO·SEO 통합 마케팅 대행사다.
> 이 기술 블로그는 검색엔진·AI 답변 엔진 최적화 실무 가이드를 제공한다.
## 핵심 문서
- [Google AI Overviews 최적화](/blog/google-ai-overviews): Gemini RAG 소스 선택 메커니즘, FAQPage·HowTo 스키마
- [Gemini가 참조하는 콘텐츠 특징](/blog/gemini-citation-signals): E-E-A-T, 직접 답변 밀도, robots.txt
- [Claude 답변 인용 최적화](/blog/claude-citation): ClaudeBot 허용, llms.txt, JSON-LD 구조화
## Optional
- [전체 기술 블로그](/blog)
- [서비스 소개](/services)
콘텐츠 구조 — 직접 답변 밀도와 JSON-LD 스키마
작동 원리
Claude가 Fetch한 HTML 페이지는 전체가 LLM 컨텍스트 창으로 들어간다. 네비게이션·광고·사이드바 노이즈가 클수록 핵심 정보의 토큰 비율이 낮아진다. JSON-LD 스키마는 HTML 파싱 없이 구조화된 사실을 직접 추출할 수 있게 해 인용 정확도를 높인다.
FAQPage JSON-LD 구현
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "ClaudeBot을 robots.txt에서 차단하면 어떻게 되나요?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Anthropic 훈련 크롤러 접근이 차단되어 해당 페이지가 Claude 훈련 데이터에 포함될 가능성이 사라집니다. 실시간 검색 툴 사용 시에도 Fetch가 거부될 수 있습니다."
}
}
]
}
</script>
핵심 구조 신호
- 첫 문단 직접 답변: 결론을 서론에 배치. 이유: Fetch된 페이지를 처리할 토큰이 부족할 경우 앞부분이 우선 인용되며, Claude는 요약 없이 원문을 그대로 인용하는 경향이 있다.
- 의문문 형태 H2/H3: 헤딩을 질문 형태로 작성. 이유: LLM이 질문-답변 패턴을 추출할 때 헤딩을 질문 레이블로, 하위 단락을 답변 블록으로 파싱하기 쉬워진다.
- 수치·출처 명시: "추정" 또는 "사례에 따라 다름"을 명시하고 측정 가능한 수치 포함. 이유: Claude는 검증 불가능한 모호한 주장보다 수치가 포함된 사실적 주장을 인용할 때 신뢰도 가중치를 높게 처리한다.
SEO·AEO·GEO 신호 비교
| 최적화 대상 | 핵심 신호 | 측정 도구 | Claude 직접 관련성 |
|---|---|---|---|
| SEO (Google 오가닉) | 백링크·Core Web Vitals·E-E-A-T | Search Console·Ahrefs | 간접 (훈련 데이터 품질 신호) |
| AEO (Google AIO·Featured Snippet) | FAQPage·HowTo 스키마·직접 답변 | Search Console AIO 필터 | 부분 (Gemini 계열에 유효) |
| GEO (Claude·Perplexity·ChatGPT) | ClaudeBot 허용·llms.txt·직접 답변 밀도·JSON-LD | 서버 로그·브랜드 mention 추적 | 직접 |
흔한 오해: "llms.txt 하나면 모든 AI에 인용된다"
llms.txt는 현재 사실상 표준 초안 단계로, Anthropic이 이를 공식 인용 결정 요인으로 문서화한 바 없다. Claude의 훈련 파이프라인은 ClaudeBot·Common Crawl 크롤을 주요 소스로 사용하며, llms.txt는 실시간 검색 툴 활성화 시 사이트 구조를 빠르게 파악하는 보조 역할에 가깝다. 실무 우선순위는 다음과 같다:
- ClaudeBot·CCBot 크롤링 허용 (필수 — 미설정 시 훈련 데이터 포함 불가)
- 콘텐츠 직접 답변 밀도·E-E-A-T (핵심 — 인용 내용의 질 결정)
- JSON-LD 스키마 (중요 — 구조화 사실 추출 정확도 향상)
- llms.txt (보조 — 실시간 Fetch 시 탐색 효율 개선)
llms.txt를 작성하기 전에 robots.txt 설정과 콘텐츠 직접 답변 구조를 먼저 점검하는 것이 실무적으로 우선순위가 높다.
Claude API에서 웹 검색 툴 없이도 내 콘텐츠가 인용되나요?
기본 Claude API 호출(tool_use 미장착)에서는 훈련 데이터 컷오프 이전에 크롤된 페이지 정보만 활용된다. 컷오프 이후 발행된 콘텐츠는 개발자가 Brave Search·Tavily·Anthropic web_search 등 검색 툴을 tool_use 또는 MCP로 연결해야 실시간 Fetch되어 인용 가능해진다. Claude.ai 웹 인터페이스에서는 사용자가 검색 아이콘을 활성화하면 Anthropic이 내부적으로 web_search 툴을 호출하므로 컷오프 이후 콘텐츠도 인용 대상이 된다.
llms.txt 파일은 어느 정도 분량으로 작성해야 효과적인가요?
토큰 효율 관점에서 사이트 목적 설명 1~2문장과 핵심 페이지 링크 20~50개 수준이 적정하다. 500줄을 넘는 llms.txt는 LLM이 컨텍스트 창 내에서 처리하는 비용이 증가한다. 전문 문서가 다수인 경우 /llms-full.txt를 별도로 만들고, 기본 llms.txt의 Optional 섹션에서 링크로 참조하는 패턴이 권장된다. 각 링크에는 URL과 함께 한 줄 설명을 반드시 포함해야 LLM이 해당 페이지의 내용을 Fetch 전에 판단할 수 있다.
참고 자료
이 글의 권고는 아래 공식 문서·연구를 근거로 합니다.