구글봇(Googlebot)은 구글이 검색 색인을 만들기 위해 웹페이지를 자동으로 방문해 내용을 수집하는 크롤러 프로그램의 이름이다. 구글은 구글봇을 “Google 검색에서 사용하는 두 가지 유형의 웹 크롤러의 일반적인 이름”이라고 정의한다 (Google 검색 센터, Googlebot).
이름이 하나라서 프로그램도 하나로 보이지만 실제로는 그렇지 않다. 구글봇이라는 이름 아래 모바일용과 데스크톱용 크롤러가 따로 돌고, 그 바깥에는 이미지와 동영상, AI 학습을 맡는 별도의 크롤러가 더 있다.
구글봇이 페이지를 가져가지 못하면 색인이 만들어지지 않고, 색인이 없으면 검색 결과에도 나오지 않는다. 사이트가 구글에 노출되는 과정의 첫 관문이 구글봇이다.
구글봇이라는 이름을 쓰는 것은 둘이다. 휴대기기 사용자를 흉내 내는 구글봇 스마트폰과 데스크톱 사용자를 흉내 내는 구글봇 데스크톱이다.
둘 중 주력은 모바일이다. 구글은 “대부분의 사이트에서 Google 검색은 주로 모바일 버전 콘텐츠의 색인을 생성”하므로 “대부분의 Googlebot 크롤링 요청에 모바일 크롤러가 사용되며 그 외 소수의 요청에 데스크톱 크롤러가 사용”된다고 밝힌다.
실무에서 자주 헛도는 지점이 여기 있다. 두 크롤러는 HTTP 헤더로는 구분되지만 robots.txt에서는 같은 토큰 Googlebot을 쓰기 때문에, robots.txt로 모바일만 막거나 데스크톱만 여는 식의 선택적 통제는 불가능하다.
구글봇 바깥에도 구글의 크롤러가 여럿이다. robots.txt에서 각자 다른 토큰으로 따로 통제한다 (Google 검색 센터, Google의 일반 크롤러 목록).
| robots.txt 토큰 | 하는 일 |
|---|---|
| Googlebot | 구글 검색과 디스커버의 색인 생성 |
| Googlebot-Image | 구글 이미지와 favicon, 로고가 나오는 검색 기능 |
| Googlebot-Video | 동영상 관련 검색 기능 |
| Googlebot-News | news.google.com과 구글 뉴스 앱 |
| Google-InspectionTool | 리치 결과 테스트와 서치 콘솔 URL 검사 |
| GoogleOther | 여러 제품팀이 쓰는 범용 크롤링, 일회성 연구 개발 포함 |
| Google-Extended | 제미나이 모델 학습과 그라운딩에 쓸지 여부 관리 |
Google-Extended는 성격이 다르다. 별도의 사용자 에이전트 문자열이 없고 robots.txt 토큰으로만 존재해서, 구글봇은 그대로 열어 두고 AI 학습만 따로 거절하는 데 쓴다.
크롤러를 목적별로 쪼개 두는 방식은 AI 크롤러 일반의 관행이기도 하다. 이름 하나를 막을 때 무엇까지 같이 막히는지 먼저 확인해야 하는 이유다.
링크를 타고 새 주소를 발견한 뒤 내려받고 렌더링한다. 구글은 구글봇이 “이전에 크롤링한 페이지에 삽입된 링크에서 주로 크롤링할 새 URL을 발견”한다고 설명한다.
접근 빈도는 생각보다 낮다. 구글에 따르면 “대부분의 경우 Googlebot은 평균적으로 몇 초에 한 번 정도만 사이트에 액세스”한다.
여기서 잘 알려지지 않은 한도가 하나 있다. 구글봇은 지원되는 파일 형식의 처음 2MB와 PDF 파일의 처음 64MB만 크롤링하고, 한도에 닿으면 가져오기를 멈춘 뒤 이미 받은 부분만 색인 생성으로 넘긴다.
한국어 자료에서 흔히 보이는 15MB는 구글봇의 값이 아니다. 15MB는 구글 크롤러 전체의 기본값이고, 구글은 “Googlebot과 같은 Google 크롤러는 크기 한도가 더 작거나(예: 2MB) PDF에 HTML보다 큰 파일 크기 한도를 지정할 수 있다”고 따로 적어 두었다 (Google 검색 센터, Google 크롤러 및 가져오기 도구에 관한 개요).
이 한도는 압축되지 않은 데이터 기준이고, HTML이 불러오는 CSS와 자바스크립트 같은 리소스도 각각 같은 한도를 따로 적용받는다.
내려받는 것으로 끝나지도 않는다. 구글은 “브라우저에서 방문 페이지를 렌더링하는 방식과 유사하게 최신 버전의 Chrome을 사용하여 페이지를 렌더링하고 발견된 자바스크립트를 실행”한다 (Google 검색 센터, Google 검색의 작동 방식).
속도는 구글이 알아서 조절한다. 사이트마다 크롤링 용량 한도와 크롤링 수요를 계산해 크롤링 예산을 정하는데, 모든 사이트가 같은 보수적인 한도에서 시작하고 사이트가 버티면 시간이 지나며 한도가 올라간다 (Google 검색 센터, 크롤링 예산 최적화).
역방향 DNS 조회를 두 번 돌려서 확인한다. 구글은 사용자 에이전트 문자열만 보고 판단하지 말라고 명시한다.
“다른 크롤러가 Googlebot에서 사용되는 HTTP user-agent 요청 헤더로 위장하는 경우가 많다”는 것이 이유다.
절차는 세 단계다 (Google 검색 센터, Google 크롤러 및 가져오기 도구의 요청 확인).
host 66.249.66.1두 번 돌리는 이유는 역방향 DNS만으로는 위조를 걸러 내지 못하기 때문이다. 순방향 조회까지 일치해야 그 IP가 실제로 구글 소유라는 것이 확인된다.
IP 대역을 통째로 대조하는 방법도 있다. 구글이 일반 크롤러의 IP 목록을 JSON으로 공개하는데, 2026년 8월 28일 자 파일을 받아 세어 보니 프리픽스가 315개였고 그중 IPv4가 169개, IPv6가 146개였다 (Google, googlebot.json).
흔한 오해가 여기서 갈린다. 같은 파일에서 IPv4 169개 중 66으로 시작하는 대역은 121개뿐이고 나머지는 192, 34, 35로 시작한다.
로그에서 66.249로 시작하는 주소만 구글봇으로 취급하면 나머지 48개 대역의 요청을 정상 크롤링으로 인식하지 못한다.
IPv6가 146개로 전체의 절반에 가깝다는 점도 실무에서 걸린다. IPv6 요청을 로그에서 아예 안 보고 있다면 구글봇 트래픽의 상당 부분을 놓치고 있는 것이다.
호스트 이름의 형태도 하나가 아니다. 일반 크롤러는 crawl-***-***-***-***.googlebot.com 또는 geo-crawl-***-***-***-***.geo.googlebot.com으로 확인되고, AdsBot 같은 예외 상황 크롤러는 rate-limited-proxy-***-***-***-***.google.com으로 확인된다.
목적에 따라 도구가 다르다. 구글은 크롤링을 막는 것과 색인 생성을 막는 것을 별개로 구분한다.
| 하고 싶은 것 | 쓰는 방법 |
|---|---|
| 페이지를 크롤링하지 못하게 | robots.txt 파일 |
| 검색 결과에 색인이 생성되지 않게 | noindex |
| 크롤러도 사용자도 접근하지 못하게 | 비밀번호 보호 같은 다른 방법 |
robots.txt로 색인을 막으려는 시도가 대표적인 실수다. 구글은 “Googlebot이 페이지를 크롤링하지 못하도록 차단한다고 해서 페이지의 URL이 검색 결과에 표시되는 것까지 차단되는 것은 아니다”라고 못 박는다.
막았을 때 잃는 범위도 검색에 그치지 않는다. 구글봇을 차단하면 구글 검색과 디스커버뿐 아니라 구글 이미지, 구글 동영상, 구글 뉴스까지 함께 영향을 받는다.
차단이 아니라 부하가 문제라면 접근법이 달라진다. 트래픽이 갑자기 몰릴 때 구글이 권하는 응급 처치는 크롤링 요청에 200 대신 500이나 503, 429를 반환하는 것이다 (Google 검색 센터, Google 크롤링 속도 낮추기).
다만 기간을 지켜야 한다. 구글은 이 방법을 23시간에서 12일 정도의 단기 조치로 한정하고, 2일 이상 유지하면 “Googlebot이 며칠 동안 동일한 URL에서 이러한 상태 코드를 발견하면 Google 색인에서 URL이 삭제될 수 있다”고 경고한다.
크롤링 급증의 원인이 사이트 쪽에 있는 경우도 많다. 구글은 정렬과 필터 조합으로 URL이 무한히 늘어나는 속성 탐색, 날짜별 URL이 끝없이 생기는 캘린더, 동적 검색 광고 타겟을 흔한 원인으로 든다.
구글봇이 실제로 무엇을 가져갔는지는 구글 서치 콘솔의 크롤링 통계와 URL 검사에서 확인한다. 차단 설정을 바꾸기 전에 로그와 보고서를 먼저 보는 순서가 테크니컬 SEO의 기본이다.
정해진 주기가 없다. 구글은 인기가 높은 URL일수록 최신 상태를 유지하려고 더 자주 크롤링하는 경향이 있다고만 설명한다.
한 사이트 안에서 크롤러끼리 자원을 나눠 쓴다는 점도 알아 둘 만하다. 구글은 “크롤러마다 크롤링 수요는 다르지만 모든 크롤러가 크롤링 용량 한도를 공유”한다고 밝힌다.
이미지 크롤링이 몰리면 그만큼 다른 크롤링에 쓸 용량이 줄어든다는 뜻이다.
구독자에게만 보이는 본문을 구글봇에 보여 주는 것 자체는 허용되지만, 그 사실을 구조화된 데이터로 표시해야 한다. 표시하지 않으면 사용자와 크롤러에게 다른 내용을 보여 주는 클로킹으로 오인될 수 있다.
구글은 JSON-LD의 isAccessibleForFree와 hasPart 속성으로 유료 구간을 표시하는 방법을 안내하며, 이 데이터가 “스팸 정책을 위반하는 클로킹 행위와 페이월 콘텐츠를 구분하는 데 도움이 된다”고 설명한다 (Google 검색 센터, 구조화된 구독 및 페이월 콘텐츠 데이터).
색인을 아예 원하지 않는 유료 콘텐츠라면 구조화된 데이터를 넣을 필요 없이 접근 자체를 막으면 된다.
서치폴라리스가 AI 검색 가시성을 진단하고 GEO 실행까지 대행합니다.