了解 Google 搜索中的呈现机制

Googlebot 使用基于 Chrome 41 (M41) 的网页呈现服务 (WRS)。一般来说,使用的 Chrome 版本支持哪些网络平台功能,WRS 便支持哪些网络平台功能 - 如需完整列表,请访问 chromestatus.com 或使用 caniuse.com 上的比较功能

不过,请注意一些例外情况和差异。本文档介绍了 WRS 中明确停用或限制使用的功能和 API。

Googlebot 和 WRS 会优先处理基本网页内容

Googlebot 经过精心设计,是一名优秀的网上公民。它的主要任务是抓取网站,同时确保其抓取操作不会导致网站的用户体验下降。Googlebot 和 WRS 会不断分析和识别对基本页面内容没有贡献的资源,并且可能不会抓取此类资源。例如,对基本页面内容没有贡献的报告和错误请求,以及在提取基本页面内容时不使用或没必要使用的其他类似类型的请求。

WRS 会停用某些接口和功能

WRS 的功能可能会随时更新,因此在适用情况下,请使用功能检测来识别 WRS 支持的 API 和功能,另外请使用 polyfill(就像对任何其他浏览器进行这些检测时一样):

  • IndexedDB 和 WebSQL 接口已被停用。
  • Service Worker 规范定义的接口已被停用。
  • WebGL 接口已被停用;3D 和 VR 内容目前不会被编入索引。

Googlebot 和 WRS 在网页加载过程中是无状态的

和常规浏览器一样,WRS 会加载每个网址(请参阅索引简介,了解 Google 如何发现内容),并遵从服务器和客户端重定向。不过,在网页加载过程中,WRS 不会保留状态:

  • 在网页加载过程中,会清除本地存储空间和会话存储空间中的数据。
  • 在网页加载过程中,会清除 HTTP Cookie。

WRS 不支持 ES6

Chrome M41 不支持 ES6 功能(例如类)。如果您使用的是 ES6,请确保将您的 JavaScript 转换为 ES5。

WRS 对网络组件提供有限支持

尽可能将内容放入轻量级 DOM 中,并使用影子 DOM 封装和隐藏实现详细信息。基本内容(例如导航元素、链接、标题以及主要文本和图片)应始终位于轻量级 DOM 中。这样可最大限度地兼容可能不支持网络组件或不执行 JavaScript 的客户端。

WRS 会拒绝权限请求

Googlebot 会自动拒绝所有需要用户同意的功能。有关受影响功能的完整列表,请参阅权限注册表。例如,Camera API、Geolocation API 和 Notifications API。

WRS 和 Googlebot 不支持 WebSocket 协议

Googlebot 和 WRS 只支持 HTTP/1.x 和 FTP(无论是否使用 TLS)。

跟踪错误并调试呈现问题

除了使用功能检测和 polyfill 之外,还要务必收集并分析可能会导致您的应用在用户和 Googlebot 访问时无法正常运行的客户端错误。

发送以下问题的反馈:

此网页