크롤러빌리티는 검색엔진 크롤러가 사이트의 페이지와 자원에 접근해 가져올 수 있는 상태입니다. robots.txt 차단, 서버 오류, 로그인 요구처럼 접근을 막는 요인이 없어야 크롤러빌리티가 있다고 봅니다.
Google 검색 센터는 이 단어를 공식 문서 본문에서 따로 정의하지 않습니다. 반면 Ahrefs와 Semrush는 각각 독립된 용어로 정의하고, SEO 실무에서는 표준 표현처럼 씁니다. 그래서 이 글은 크롤러빌리티를 업계에서 통용되는 진단 용어로 다룹니다.
이 글은 Google 검색 센터와 네이버 서치어드바이저의 공식 문서를 기준으로 작성했습니다. Ahrefs와 Semrush의 실무 자료도 참고했습니다.
크롤링과 크롤러빌리티의 차이
크롤링은 크롤러가 URL을 발견하고 페이지를 가져오는 과정 자체를 말합니다. 크롤러빌리티는 그 과정이 실제로 성공할 수 있는 상태인지를 봅니다.
그래서 크롤링은 검색엔진이 하는 일이고, 크롤러빌리티는 사이트 운영자가 점검하는 상태입니다. 크롤러가 어떤 순서로 발견하고 접근하고 읽는지는 크롤링 글에서 이미 다뤘습니다. 여기서는 그 과정이 막히는 지점과 막혔는지 확인하는 방법에 집중합니다.
크롤러빌리티를 막는 요인
크롤러가 페이지에 접근하지 못하게 막는 요인은 여러 갈래로 나뉩니다.
- robots.txt 차단: robots.txt에서 Disallow로 막은 경로는 크롤러가 접근하지 않습니다. 다만 Google은 robots.txt로 차단된 페이지도 다른 사이트가 링크하면 URL만 검색결과에 남을 수 있다고 안내합니다.
- 서버 오류: HTTP 상태 코드가 반복해서 5xx를 반환하면 크롤링 자체가 중단될 수 있습니다. Google은 robots.txt를 12시간 동안 가져오지 못하면 크롤링을 멈추고, 12일에서 30일 사이에는 마지막으로 확인된 유효한 버전을 쓰며, 30일이 지나면 접근 가능한 사이트는 robots.txt가 없는 것처럼 처리합니다. 네이버 검색로봇 Yeti는 다르게 움직입니다. robots.txt가 5xx를 반환하면 모두 허용하지 않음으로 해석하되, 이전에 정상적으로 수집한 규칙이 있으면 그 규칙을 일시적으로 씁니다. 두 검색엔진 모두 서버 오류를 심각하게 보지만 유예 기간과 처리 방식은 다릅니다.
- 로그인 요구: Google은 로그인해야만 볼 수 있는 페이지가 있다고 공식 문서에서 밝힙니다. 검색되길 원하는 핵심 정보는 로그인 없이 볼 수 있는 페이지에도 정리해 둬야 합니다.
- 내부 링크 미연결: 들어오는 내부 링크가 없는 고아 페이지는 크롤러가 링크를 따라가는 방식으로는 발견하지 못합니다.
- JavaScript 의존 콘텐츠: 본문과 링크가 JavaScript 실행 후에만 나타나면 크롤러마다 처리 결과가 다를 수 있습니다. 확인 방법은 JavaScript SEO에서 다룹니다.
요인마다 확인할 도구와 절차가 다릅니다. 원인 하나만 의심하지 말고 아래 절차대로 순서를 밟아 점검하는 편이 낫습니다.
Search Console과 네이버 서치어드바이저의 크롤러빌리티 확인 절차
특정 URL 하나의 크롤러빌리티를 보고 싶다면 URL 검사의 두 필드를 함께 봐야 합니다.
- 크롤링 허용 여부: robots.txt가 이 URL을 차단했는지 보여줍니다.
- 페이지 가져오기: 실제로 서버에서 페이지를 가져올 수 있었는지 보여줍니다. Google 도움말은 크롤링이 허용되어 있어도 페이지 가져오기는 다양한 이유로 실패할 수 있다고 안내합니다.
사이트 전체 상태를 보고 싶다면 크롤링 통계 보고서의 호스트 상태를 확인하세요. 호스트 상태는 robots.txt 가져오기, DNS 변환, 서버 연결 세 항목의 실패율로 정상, 과거 문제, 최근 문제 세 단계로 나뉩니다. 5xx 서버 오류가 반복되면 가용성 경고가 뜹니다.
네이버는 서치어드바이저에서 robots.txt 검증 기능을 제공합니다. 등록한 사이트의 robots.txt를 다시 가져와 Yeti가 실제로 어떤 규칙을 읽는지 확인할 수 있습니다.
Ahrefs나 Semrush 같은 유료 도구는 사이트 전체를 한 번에 감사해 크롤러빌리티 문제를 목록으로 보여줍니다. Google과 네이버의 공식 도구는 URL 하나씩 확인하거나 호스트 단위 통계로 보여준다는 점에서 접근 방식이 다릅니다.
이렇게 확인한 크롤러빌리티는 다음 단계인 인덱서빌리티와 헷갈리기 쉽습니다.
크롤러빌리티와 인덱서빌리티의 경계
크롤러빌리티가 있다고 페이지가 검색결과에 나오는 것은 아닙니다. Ahrefs는 크롤링 가능한 페이지도 색인은 불가능할 수 있다고 구분합니다. 크롤러빌리티는 접근 가능 여부를 보고, 인덱서빌리티는 그 뒤 색인 포함 여부를 봅니다.
| 구분 | 확인하는 것 | 상태가 나쁠 때 생기는 일 |
|---|---|---|
| 크롤러빌리티 | 크롤러가 페이지에 접근해 가져올 수 있는가 | 크롤링 자체가 안 되니 색인도 시작되지 않음 |
| 인덱서빌리티 | 크롤링된 페이지가 색인에 들어갈 수 있는가 | 페이지는 읽혔지만 검색 후보에서 빠짐 |
noindex나 캐노니컬처럼 색인 신호를 직접 다루는 설정은 인덱서빌리티에서 정리합니다. 여기서는 두 개념이 서로 다른 단계라는 경계만 짚습니다.
자주 묻는 질문
크롤러빌리티가 있으면 색인도 보장되나요?
아닙니다. 크롤러빌리티는 접근 가능 여부만 봅니다. 크롤링된 페이지도 콘텐츠 품질이나 중복 판단에 따라 색인에서 제외될 수 있습니다.
크롤러빌리티는 Google 공식 용어인가요?
정확히는 아닙니다. Google 검색 센터의 공식 문서 본문에서는 이 단어를 정의하지 않습니다. Google 크롤링 인프라 허브 페이지의 메타 설명에 영어 단어가 한 번 등장하지만 정의나 용어집 항목은 아닙니다. Ahrefs와 Semrush가 각각 정의를 제공하는 업계 통용어로 보는 편이 정확합니다.
네이버에서도 크롤러빌리티라는 표현을 쓰나요?
네이버 서치어드바이저는 크롤러빌리티라는 표현 대신 수집이라는 말을 씁니다. robots.txt 처리 방식도 Google과 다릅니다. 네이버 검색로봇은 robots.txt가 서버 오류를 반환하면 모두 허용하지 않음으로 해석하되 이전 유효 규칙이 있으면 일시적으로 사용합니다. Google처럼 12시간, 30일 단위로 나눠 유예하지 않습니다.
함께 알아두면 좋은 용어
- 크롤링: 검색로봇이 URL을 발견하고 페이지를 가져오는 과정
- robots.txt: 검색로봇에 크롤링 허용 범위를 알리는 파일
- HTTP 상태 코드: 서버가 요청을 어떻게 처리했는지 보여주는 응답 코드
- 고아 페이지: 내부 링크로 연결되지 않아 크롤러가 발견하기 어려운 페이지
- JavaScript SEO: JavaScript로 만든 페이지를 검색엔진이 읽을 수 있게 점검하는 작업
- URL 검사: 개별 URL의 크롤링과 색인 상태를 확인하는 기능
- 크롤 버짓: Google이 한 사이트에서 크롤링하려는 URL 범위
- 구글봇: 구글 검색이 웹페이지를 발견하고 읽기 위해 쓰는 크롤러