谷歌揭秘:我们部署了数百个未公开的爬虫程序

摘要:谷歌的Gary Illyes和Martin Splitt在最新播客中透露,”Googlebot”实际上并非单一爬虫,而是数百个不同产品的爬虫集合,其中大部分并未公开记录。这些爬虫通过内部API(代号为”Jack”)与统一的爬取基础设施交互。这一披露解释了为什么网站日志中会出现各种未识别的谷歌爬虫,也提醒SEO人员需要更全面地考虑爬虫管理策略。

一、Googlebot的真相:不是一个,而是数百个

在很多人的认知中,Googlebot就是谷歌用来抓取网页的那个爬虫。但谷歌的Gary Illyes在最新一期的Search Off The Record播客中澄清了一个重要事实:Googlebot这个名字是一个历史遗留的误称。

早在2000年代初期,谷歌确实只有一个爬虫,因为当时谷歌只有一个产品——搜索引擎。但随着AdWords等新产品陆续推出,谷歌开始拥有越来越多的爬虫。虽然爬虫数量不断增加,但”Googlebot”这个名字却保留了下来,尽管它早已不是”一个”东西了。

二、爬取基础设施的内部架构

1. “Jack”:爬取基础设施的代号

Gary Illyes透露,谷歌的爬取基础设施有一个内部名称,但他拒绝透露具体是什么。为了方便理解,他在播客中将其代称为”Jack”。

这个基础设施本质上是一个软件即服务(SaaS)平台,提供API端点供内部各个产品调用。当谷歌的某个产品需要从互联网获取数据时,它会向Jack发起API调用,指定各种参数:

  • 等待响应的超时时间
  • 要发送的User-Agent
  • 要遵守的robots.txt产品令牌
  • 其他爬取参数

Jack会为这些参数设置默认值,使得API调用可以尽可能简单。但本质上,这就是一个在云端或数据中心运行的服务,负责从互联网获取数据——”在不破坏互联网的前提下,从互联网获取内容”。

2. 爬虫与抓取器的区别

Gary还解释了谷歌内部对”Crawler(爬虫)”和”Fetcher(抓取器)”的区分:

特性 Crawler(爬虫) Fetcher(抓取器)
工作模式 批量处理,持续运行 单个URL处理
输入 持续的URL流 单个URL
控制方式 自动运行,无需人工等待 用户控制,有人等待响应
典型用途 搜索引擎索引、大规模数据收集 实时数据获取、用户触发操作

三、数百个未公开的爬虫

这是最令人震惊的 revelation:谷歌内部有数百个不同的爬虫和抓取器,其中大部分都没有公开记录。

为什么有这么多爬虫?

谷歌是一个大公司,拥有众多产品和团队,每个团队都可能需要从互联网获取数据:

  • 搜索团队:传统的网页索引爬虫
  • 广告团队:AdWords/Ads相关爬虫
  • 地图团队:Google Maps数据收集
  • 新闻团队:Google News内容获取
  • 图片团队:Google Images图片抓取
  • 购物团队:商品信息和价格监控
  • 学术团队:Google Scholar文献收集
  • 翻译团队:语料库建设
  • …以及更多内部工具和实验性项目

为什么大部分爬虫不公开?

Gary Illyes解释了不公开所有爬虫的 practical reasons:

1. 数量太多

如果要把所有爬虫都记录下来,需要记录”几十个甚至几百个”不同的爬虫。在developers.google.com/crawlers这个页面上展示这么多信息是不现实的。

2. 页面空间限制

Gary直言不讳地说:”页面空间实际上相当宝贵。”他们需要在页面上展示最重要的爬虫,而不是所有爬虫。

3. 爬虫规模差异

很多内部爬虫的抓取量非常小,不值得单独记录。谷歌的策略是:只有当某个爬虫的抓取量达到显著水平时,才会考虑将其文档化。

四、对SEO的启示

1. 日志中的神秘爬虫有了答案

很多网站管理员在服务器日志中看到过各种奇怪的谷歌爬虫User-Agent,但查不到任何官方文档。现在我们知道原因了:这些都是谷歌内部使用的、未公开的爬虫。

常见的已记录爬虫包括:

  • Googlebot (搜索)
  • Googlebot-Image (图片)
  • Googlebot-News (新闻)
  • Googlebot-Video (视频)
  • AdsBot-Google (广告)
  • AdsBot-Google-Mobile-Apps (应用广告)

但日志中可能还会出现更多未记录的爬虫标识。

2. 爬虫管理策略需要更新

了解谷歌有数百个爬虫后,SEO人员需要重新考虑robots.txt和爬虫管理策略:

不要过度限制

如果你看到不认识的谷歌爬虫,不要急于在robots.txt中屏蔽。它可能是谷歌某个产品的合法爬虫,屏蔽可能会影响你在该产品中的展示。

关注抓取频率

Gary提到他有一个工具,当某个爬虫的抓取量超过阈值时会触发警报。网站管理员也应该监控异常的高频抓取。

理解抓取目的

不同的爬虫有不同的目的。搜索爬虫影响排名,广告爬虫影响广告质量,地图爬虫影响本地搜索展示。了解这些差异有助于优化策略。

3. 谷歌的抓取哲学

从Gary的描述中,我们可以窥见谷歌的抓取哲学:

  • 统一基础设施:所有产品共享同一个爬取基础设施(Jack)
  • API化服务:抓取能力被封装为内部API服务
  • 参数化配置:不同的爬虫通过参数区分身份和行为
  • 规模导向:只有大规模的爬虫才会被正式记录
  • 持续演进:新的产品和需求不断催生新的爬虫

五、实操建议

对于网站管理员:

  1. 监控日志:定期检查服务器日志,了解哪些爬虫在访问你的网站
  2. 识别模式:如果发现未知的谷歌爬虫,观察其抓取行为和频率
  3. 谨慎屏蔽:不要急于屏蔽不认识的爬虫,除非你确定它是有害的
  4. 优化robots.txt:确保robots.txt正确配置,允许必要的爬虫访问
  5. 服务器资源:确保服务器能够承受谷歌多个爬虫的同时抓取

对于SEO从业者:

  1. 扩展知识:了解谷歌的各种产品如何抓取和使用网页数据
  2. 全面优化:不要只关注搜索排名,还要考虑其他谷歌产品的优化
  3. 技术SEO:确保网站的技术架构能够支持多种爬虫的高效抓取
  4. 数据分析:利用日志分析工具,深入了解爬虫行为模式

六、结语

谷歌拥有数百个爬虫的 revelation 改变了我们对Googlebot的认知。它不再是一个单一的、友好的网络爬虫,而是一个庞大的、复杂的、多产品的抓取生态系统。

对于网站所有者和SEO从业者来说,这意味着:

  • 需要更全面地考虑爬虫管理
  • 不能简单地用”是不是Googlebot”来判断是否允许抓取
  • 需要理解不同谷歌产品的抓取需求
  • 应该拥抱这种多样性,而不是抗拒

正如Gary Illyes所说,谷歌会尝试记录主要的爬虫,但由于数量太多,不可能全部公开。我们能做的,就是理解这一现实,并相应调整我们的SEO策略。

在这个信息日益丰富的时代,谷歌需要更多样化的数据来支持其不断扩展的产品线。作为网站所有者,理解并适应这一趋势,将有助于我们在谷歌生态系统中获得更好的展示和流量。

微信扫一扫 或 点击链接联系我