구글봇(Googlebot)은 어떻게 진화해 왔을까?
Google 서치 릴레이션 팀의 게리 일리스와 마틴 스플릿은 ‘Search Off the Record’ 에피소드 92 세션에서 웹 크롤러의 역사, 현재, 그리고 미래에 대한 의미 있는 내용을 소개했습니다. 이번 에피소드에서는 Google 크롤러의 진화 과정에서 대역폭과 호스트 부하에 대한 고려 사항, 그리고 변화하는 웹 환경에 따른 새로운 과제에 대한 두 전문가의 심도깊은 토론을 다룹니다.
우리가 흔히 ‘구글이 내 사이트를 크롤링했다’고 말할 때, 그 안에는 6단계에 걸친 기술의 혁신이 담겨 있습니다. 이 글에서는 구글 크롤링 기술 혁신의 과정을 살펴봅니다.
1단계: 웹을 걷기 시작하다 — 스크립트 기반 원시적 크롤링
1990년대 중반, 웹의 초기 모습과 함께 크롤링 개념이 등장했습니다. 당시의 크롤링은 말 그대로 단순 반복이었습니다. Gary Illyes는 ‘curl’이나 ‘wget’ 같은 명령줄 유틸리티를 사용하여 셸 스크립트를 작성, URL 목록을 순회하며 HTML 파일을 저장하는 방식이 기술적으로 가장 초기 형태의 크롤러였다고 언급했습니다.
- 도구: curl, wget, bash script
- 구조: 정적 페이지 위주
- 한계: 자동화는 되었지만, ‘웹 이해’는 불가능
2단계: 탐색의 규칙을 배우다 — robots.txt와 기본 기준
웹이 복잡해지고 사이트가 많아지면서, 크롤링의 효율성과 웹사이트에 대한 기준(규칙)의 필요성이 대두되었습니다. 그 해답 중 하나가 바로 robots.txt였습니다.
- 크롤링 기준 확립: robots.txt, crawl-delay
- 인기 페이지부터 링크 따라가기 (재귀적 탐색)
- 서버 부하 감지 및 속도 조절 도입
3단계: 구글봇의 탄생 — 인덱싱을 위한 기반 다지기
1999년경, 구글은 자신들의 대표 크롤러에 ‘Googlebot’이라는 이름을 공식적으로 부여합니다. 이 시기부터 검색 색인을 위한 대규모 문서 크롤링이 시작됩니다.
- Googlebot 이름 공식화
- 대규모 웹 문서 색인
- 표준 도입 및 지원 확대: meta robots, sitemap.xml
4단계: 서비스별 맞춤 크롤링 — 제품 중심 크롤러의 등장
지메일, 애드센스, 유튜브 등 다양한 서비스가 등장하면서, 독립적인 유저 에이전트를 가진 크롤러가 등장했습니다.
- 크롤러 종류 증가: AdSense Bot, Feedfetcher 등
- 유저 에이전트 다양화 및 혼란
- 관리 복잡성 증가
5단계: 다시 하나로 — 유니파이드 Fetch 인프라의 등장
Google은 통합 인프라를 구축하여 크롤링 방식을 중앙에서 관리합니다. robots.txt와 대역폭 제어도 일관되게 적용됩니다.
- 중앙 집중식 관리
- robots.txt 준수 통합
- 대역폭 제어 시스템 도입
6단계: AI와 함께 진화하다 — 병렬 크롤링 & HTTP/2 시대
Google은 HTTP/2 및 AI를 활용해 크롤링을 병렬화하고 효율성을 극대화하고 있습니다.
- HTTP/2 기반 크롤링 병렬화
- 트래픽 부하 최소화 로직 강화
- AI 기반 크롤링 도입
결론: 변화하는 웹, 적응하는 크롤링
Google 크롤링의 역사는 단순한 수집을 넘어, 웹 변화에 맞춰 끊임없이 진화해온 과정입니다. 기본 원칙(robots.txt 등)과 기술 대응(HTTP/2 등)은 SEO와 사용자 경험 개선에 핵심 요소로 작용하고 있습니다.