구글봇
구글봇(Googlebot)은 구글 검색이 웹을 크롤하기 위해 사용하는 메인 크롤러로, 모바일을 시뮬레이션하는 스마트폰 변형과 데스크톱 변형 두 종류로 구성됩니다. 발견한 페이지를 크롤한 뒤 에버그린 크로미엄 엔진으로 렌더링하여 색인에 반영합니다.
- 구글봇은 구글 검색의 메인 크롤러로, '크롤러'라는 일반 용어와 달리 구글이 운영하는 특정 봇을 가리킵니다.
- 구글봇 스마트폰(모바일)과 구글봇 데스크톱 두 변형이 있으며, 대부분의 사이트는 모바일 버전을 우선 색인합니다.
- 발견 → 크롤 → 에버그린 크로미엄 렌더링 → 색인 순서로 동작하며, 자바스크립트로 생성된 콘텐츠도 렌더링 단계에서 처리합니다.
- 두 변형 모두 robots.txt에서 동일한 product token Googlebot을 따르므로, robots.txt로 모바일·데스크톱을 선별 차단할 수 없습니다.
- 정품 구글봇은 역방향·정방향 DNS 조회 또는 구글 공개 IP 범위로 검증할 수 있고, User-Agent 문자열만으로는 위조될 수 있어 검증이 필요합니다.
개요
구글봇은 구글 검색이 웹 페이지를 수집하기 위해 사용하는 두 종류 크롤러의 총칭입니다. 하나는 모바일 사용자를 시뮬레이션하는 구글봇 스마트폰, 다른 하나는 데스크톱 사용자를 시뮬레이션하는 구글봇 데스크톱입니다. 공식 문서에 따르면 대부분의 사이트에서 구글 검색은 콘텐츠의 모바일 버전을 우선 색인하므로, 스마트폰 변형의 크롤 요청이 데스크톱 변형보다 훨씬 많습니다.
구글봇은 단순히 HTML을 내려받는 데 그치지 않고, 항상 최신 크로미엄 버전을 따라가는 에버그린 렌더링 엔진을 사용합니다. 따라서 자바스크립트로 동적으로 생성되는 콘텐츠도 렌더링 과정에서 처리됩니다. User-Agent 문자열 안의 Chrome 버전(W.X.Y.Z 자리)은 최신 크로미엄 릴리스에 맞춰 지속적으로 갱신됩니다.
동작 방식: 크롤 → 렌더 → 색인
구글봇은 발견한 URL을 크롤하여 응답을 수집하고, 이어서 크로미엄 엔진으로 페이지를 렌더링한 뒤 그 결과를 색인에 반영합니다. 공식 문서 기준으로 구글봇은 한 사이트에 평균적으로 몇 초에 한 번 이상 접근하지 않도록 조절하며, 지원 파일은 처음 2MB까지(PDF는 최대 64MB) 처리합니다. 미국 IP에서 크롤할 때 구글봇의 타임존은 태평양 표준시입니다.
User-Agent 문자열
요청의 HTTP User-Agent 헤더로 어떤 구글봇이 접근했는지 구분할 수 있습니다. 구글 공식 문서가 명시하는 대표 문자열은 다음과 같습니다.
- 구글봇 스마트폰:
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) - 구글봇 데스크톱:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Chrome/W.X.Y.Z Safari/537.36
두 변형 모두 robots.txt에서 동일한 product token Googlebot을 따릅니다. 그 결과 robots.txt 규칙만으로는 스마트폰과 데스크톱을 따로 겨냥해 차단하거나 허용할 수 없습니다.
정품 봇 검증
User-Agent 문자열은 누구나 위조할 수 있으므로, 트래픽이 진짜 구글봇인지 확인하려면 별도 검증이 필요합니다. 구글 공식 문서가 안내하는 방법은 두 가지입니다.
- 수동 검증(DNS): 접속 IP에 대해 역방향 DNS 조회를 수행하여 도메인이
googlebot.com,google.com,googleusercontent.com중 하나로 끝나는지 확인하고, 다시 정방향 DNS 조회로 원래 IP와 일치하는지 검증합니다. 역방향 조회 결과는crawl-***-***-***-***.googlebot.com같은 형태를 가집니다. - 자동 검증(IP 범위): 구글이 공개하는 JSON 파일(common-crawlers.json 등)의 CIDR IP 범위와 접속 IP를 대조합니다.
실행 체크리스트
허용해야 할 항목
- 구글봇이 페이지 렌더링에 필요한 자바스크립트·CSS·이미지 리소스에 접근할 수 있도록 robots.txt에서 차단하지 않기
- 중요한 페이지가 robots.txt의
Disallow나 noindex로 막혀 있지 않은지 점검 - 모바일 우선 색인을 고려해 모바일 페이지에 데스크톱과 동일한 콘텐츠·메타데이터 노출
차단·검증해야 할 항목
- 구글봇으로 사칭한 트래픽을 무조건 신뢰하지 말고 DNS 또는 공개 IP 범위로 검증한 뒤 처리
- User-Agent 문자열만으로 방화벽·접근 정책을 결정하지 않기
- 특정 경로를 크롤에서 제외하려면 robots.txt token
Googlebot으로 규칙을 작성(스마트폰·데스크톱 선별 차단은 불가)