Googlebot 即将支持 HTTP/2

September 17, 2020

从 2020 年 11 月开始,Google 将开始通过 HTTP/2 抓取一些网站。这是 HTTP 的下一个主要版本,它比其前身更健壮、更高效、更快。此更改将使要求 Googlebot 支持通过 HTTP/2 进行抓取的网络专业人士受益。有关 HTTP/2 的更多信息,请阅读有关 HTTP/2 主题的长文。

Google 正计划逐步切换到通过 HTTP/2 爬取网站,这在服务器资源使用方面更有效。这种变化将逐渐发生,Googlebot 首先在 h2 上抓取少量网站,然后逐渐爬升到更多可能受益于最初支持的功能的网站。 Googlebot 会根据网站是否支持 h2 以及网站和 Googlebot 是否会从通过 HTTP/2 的抓取中受益来决定通过 h2 抓取哪些网站。如果您的服务器仍然只使用 HTTP/1.1,那也没关系 - 爬过这个协议没有明显的缺点。

Google 正在升级其 Googlebot 抓取工具以支持 HTTP/2。此更改将提高爬取的速度和效率,而不会对索引产生负面影响。但是,一些网站所有者可能希望选择退出此更改。当 Googlebot 尝试爬过 h2 时,站点可以通过指示服务器以 421 HTTP 状态代码响应来做到这一点。如果这不可行,网站所有者可以向 Googlebot 团队发送消息(但是,此解决方案是临时的)。

有关您可能遇到的问题的更多信息和答案,请查看 Google 的详细帖子(包括指向其 Twitter 和帮助论坛的链接)。

根据谷歌的说法,他们用来让他们的 Googlebot 在 h2 上抓取的软件已经足够成熟,可以在生产中使用。但是,他们表示是否要升级服务器取决于网站所有者。 Googlebot 只会切换到对明显受益的 h2 网站的抓取——如果没有明显的好处,Googlebot 将继续在 h1 上抓取。

Cloudflare 有一篇博文,其中包含不同的方法来测试站点是否支持 h2。要将站点升级到 h2,Google 建议与服务器管理员或托管服务提供商交谈。网站所有者无法说服 Googlebot 与他们的网站讨论 h2 - 如果该网站确实支持 h2 并且它有利于抓取,那么 Googlebot 将自动切换。否则,Googlebot 将继续在 HTTP/1.1 上进行抓取。

谷歌已经宣布,他们现在只会在对网站有明显好处的情况下通过 HTTP/2 抓取网站。这一变化是在他们发现某些网站在通过 HTTP/2 爬行时几乎没有好处之后发生的。他们将继续评估性能提升,并可能在未来改变他们的转换标准。

在 Search Console 中注册的网站的所有者会收到一条消息,指出如果他们的网站有资格通过 HTTP/2 进行抓取,那么一些抓取流量可能会继续通过 HTTP/2。站点还可以检查其服务器日志(例如,如果站点在 Apache 上运行,则在 access.log 文件中)以查看它们是否通过 HTTP/2 进行爬网。

Googlebot 支持 HTTP/2 引入的大部分功能。一些可能对渲染有益的功能,如服务器推送,仍在评估中。 Googlebot 目前不支持纯文本 HTTP/2 (h2c)。

谷歌已经宣布他们将使用 HTTP/2 进行抓取。这是 HTTP 协议的较新版本,具有多种优势,包括多路复用和并发、标头压缩和服务器推送。

服务器推送是一项尚未启用但仍在评估中的功能。它可能有利于渲染,但谷歌目前没有任何具体的说法。

为了有资格通过 HTTP/2 进行爬网,网站必须使用 HTTPS 并支持 HTTP/2。这相当于现代浏览器的处理方式。如果服务器在 TLS 握手期间使用 h2 以外的协议版本进行响应,Googlebot 将退出并稍后在 HTTP/1.1 上返回。

如果你想了解更多关于 h2 特性和爬取的信息,你可以在 Twitter 上询问谷歌。 h2 的主要好处是它节省了服务器端和 Googlebot 端的资源。 Googlebot 是使用 h1 还是 h2 进行抓取不会影响您网站的索引方式,因此也不会影响 Google 计划从您的网站抓取多少。在 h2 上爬网的网站没有排名优势。

新的开源 Robots.txt 项目
去年,Google 向开源世界发布了其 robots.txt 解析器和匹配器。从那时起,人们使用它来构建新工具、为开源库做出贡献并发布新的语言版本(如 golang 和 rust)。 随着谷歌实习生赛季的结束,他们想强调两个与 robots.txt 相关的新版本,这两个版本是由在搜索开源团队工作的两名实习生完成的:Andreea Dutulescu 和 Ian Dolzhanskii。 首先,他们...
阅读更多