抓取 12 月:Googlebot 抓取的运作方式和原因

2024 年 12 月 3 日,星期二

您可能听说过,Google 搜索需要完成一些工作,才能在 Google 搜索结果中显示某个网页。其中一个步骤称为“抓取”。Google 搜索上的抓取工作是由 Googlebot 完成的。Googlebot 是 Google 服务器上运行的一款程序,用于检索网址,并处理在遍历整个网络时可能遇到的网络错误、重定向和其他小问题。但是,有些细节并不常被提及。在本月的每周,我们都会探讨这些细节的一部分,因为这些细节可能会对您网站的被抓取方式产生重大影响。

稍微回顾一下:什么是抓取?

抓取是指发现新网页和重新访问更新后的网页并下载网页的过程。简而言之,Googlebot 会获取网址,向托管该网址的服务器发出 HTTP 请求,然后处理来自该服务器的响应(可能会跟随重定向、处理错误),并将网页内容传递给 Google 的索引编制系统。

但现代网页并非纯 HTML,那么构成网页的其他资源呢? 抓取这些资源会对“抓取预算”产生什么影响?这些资源是否可以在 Google 端缓存?未曾抓取过的网址与已编入索引的网址之间是否存在差异?在这篇博文中,我们将解答这些问题并探讨更多内容!

Googlebot 和抓取网页资源

除了 HTML 之外,现代网站还会结合使用 JavaScript 和 CSS 等不同技术,为用户提供逼真体验和实用功能。当用户使用浏览器访问此类网页时,浏览器会先下载父级网址,其中托管着开始为用户构建网页所需的数据,即网页的 HTML。此类初始数据可能包含对 JavaScript 和 CSS 等资源的引用,也可能包含浏览器将再次下载的图片和视频,以终于构建向用户呈现的最终网页。

Google 也会执行完全相同的操作,但方式略有不同:

  1. Googlebot 从父网址(网页的 HTML)下载初始数据。
  2. Googlebot 将提取的数据传递给网页渲染服务 (WRS)。
  3. WRS 使用 Googlebot 下载原始数据中引用的资源。
  4. WRS 像用户的浏览器一样,使用所有下载的资源构建网页。

与浏览器相比,由于调度限制(例如托管渲染网页所需资源的服务器的被感知负载),每个步骤之间的时间间隔可能会明显更长。这时,抓取预算就有了用武之地。

抓取渲染网页所需的资源会消耗托管资源的主机名的抓取预算。为了改善这种情况,WRS 会尝试缓存其渲染的网页中引用的所有资源(JavaScript 和 CSS)。WRS 缓存的存留时长不受 HTTP 缓存指令影响;实际上,WRS 会将所有内容缓存长达 30 天,这有助于为其他抓取任务保留网站的抓取预算。

从网站所有者的角度来看,管理抓取资源的方式和抓取的资源可能会影响网站的抓取预算;我们建议:

  1. 尽可能少用资源,为用户提供出色的体验;渲染网页所需的资源越少,渲染过程中使用的抓取预算就越少。
  2. 慎用缓存无效化参数:如果资源的网址发生更改,Google 可能需要重新抓取这些资源,即使它们的内容未更改。这当然会消耗抓取预算。
  3. 在与主网站不同的主机名上托管资源,例如,通过使用 CDN 或仅在其他子网域上托管资源。这会将抓取预算问题转移到提供资源的主机。

所有这些要点也适用于媒体资源。如果 Googlebot(更具体地说,是 Googlebot-ImageGooglebot-Video)抓取这些网页,则会消耗网站的抓取预算。

您可能会忍不住也想将 robots.txt 添加到列表中,但从渲染角度来看,禁止抓取资源通常会导致问题。如果 WRS 无法提取对渲染至关重要的资源,Google 搜索便可能无法提取网页内容,也无法让网页在 Google 搜索中排名靠前。

什么是 Googlebot 抓取?

若要分析 Google 正在抓取哪些资源,最佳来源是网站的原始访问日志,其中包含浏览器和抓取工具请求的每个网址的条目。为便于在访问日志中识别 Google 的抓取工具,我们在开发者文档中发布了 IP 范围

次最佳来源当然是 Search Console“抓取统计信息”报告,其中会按抓取工具细分每种资源:

Search Console 中的“抓取统计信息”报告,显示了 Googlebot 抓取的不同类型的资源

最后,如果您对抓取和渲染非常感兴趣,并想与他人讨论相关问题,请访问搜索中心社区,您也可在 LinkedIn 上找到我们。


进行了几项更新

  • 2024 年 12 月 6 日更新:指出了从其他源提供资源的性能影响。

想详细了解抓取?请查看整个“抓取 12 月”系列:

2024 年 12 月 24 日,星期二 内容分发网络 (CDN) 特别适合用于缩短网站的延迟时间,并且通常可以避免与网站流量相关的麻烦。毕竟,它们的主要用途是:即使网站获得大量流量,也能快速传送内容。CDN 中的 "D" 是指在全球范围内传送或分发内容,因此传输到用户的时间也比仅在某个数据中心托管内容更短。在本文中,我们将探讨如何利用 CDN 来提升网站的抓取速度和用户体验,还将了解抓取 CDN 支持的网站时的一些细微差别。 CDN

2024 年 12 月 17 日,星期二 我们刚刚发布了 关于分面导航最佳实践的新文档 ,该文档 最初发布为一篇博文 。 以下是新文档页面中的一些重要内容的摘要。 分面导航是一种非常棒的方式,可帮助用户在您的网站上找到所需内容,但如果不谨慎实施,可能会演变为一场 SEO 噩梦。为什么?因为它可以生成近乎无限数量的网址,从而导致:

2024 年 12 月 9 日(星期一) 请允许我们缓存,拜托啦。 多年来,随着网络蓬勃发展,Google 抓取量也日益攀升。虽然 Google 的抓取基础架构支持启发式缓存机制,但实际上一直以来,可从本地缓存返回的请求数量在逐渐减少:10 年前,总抓取量中约有 0.026% 的内容可缓存,尽管这个数字已然不高,但如今已降至 0.017%。 网络就像一块大拼图,缓存是其中不可或缺的那一块。缓存可让网页在用户再次访问时快速加载,节省计算资源,进而节省自然资源,并为客户端和服务器节省大量昂贵的带宽。