크롤러빌리티 (Crawlability)
최종 업데이트:
정의
크롤러빌리티(Crawlability)는 검색엔진 크롤러(Googlebot 등)와 AI 봇(GPTBot, ClaudeBot 등)이 웹사이트의 페이지에 접근해 콘텐츠를 읽고 파싱할 수 있는 능력을 의미한다.
크롤러빌리티는 SEO와 AEO 퍼포먼스의 가장 기초적인 조건이다. 봇이 페이지를 크롤할 수 없으면 색인도 불가능하고, 색인이 없으면 랭킹도 없으며, AI 답변 데이터로도 활용되지 않는다. 화려한 콘텐츠와 백링크를 갖추고 있어도 크롤러빌리티가 막혀 있으면 아무런 SEO 효과를 기대할 수 없다.
요약
크롤러빌리티 핵심: ①크롤 가능 → ②색인 가능 → ③랭킹 순서로 진행 → ④1단계 막히면 2·3단계 불가 → ⑤차단 원인 7가지 점검 → ⑥AI 봇은 JS 미실행이므로 SSR/SSG 필수 → ⑦GSC URL 검사 + Screaming Frog로 정기 감사. 특히 Cloudflare AI 봇 자동 차단 설정에 주의한다.
크롤러빌리티 · 인덱싱 · 랭킹의 3단계
[COMPARISON_TABLE: 크롤러빌리티 → 인덱싱 → 랭킹 3단계 순차 구조]
SEO의 작동 과정은 순차적인 3단계다.
1단계: 크롤러빌리티 (접근 가능성)
봇이 페이지 URL에 접근해 HTML을 다운로드하고 콘텐츠를 파싱할 수 있는가? 이 단계가 실패하면 이후 모든 단계가 불가능하다.
2단계: 인덱싱 (저장 가능성)
크롤된 콘텐츠를 구글의 색인에 저장하는 단계. noindex 태그나 저품질 판정으로 저장되지 않을 수 있다. 자세히는 크롤링 vs 색인 참조.
3단계: 랭킹 (노출 순위)
색인된 페이지가 실제 검색 결과에서 특정 순위에 노출되는 단계.
3단계 모두가 충족되어야 검색 트래픽이 발생한다.
크롤러빌리티 차단 7가지 원인
1. robots.txt Disallow
가장 흔한 차단 원인이다. robots.txt에 Disallow: / 또는 특정 경로를 차단하면 해당 경로의 모든 페이지를 크롤할 수 없다.
# 잘못된 예 — 전체 차단
User-agent: *
Disallow: /
# AI 봇 차단 예
User-agent: GPTBot
Disallow: /
자세히는 robots.txt에 AI 봇 허용하는 방법, llms.txt 참조.
2. 방화벽·CDN IP 차단
Cloudflare의 봇 방어 기능이 기본적으로 일부 AI 봇을 차단하는 경우가 있다. WAF(웹 애플리케이션 방화벽) 규칙, 속도 제한(rate limiting)이 크롤러의 요청을 차단할 수 있다.
3. 인증·로그인 필요
회원 전용 콘텐츠, 로그인이 필요한 페이지는 봇이 접근할 수 없다. 의도적인 설계라면 문제없지만, 실수로 공개해야 할 콘텐츠에 인증이 걸려 있다면 색인이 불가능하다.
4. JavaScript 렌더링 의존
CSR(클라이언트 사이드 렌더링)으로 작동하는 페이지는 HTML 소스에 실제 콘텐츠가 없다. Googlebot은 2단계 렌더링(HTML 파싱 → JS 실행)으로 처리하지만 지연이 있다. GPTBot·ClaudeBot·PerplexityBot 등 AI 봇은 JavaScript를 실행하지 않아 빈 페이지만 보인다. 자세히는 JavaScript SEO, 렌더링 참조.
5. 깊은 크롤 뎁스
홈에서 5+ 클릭 깊이의 페이지는 봇이 도달하기 어렵다. 자세히는 크롤 뎁스 참조.
6. 깨진 내부 링크
링크가 가리키는 페이지가 존재하지 않거나(404) 리다이렉트 체인이 깊으면 봇이 원본 페이지에 도달하지 못한다.
7. 서버 오류 (5xx)
500·503 등 서버 오류 응답이 반복되면 봇이 재시도를 줄이고 결국 해당 URL의 크롤 빈도를 낮춘다.
크롤러빌리티 점검 5단계
1단계: robots.txt 직접 확인
example.com/robots.txt에 직접 접근해 Disallow 규칙을 확인한다. 의도치 않게 중요 경로가 차단되어 있지 않은지 점검한다. AI 봇별 설정도 확인한다.
2단계: XML 사이트맵 확인
example.com/sitemap.xml에 접근해 모든 중요 페이지가 포함되어 있는지 확인한다. 사이트맵에 없는 페이지는 봇이 발견하기 어렵다.
3단계: Google Search Console URL 검사
GSC의 "URL 검사" 도구로 특정 페이지의 크롤 상태, 마지막 크롤 시간, 크롤 가능 여부를 확인한다. "URL이 Google에 등록되어 있지 않음" 또는 "크롤 오류" 메시지가 있다면 즉시 대응이 필요하다. 자세히는 구글 서치 콘솔 참조.
4단계: Screaming Frog 전체 크롤 감사
Screaming Frog로 전체 사이트를 크롤해 404 오류·리다이렉트 체인·크롤 깊이·robots.txt 차단 페이지를 한번에 파악한다. User-Agent를 변경해 Googlebot 또는 AI 봇 시뮬레이션도 가능하다.
5단계: 방화벽·CDN 봇 정책 점검
Cloudflare·AWS CloudFront 등 CDN/방화벽 설정에서 봇 관련 규칙을 검토한다. 검색 봇·AI 봇이 차단 목록에 포함되어 있지 않은지 확인하고, 필요한 봇은 화이트리스트에 추가한다. 서버 접근 로그에서 Googlebot·GPTBot 등의 방문 기록을 직접 확인하면 가장 정확한 진단이 가능하다.
AI 봇 크롤러빌리티 (AEO 핵심)
Googlebot의 JS 처리
Googlebot은 JavaScript를 실행하지만 2단계 렌더링 대기열을 사용하므로 실제 인덱싱까지 시간이 걸린다. CSR 페이지는 HTML 인덱싱 후 일정 시간이 지나야 완전히 처리된다. 자세히는 JavaScript SEO 참조.
AI 봇은 HTML만 읽는다
GPTBot(OpenAI), ClaudeBot(Anthropic), PerplexityBot은 JavaScript를 실행하지 않는다. CSR로 렌더링되는 React·Vue·Angular SPA에서는 HTML 소스에 실제 콘텐츠가 없으므로 AI 봇에게 빈 페이지로 보인다.
# AI 봇이 보는 CSR 페이지 HTML 소스
<body>
<div id="root"></div> <!-- 텍스트 없음 -->
</body>
# AI 봇이 보는 SSR/SSG 페이지 HTML 소스
<body>
<h1>SEO란 무엇인가?</h1>
<p>SEO는 검색엔진 최적화이다...</p> <!-- 내용 있음 -->
</body>
AEO 관점에서 AI 봇 크롤러빌리티는 AI 답변 데이터 인용의 필수 조건이다. 자세히는 렌더링 참조.
크롤러빌리티와 인덱싱의 4가지 조합
크롤 가능 + 인덱싱 가능 (정상)
가장 바람직한 상태. 검색 결과 노출 가능.
크롤 가능 + 인덱싱 차단 (의도적)
noindex 태그로 크롤은 허용하되 색인을 막는 경우. 관리자 페이지, 스테이징 환경 등에 사용. 자세히는 noindex 태그 활용 참조.
크롤 차단 + 인덱싱 가능 (위험 조합)
robots.txt로 차단했지만 외부 백링크가 있어 URL은 색인된 경우. 콘텐츠 없이 URL만 색인되어 품질 시그널이 낮아진다.
크롤 차단 + 인덱싱 차단 (완전 차단)
robots.txt + noindex 조합 또는 서버 오류 반복. 검색 결과에서 완전히 제외.
크롤러빌리티 개선 5가지
1. robots.txt 정리 및 AI 봇 명시적 허용
AI 봇이 차단되어 있지 않은지 확인하고, AEO를 원한다면 명시적으로 허용한다. 자세히는 robots.txt에 AI 봇 허용하는 방법 참조.
2. SSR·SSG 적용
React·Vue·Angular SPA는 Next.js·Nuxt.js의 SSG/SSR 모드로 전환해 HTML 소스에 실제 콘텐츠를 포함시킨다. 자세히는 JavaScript SEO, 렌더링 참조.
3. XML 사이트맵 최신화 및 자동 생성
콘텐츠 발행 시 사이트맵이 자동으로 업데이트되도록 CMS를 설정한다. GSC에서 사이트맵을 제출해 빠른 크롤 요청을 유도한다.
4. 내부 링크 강화
깊이 있는 페이지에서 새 콘텐츠로, 그리고 새 콘텐츠에서 기존 관련 콘텐츠로의 양방향 링크를 추가한다. 자세히는 내부 링크 전략 참조.
5. 방화벽·CDN 화이트리스트 관리
Cloudflare·AWS 등에서 Googlebot, GPTBot, ClaudeBot, PerplexityBot의 IP 범위를 화이트리스트에 추가하거나 차단 규칙에서 제외한다. 서버 로그로 주기적으로 봇 접근 기록을 모니터링한다.
한국 시장 적용
한국 호스팅의 봇 차단 문제
일부 한국 호스팅 서비스는 보안 목적으로 기본 봇 차단 정책이 강하게 설정되어 있다. Cafe24는 악성 봇 차단 기능을 기본으로 제공하며, 설정에 따라 Googlebot과 AI 봇이 함께 차단될 수 있다. 설정 > 보안 > 봇 관리 페이지에서 검색 봇 허용 여부를 반드시 확인해야 한다.
모바일 m.example.com 분리 사이트
m.example.com 별도 모바일 사이트를 운영하는 경우, 데스크탑·모바일 크롤러빌리티를 각각 점검해야 한다. 모바일 페이지만 크롤 차단되어 있거나 반대로 데스크탑 페이지가 누락되는 경우가 있다. 자세히는 모바일 퍼스트 인덱싱 참조.
네이버 검색 봇(Yeti)
네이버 검색 봇 Yeti도 robots.txt를 준수한다. 구글봇 허용 + Yeti 차단 또는 그 반대 설정이 의도치 않게 발생할 수 있으므로 두 봇의 robots.txt 설정을 별도로 점검한다. 자세히는 네이버 SEO, 네이버 서치어드바이저 참조.
자주 묻는 질문
Q. 크롤러빌리티와 인덱서빌리티(Indexability)는 다른 개념인가요?
A. 다르다. 크롤러빌리티는 봇이 페이지에 접근해 HTML을 읽을 수 있는가의 문제다. 인덱서빌리티는 크롤된 페이지를 구글 색인에 저장할 수 있는가의 문제다. 크롤 가능하더라도 noindex 태그나 저품질 판정으로 색인되지 않을 수 있다. 자세히는 크롤링 vs 색인 참조.
Q. Cloudflare를 사용 중인데 AI 봇이 차단될 수 있나요?
A. 그렇다. Cloudflare의 Bot Fight Mode나 WAF 규칙이 GPTBot·ClaudeBot 등 AI 봇을 차단할 수 있다. Cloudflare 대시보드 > Security > Bots에서 설정을 확인하고, 허용할 AI 봇의 User-Agent를 화이트리스트 규칙에 추가해야 한다.
Q. SSG로 구축된 사이트는 크롤러빌리티 문제가 없나요?
A. SSG(정적 사이트 생성)는 크롤러빌리티 면에서 가장 우수하다. 모든 페이지가 사전에 HTML로 렌더링되어 있어 모든 봇이 JavaScript 실행 없이 전체 콘텐츠를 읽을 수 있다. 단, 빌드 주기가 긴 경우 최신 콘텐츠가 반영되지 않을 수 있으므로 ISR 등의 하이브리드 방식을 고려한다. 자세히는 렌더링 참조.
Q. 크롤 차단이 없는데도 색인이 안 되는 이유는 무엇인가요?
A. 크롤은 되지만 색인이 안 되는 주요 원인: ①noindex 태그 ②중복 콘텐츠(다른 URL이 canonical으로 지정됨) ③얇은 콘텐츠 판정 ④카노니컬 설정 오류 ⑤구글의 크롤 버짓 소진. GSC URL 검사에서 "색인 생성됨"이 아닌 다른 상태가 표시된다면 이유를 확인해야 한다. 자세히는 인덱싱 커버리지 진단 참조.
Q. 크롤러빌리티 정기 점검 주기는 어떻게 되나요?
A. 소규모 사이트는 분기 1회, 중규모 사이트는 월 1회, 콘텐츠 대량 추가 시에는 추가 후 즉시 점검이 권장된다. GSC의 색인 커버리지 리포트를 주간으로 모니터링하면 대부분의 문제를 조기에 발견할 수 있다. 자세히는 크롤 버짓 참조.
관련 출처
- Google Search Central (2024). Crawling and indexing. https://developers.google.com/search/docs/fundamentals/how-search-works
- Google Search Central (2024). Robots.txt specifications. https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt
- Screaming Frog (2024). How to use Screaming Frog SEO Spider. https://www.screamingfrog.co.uk/seo-spider/
이 페이지를 참조하는 항목
- 📘개념크롤 버짓 (Crawl Budget)
- 📘개념구글 서치 콘솔 (Google Search Console) 완전 활용 가이드
- 📙How-to인덱싱 커버리지 진단
- 📘개념GEO 마스터 가이드: 5대 영역 체크리스트
- 📘개념AEO란?
- 📙How-to네이버 서치어드바이저 등록 가이드
- 📘개념네이버 SEO 작동 원리
- 📘개념내부 링크 전략
- 📙How-toChatGPT 인용 최적화
- 📙How-toPerplexity 인용 최적화
- 📘개념301 리다이렉트
- 📘개념크롤 뎁스 (Crawl Depth)
- 📘개념크롤링 vs 인덱싱
- 📘개념HTTP 상태 코드 (HTTP Status Codes)
- 📘개념JavaScript SEO
- 📘개념모바일 퍼스트 인덱싱 (Mobile-First Indexing)
- 📘개념렌더링 (Rendering)
- 📙How-torobots.txt에 AI 봇 허용하는 방법
- 📘개념사이트 아키텍처 (Site Architecture)
- 📙How-to사이트맵 (XML Sitemap)