说明
这些方法回答的是不同问题:
curl或“查看源代码”显示特定请求返回的 HTTP 响应/源 HTML。普通curl不会运行 JavaScript,本身也不能代表 Googlebot。- 页面加载后浏览器中的 DOM 显示浏览器在特定 Cookie、会话、网络和操作条件下通过 JavaScript 生成的内容。仅凭这个 DOM 不能证明 Google 收到的渲染页面相同。
- Search Console 中的 URL 检查可以显示已收录版本;实时测试则提供 Google 当前测试的信息。这是对特定 Google 工具和 URL 的检查,并不能代表所有爬虫。
- 对结构化数据使用 Rich Results Test,并且只检查它支持的数据类型;它不是通用的 HTML 或收录检查工具。
虚构示例
在预发布/本地训练页面 /robots 的源 HTML 中,有一个标题,正文则通过 API 获取。页面加载后,用户可以在浏览器中看到课程。这只能证明浏览器在这些条件下收到了内容。若要检查 Google 的情况,网站所有者应对该页面运行 URL 检查,并查看可用的测试渲染、资源和错误。如果审核者无法使用 URL 检查,则将 Google 渲染情况标记为“未检查”。
练习
在你自己的预发布/本地模拟站点上,为测试页面 /robots 分别保存三份记录:(1)通过 curl/“查看源代码”获取的源 HTML 和 HTTP 状态;(2)页面加载后浏览器 DOM 中显示的文本和链接;(3)只有在预发布 URL 可公开访问且已加入已验证的 Search Console 属性时,才记录 URL 检查结果。不要将虚构的 learn.example.test 提交到 URL 检查。不要用另一层的结论替代缺失的检查。如果需要检查结构化数据,请单独运行 Rich Results Test;仅针对可访问测试 URL 上适用且受支持的数据类型。
检查清单
- 已说明记录所用的方法和响应。
- 没有把源 HTML 描述为渲染后的版本。
- 没有把浏览器 DOM 当成 Google 已渲染页面的证明。
- URL 检查针对准确的 URL;实时测试结果与已收录状态分开记录。
- 仅对受支持的结构化数据类型使用 Rich Results Test。
常见错误
在浏览器中看到文本,就断定 Google 也看到了。请使用 Google 工具检查 Google 的视图;其他爬虫需要依据各自的规则进行检查。