TL;DR: AI가 내 사이트를 왜 못 읽을까?
- JavaScript 의존성 — AI 크롤러는 JS를 실행하지 못해 SPA 콘텐츠를 볼 수 없음
- robots.txt 차단 — GPTBot, ClaudeBot을 명시적으로 차단하면 AI 검색에서 사라짐
- 서버 오류 — 500, 403 에러가 발생하면 크롤링 자체가 불가능
- 해결책 — SSR 적용, robots.txt 점검, 서버 안정성 확보가 핵심
ChatGPT, Claude, Perplexity 같은 AI 검색 도구들이 웹사이트 콘텐츠를 읽고 인용하려면 먼저 해당 사이트를 크롤링할 수 있어야 합니다. 그러나 많은 웹사이트가 기술적인 이유로 AI 크롤러의 접근을 막고 있습니다.
출처: Vercel - The Rise of the AI Crawler ↗
Vercel 네트워크 분석에 따르면 GPTBot과 ClaudeBot은 주요 AI 크롤러로, 상당한 규모의 웹 요청을 생성하고 있으며 그 트래픽이 빠르게 증가 중
이 글에서는 AI 크롤러가 웹사이트를 읽지 못하는 7가지 주요 원인과 각각의 해결 방법을 살펴봅니다.
1. JavaScript 렌더링 미지원
문제: AI 크롤러는 JavaScript를 실행하지 못함
출처: SEO.ai JavaScript Analysis ↗ · SALT.agency ↗
AI 크롤러는 JavaScript 엔진과 DOM이 없어 브라우저처럼 페이지를 렌더링할 수 없음
Googlebot은 JavaScript를 실행할 수 있지만, GPTBot, ClaudeBot, PerplexityBot은 JavaScript를 실행하지 못합니다. 이는 React, Vue, Angular 같은 프레임워크로 만든 SPA(Single Page Application)에 치명적입니다.
문제가 되는 사이트 유형:
| 프레임워크 | 문제 상황 | AI 크롤러 영향 |
|---|---|---|
| React SPA | 콘텐츠가 JS로 동적 생성 | 빈 페이지로 인식 |
| Vue SPA | 클라이언트 사이드 렌더링 | 콘텐츠 없음 |
| Angular | 동적 라우팅 | URL 구조 인식 불가 |
해결 방법
출처: Prerender.io ↗
서버 사이드 렌더링(SSR)으로 콘텐츠를 HTML로 제공하면 AI 크롤러가 정상적으로 읽을 수 있음
권장 솔루션:
SSR 프레임워크 적용
├── Next.js (React)
├── Nuxt.js (Vue)
├── SvelteKit (Svelte)
└── Angular Universal (Angular)
또는 Prerendering 서비스를 활용하여 AI 크롤러에게 정적 HTML을 제공할 수 있습니다.
2. robots.txt에서 AI 봇 차단
문제: GPTBot, ClaudeBot 명시적 차단
출처: ClickRank Crawlers Guide 2026 ↗
2026년 기준, AI 검색 도구는 크롤러가 차단되면 해당 사이트의 콘텐츠를 AI 요약, 인용, 추천에서 제외
robots.txt에서 AI 크롤러를 차단하면 ChatGPT, Claude 등에서 완전히 보이지 않게 됩니다.
차단 상태 확인:
# AI 봇을 차단하는 robots.txt 예시
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: PerplexityBot
Disallow: /
해결 방법
AI 검색에 노출되려면 robots.txt에서 주요 AI 크롤러를 허용해야 합니다.
# AI 봇을 허용하는 robots.txt 예시
User-agent: GPTBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Googlebot
Allow: /
주요 AI 크롤러 목록:
| 크롤러 | 운영사 | 용도 |
|---|---|---|
| GPTBot | OpenAI | ChatGPT 학습 및 검색 |
| ClaudeBot | Anthropic | Claude 학습 |
| PerplexityBot | Perplexity | AI 검색 |
| ChatGPT-User | OpenAI | ChatGPT 실시간 브라우징 |
| Bingbot | Microsoft | Copilot 검색 |
3. 서버 오류(500, 403)
문제: 크롤러 요청 시 서버 에러 발생
출처: OpenAI Community ↗
서버 로그에서는 200 응답이지만, ChatGPT는 403 또는 500 에러를 받는 경우가 보고됨
서버가 AI 크롤러의 요청에 오류를 반환하면 콘텐츠를 전혀 읽을 수 없습니다.
일반적인 원인:
| 에러 코드 | 원인 | 해결 방법 |
|---|---|---|
| 403 Forbidden | 봇 차단, WAF 규칙 | AI 봇 User-Agent 허용 |
| 500 Internal Error | 서버 과부하, 코드 오류 | 서버 안정성 점검 |
| 503 Service Unavailable | 일시적 과부하 | 트래픽 분산 |
해결 방법
- WAF/방화벽 설정 점검: AI 크롤러 User-Agent가 차단되지 않았는지 확인
- 서버 로그 분석: AI 크롤러 요청에 대한 응답 코드 확인
- 부하 테스트: 크롤러 트래픽 처리 가능 여부 점검
4. 동적 URL 구조
문제: SPA의 해시 기반 라우팅
출처: Lumar SPA SEO Guide ↗
SPA의 URL 구조에서 콘텐츠가 변경되어도 URL이 바뀌지 않으면 크롤러가 각 페이지를 구분하지 못함
문제가 되는 URL 패턴:
# 크롤러가 구분하기 어려운 패턴
https://example.com/#/products
https://example.com/#/about
https://example.com/?page=products
# 크롤러가 이해하기 쉬운 패턴
https://example.com/products
https://example.com/about
해결 방법
- History API 사용으로 클린 URL 구현
- 각 페이지에 고유 URL 할당
- 사이트맵에 모든 주요 페이지 포함
5. 콘텐츠 로딩 지연
문제: Lazy Loading으로 인한 콘텐츠 미로드
AI 크롤러는 스크롤하거나 클릭하지 않습니다. Lazy Loading으로 구현된 콘텐츠는 크롤러에게 보이지 않습니다.
문제 상황:
페이지 로드 시 상태
├── 헤더 ✓ (크롤러 인식)
├── 첫 번째 섹션 ✓ (크롤러 인식)
├── 두 번째 섹션 ⏳ (스크롤 시 로드 - 인식 불가)
└── 푸터 ⏳ (스크롤 시 로드 - 인식 불가)
해결 방법
- 핵심 콘텐츠는 초기 로드에 포함
- Lazy Loading은 이미지, 동영상에만 적용
- 중요 텍스트 콘텐츠는 즉시 로드
6. 메타 로봇 태그 문제
문제: noindex, nofollow 설정
<!-- AI 크롤러 접근을 차단하는 메타 태그 -->
<meta name="robots" content="noindex, nofollow">
robots.txt와 별개로, 개별 페이지의 메타 태그가 크롤링을 차단할 수 있습니다.
해결 방법
AI 검색에 노출되어야 할 페이지는 다음 설정을 확인하세요:
<!-- AI 크롤러 접근을 허용하는 메타 태그 -->
<meta name="robots" content="index, follow">
7. 인증/로그인 벽
문제: 페이월, 로그인 필수 콘텐츠
AI 크롤러는 로그인할 수 없습니다. 인증이 필요한 콘텐츠는 크롤링이 불가능합니다.
크롤링 불가 상황:
| 유형 | 예시 | AI 접근 |
|---|---|---|
| 페이월 | 유료 구독 콘텐츠 | 불가 |
| 로그인 필수 | 회원 전용 페이지 | 불가 |
| 비밀번호 보호 | 프라이빗 페이지 | 불가 |
해결 방법
- 인용되길 원하는 콘텐츠는 공개 접근 허용
- 페이월 콘텐츠는 요약 또는 일부 공개
- 로그인 페이지 자체는 접근 가능하게 유지
AI 크롤러 접근성 점검 도구
사이트의 AI 크롤러 접근성을 점검할 수 있는 도구들입니다.
| 도구 | 용도 | 비용 |
|---|---|---|
| CrawlerCheck | Googlebot, AI 크롤러 접근성 테스트 | 무료 |
| Indexly AI Bot Checker | AI 봇 접근성 종합 점검 | 무료 |
| 줍줍분석기 | robots.txt, 메타태그 종합 진단 | 무료 |
자주 묻는 질문
Q1: GPTBot을 차단해도 ChatGPT에서 내 사이트가 보이나요?
아니요. GPTBot이 차단되면 ChatGPT는 해당 사이트의 콘텐츠를 실시간으로 읽거나 인용할 수 없습니다. 다만, 과거에 학습된 내용이 있다면 간접적으로 언급될 수 있습니다.
Q2: JavaScript 사이트도 AI 검색에 노출될 수 있나요?
가능합니다. SSR(Server-Side Rendering) 또는 Prerendering을 적용하면 AI 크롤러가 콘텐츠를 읽을 수 있습니다. Next.js, Nuxt.js 같은 프레임워크가 이를 지원합니다.
Q3: 어떤 AI 크롤러를 허용해야 하나요?
주요 AI 검색 노출을 원한다면 최소한 GPTBot, ClaudeBot, PerplexityBot, Bingbot을 허용하세요. 각각 ChatGPT, Claude, Perplexity, Microsoft Copilot과 연결됩니다.
Q4: robots.txt 변경 후 얼마나 지나야 효과가 있나요?
AI 크롤러가 변경된 robots.txt를 인식하는 데 수일에서 수주가 걸릴 수 있습니다. Google Search Console 등에서 robots.txt 재크롤링을 요청하면 더 빠를 수 있습니다.
Q5: SPA를 완전히 다시 만들어야 하나요?
그렇지 않습니다. 기존 SPA에 Prerendering 서비스를 추가하면 크롤러용 정적 HTML을 제공할 수 있습니다. Prerender.io 같은 서비스가 이 기능을 제공합니다.
마무리
AI 크롤러가 웹사이트를 읽지 못하는 주요 원인을 정리하면:
- JavaScript 의존성: SSR 또는 Prerendering으로 해결
- robots.txt 차단: AI 봇 명시적 허용
- 서버 오류: WAF 설정 및 서버 안정성 점검
- 동적 URL: 클린 URL 구조 적용
- Lazy Loading: 핵심 콘텐츠는 즉시 로드
- 메타 태그: noindex 설정 점검
- 인증 벽: 공개 콘텐츠 영역 확보
AI 검색 시대에 GEO 최적화의 첫 단계는 AI 크롤러가 콘텐츠를 읽을 수 있게 하는 것입니다. 기술적 접근성 없이는 아무리 좋은 콘텐츠도 AI에게 인용되지 않습니다.
더 자세한 상담이 필요하시면 XEO 무료 진단을 신청하세요. 사이트의 AI 크롤러 접근성을 점검하고 개선 방안을 제안해드립니다.