优化抓取预算
本指南介绍了如何优化 Google 对频繁更新的超大型网站的抓取。
如果您的网站中没有大量经常更新的网页,或者您的网页一般在发布当日就被抓取,那么您无需阅读本指南。对于 Google 搜索,只需及时更新站点地图并定期检查“网页索引编制”报告即可。
本指南的适用对象
虽然本指南中的建议通常都是不错的做法,但本指南是一份高级指南,主要面向以下类型的网站:
- 内容更改较为频繁(每周一次)的大型网站(独特网页数量超过 100 万个)
- 内容每日更改飞快的中大型网站(非重复网页数量超过 10000 个)
- 网站的全部网址中有很大一部分被 Search Console 归类为已发现 - 尚未编入索引
抓取的一般理论
网络空间近乎无限,其规模早已超出了 Google 探索每一个公开网址的能力范围。因此,Google 能花在抓取任意单个网站上的时间和资源是有限的。这些资源的分配通常称为网站的“抓取预算”。在这种情况下,Google 的抓取基础架构将网站定义为唯一的主机名。例如,https://www.example.com/ 和 https://code.example.com/ 会被视为单独的网站,并具有单独的抓取预算。网站的抓取预算由两个主要元素决定:抓取容量上限和抓取需求。
抓取容量上限
Google 不希望在抓取您的网站时,导致您的服务器过载。为防止出现这种情况,Google 抓取工具会计算抓取容量上限(也称为主机负载)。 这会限制服务器为 Google 保持连接开启的总时长,这一数值是综合考虑并行连接的数量及其持续时间后得出的。这样可以确保 Google 能够涵盖您的所有重要内容,而不会导致您的服务器负载过重。
每个网站的初始默认抓取容量上限都相同,且较为保守。如果需要抓取更多内容,且网站保持健康状态,Google 的系统会随着时间的推移自动调整此上限。
抓取容量上限可能会升高或降低,具体取决于下面这几个因素:
- 抓取状况:如果网站响应稳定,且响应时间(包括延迟时间和第一字节时间)保持稳定或有所改善,则抓取容量上限会升高,即 Googlebot 可以使用更多的连接进行抓取。如果网站运行速度变慢(延迟时间增加或响应时间变长),或者以服务器错误(
5xx HTTP状态代码)或速率限制信号(例如HTTP 429)进行响应,则抓取容量上限会降低,Google 的抓取量也会减少。 - Google 的抓取限制:虽然 Google 的资源极其雄厚,但终究有限,因此我们必须在整个网络范围内权衡资源的分配优先级。
抓取需求
在抓取网页方面,每种抓取工具都有自己的“需求”,具体取决于该抓取工具特有的因素。例如,当网站投放动态广告定位条件时,AdsBot 的抓取需求通常会更高;而对于您在商家 Feed 中提供的商品,Google 购物则会有更高的抓取需求。
对于 Googlebot,需求因网站的规模、更新频率、网页质量和相关性(与其他网站相比)而异。您可以影响的主要因素包括:
- Google 感知到的网址目录:如果没有您的引导,Google 会尝试抓取在您网站上发现的所有或大多数网址。如果这些网址中有很多是重复的,或者您出于其他原因(如已移除、不重要等)不希望它们被抓取,这都会导致 Google 在您的网站上耗费大量无谓的抓取时间。这是最需要您积极控制的因素。
- 热门程度:Google 往往会更加频繁地抓取互联网上较为热门的网址,以便在系统中及时更新这些网址的内容。
- 过时性:我们的系统希望尽可能频繁地重新抓取文档,以便纳入任何更改。
此外,诸如网站迁移之类的网站级事件也可能会导致抓取需求上升,以便重新处理新网址下的内容。
摘要
在综合考虑了抓取容量和抓取需求之后,Google 将网站的“抓取预算”定义为 Google 可以且希望抓取的一组网址。即使未达到抓取容量上限,如果抓取需求较低,Google 也会降低对网站的抓取频率。
最佳做法
为了最大限度地提高抓取效率,请遵循以下最佳实践:
-
管理网址目录:请使用适当的工具告知 Google 要抓取哪些网页和不抓取哪些网页。如果 Google 花费太多时间抓取不应抓取的网址,Google 抓取工具可能不会探索您网站的其余部分,或者可能不会增加您的抓取预算。
- 整合重复内容。 消除重复内容,将重点放在抓取独特内容(而不是独一无二的网址)上。
- 使用 robots.txt 禁止抓取网址。某些网页可能对用户很重要,但您不一定希望它们显示在 Google 平台上或被 Google 的系统重新处理。例如,在链接页上显示重复信息的无限滚动网页,或以不同方式排序的同一网页。如果您无法按照第 1 条中的说明整合此类网页,请使用 robots.txt 屏蔽这些不重要的网页。使用 robots.txt 屏蔽网址会阻止 Google 抓取这些网址,并显著降低其他 Google 系统处理这些网址(例如被 Google 搜索编入索引)的几率。
-
针对永久移除的网页返回
404或410状态代码。 Google 不会忘记自己发现的网址,但404状态代码会明确告知 Google 不要再次抓取该网址。 但是,被屏蔽的网址将会在您的抓取队列中保留较长一段时间,并会在取消屏蔽后被重新抓取。 -
消除
soft 404错误。 系统会继续抓取soft 404网页,这会浪费您的预算。请查看“网页索引编制”报告中是否存在soft 404错误。 -
及时更新站点地图。Google 会定期读取您的站点地图,因此请务必添加您希望 Google 抓取的所有内容。如果您的网站包含更新后的内容,我们建议您添加
<lastmod>标记。 - 避免使用很长的重定向链,以免对抓取产生负面影响。
-
提高网页的加载速度。
如果 Google 能够更快地加载和渲染您的网页,我们或许可以从您的网站中读取更多内容。
- 提高加载速度:优化服务器响应时间和资源,加快网页加载速度。
-
使用 HTTP 缓存:支持
304 (Not Modified)HTTP 状态代码。如果某个网页自 Google 上次抓取以来未发生变化,则返回304代码会告知 Google 重复使用缓存的版本,从而节省服务器带宽和资源。
- 调试抓取预算问题。 检查您的网站在抓取时是否遇到任何可用性问题,并寻找提高抓取效率的方法。
如何获得更多抓取预算?
您可以通过以下两种方式增加抓取预算:
- 添加更多服务器资源:如果您的网站因服务器容量不足而无法被抓取(例如,您在网址检查工具中看到已超出主机负载),请在业务允许的情况下添加更多服务器资源。
- 针对您想触达的 Google 产品,提升内容品质:Google 会根据与特定 Google 产品相关的因素,决定分配给每个网站的抓取资源。例如,对于 Google 搜索,这包括热门程度、总体用户价值、内容独特性和服务容量等因素。