Signed Exchange (SXG) 让 Google 搜索能够预提取您的内容,同时又不损及用户隐私。在实践中,这意味着如果相关网站支持 SXG,则 Google 搜索中显示的 AMP 和非 AMP 结果可能会以注重隐私保护的方式预提取一些关键资源(例如 HTML、JavaScript、CSS、图片或字体)。
当用户最终点击结果时,由于已有可用的关键资源,网页会更快地开始呈现,从而提供更出色的用户体验。得益于此,内容的 Largest Contentful Paint (LCP) 得分可能会降低。虽然是否使用 SXG 不会直接影响 Google 搜索排名,但 LCP 得分更低可能会提升排名,这是因为网页体验也将作为一项排名因素。
实现 SXG #
如需实现 SXG,请遵循 web.dev 上的详细指南。实现此机制后,请按照前述指南衡量和优化 SXG 带来的性能改进。
对于 AMP 网页,请遵循 amp.dev 上的详细指南。
Google 搜索的其他要求 #
Google 使用 SXG 缓存来预提取内容。Google 可能会多次提供这些缓存的 SXG。
为了确保在 Google 搜索中显示最新内容,请适当设置 SXG 的失效日期。一般来说,应确保失效日期早于以下两个日期:
- 由 HTTP 标头确定的缓存失效日期
- 如果内容是 JavaScript 或内联 JavaScript,则为 1 天后;否则为 7 天后
为了确保内容在多种设备上提供时能正确显示,请执行以下操作:
- 将个性化内容(如购物车)迁移到 SXG 外部的延迟加载元素中。或者,也可以添加带有 Vary: Cookie 签名的标头;带有此标头的 SXG 将只向您网站的没有 Cookie 的访问者显示。
- 采用自适应设计构建网页。或者,使用单独的网址提供桌面版和移动版网页,或使用 supported-media meta 标记为网页添加注释,声明网页不是自适应网页。 例如,在网页的 <head> 元素中添加以下标记:
<meta name=supported-media content="only screen and (max-width: 640px)">
监控和调试 SXG #
如需了解有哪些工具可用于调试 SXG,请参阅 web.dev 上的 SXG 工具指南。
如果 Googlebot 无法解析 SXG,则可能会重新抓取 Accept 标头中不带 application/signed-exchange;v=b3 的网址,以检索 text/html 变体。如果出现任何 SXG 索引编制错误,Google 搜索都会链接到未实施 SXG 的原始网址。
对于 AMP 网页,请使用 Search Console 中的“AMP 状态”报告监控 SXG 错误。
调试 Google SXG 缓存 #
如需确定 SXG 是否符合缓存要求,请使用 SXG Validator Chrome 扩展程序。
或者,请直接查询 Google SXG 缓存。 例如,如果 SXG 网址为 https://signed-exchange-testing.dev/sxgs/valid.html,则相应的缓存网址格式如下:
https://signed--exchange--testing-dev.webpkgcache.com/doc/-/s/signed-exchange-testing.dev/sxgs/valid.html
用于计算子网域和网址路径后缀的算法与 AMP Cache 相同,但中缀字符串 /doc/-/ 有所不同。
如果响应为 SXG,这意味着来自源服务器的响应符合 Google SXG 缓存要求。否则,响应中将包含指明原因的 HTTP 标头。
- 如果存在 Warning 标头,则表示出现了错误,导致 SXG 不符合缓存要求。
- 如果存在 Location 标头,则表示相应资源尚未被缓存系统提取。这不是 SXG 中存在的错误。
无论给出了怎样的响应,缓存系统都会在队列中加入一个对原始网址的请求,以获取一份最新副本。多种因素都会影响系统何时以及是否发出此请求,包括 Googlebot 抓取您网站的速度有多快。
Google 缓存 SXG 的时间不会超出 SXG 签名的 expires 值或 SXG 响应的未签名标头的新鲜度生命周期。
对于 AMP 网页,可以使用网址检查工具调试缓存错误。
随时掌握最新信息 #
订阅 webpackaging-announce 邮寄名单,随时掌握关于以下变更的最新消息:
- Google SXG 缓存系统的变更,包括增添新功能或弃用现有功能的变更。
- SXG 工具 Web Packager、NGINX SXG 模块和 libsxg 的重大变更。
如果您对在 Google 搜索中使用 SXG 有任何疑问,请访问搜索中心帮助社区。