A Google 爬虫程序是请求网页和其他资源以便Google 能够发现和理解内容的软件。 Googlebot是与Google搜索相关的主要爬虫。 Google机器人的访问意味着Google获取了一些东西;这并不意味着该页面已被索引或将针对特定查询进行排名。
有用的顺序是发现→抓取→处理→索引→服务。对于网站所有者来说,每个步骤都需要不同的证据。从确切的 URL 开始,检查是否可以获取它,然后使用您自己的 Search Console 属性来调查 Google 报告的内容。
Google机器人访问
时会做什么爬虫发送HTTP请求,很像浏览器请求页面。服务器返回状态代码、标头和内容(如果可用)。 Google还可以获取渲染页面所需的资源,例如JavaScript和样式表。服务器日志记录请求;它不会透露 Google 随后对内容所做的每一个决定。
Google描述Googlebot智能手机和Googlebot桌面。它们的用户代理标头标识了爬虫子类型,但都在“0”中使用相同的“14”机器人令牌。不要仅仅因为某个页面在桌面浏览器中看起来很完整就认为该页面适用于 Google 的移动爬虫。还要检查移动内容和访问条件。
跟随页面从发现到搜索结果
Google 将搜索分为爬行、索引和服务。在该说明中将发现和处理分开可以帮助您排除故障。以下阶段是一个教学模型,并不保证每个发现的 URL 都会通过这些阶段。 Google 的搜索工作原理解释了为什么爬行、索引和结果显示无法得到保证。
| 阶段 | 这对你意味着什么page |
|---|---|
| Discover | Google获悉URL存在,例如通过链接或sitemap. |
| Crawl | Google请求URL并在访问时收到响应成功。 |
| 流程 | Google分析内容并可能呈现页面以供理解它. |
| Index | Google考虑其可搜索索引的内容,包括重复项处理。 |
| Serve | Google 选择特定搜索的结果。被索引并不能保证目标查询的可见性。 |
假设您的浏览器正确显示新指南。这在您的浏览器条件下建立了一次成功的访问。它不会建立“23”的发现、“24”网络的访问或包含在其索引中。当您向开发人员报告问题时,请将这些问题分开。
帮助Google发现您真正想要索引的URL
为重要页面提供来自相关、可访问页面的有用内部链接。隐藏在导航中且从未与相关内容链接的指南比与已建立主题相关的指南更难发现。使用描述性链接文本,以便读者也了解目的地。
站点地图提供了另一种发现路径。 Google的站点地图文档解释了它对于大型站点、新站点和难以通过链接发现的内容的有用性。包含在站点地图中仍然不能保证爬行或索引。
当您发布指南时,请检查其首选 URL 是否出现在正确的站点地图中,并且可以获取站点地图。 SearchVector的站点地图分析器是审查站点地图的起点。将其输出视为站点地图证据,然后单独检查各个页面。站点地图条目��法修复被阻止的页面。
选择正确的控件:robots.txt、noindex或canonical
这些控件回答不同的问题。将它们混合在一起是故意发布更改产生意外搜索结果的常见原因。
- robots.txt 控制爬行。 禁止规则告诉合规爬虫不要请求匹配的内容。如果 Google 在其他地方了解到它,则被阻止的 URL 仍然会出现在搜索中。
- noindex 控制索引。 要使 Google 在页面或 HTTP 标头中看到 noindex 指令���必须允许爬网。添加 noindex 时阻止 URL 可以防止 Google 读取指令。
- 规范标识首选版本。 它是重复或相似页面的信号,不是访问控制,也不是有保证的命令。
Google在其无索引指南中记录了抓取要求,并在其标准化指南中记录了信号和选择之间的区别。必须是私有的内容需要适当的访问保护。 Robots.txt 是公开可读的,不是安全边界。
在更改机器人规则之前,请测试精确的 URL 和预期的爬虫。 SearchVector 的Robots.txt Tester 可以支持该审核。记录您正在调查的规则,而不是将总体“允许”结果解释为可索引性的证明。
重写文章之前先阅读回复
即使写入非常好,页面也可能在访问阶段失败。检查重定向和最终目的地,而不仅仅是第一个响应。成功的 HTTP 状态意味着请求在该级别成功;它不证明页面的有用性或索引资格。
Google的HTTP状态指导区分成功响应、重定向、客户端错误和服务器错误。持续的服务器故障可能会影响爬网。以成功状态返回的错误消息也可能会产生误导性结果,当 Google 识别出类似错误���页面时,通常被描述为软 404。
对于重点关注的第一遍,请使用SearchVector的网页爬虫检查可爬行性信号,然后将它们与您的服务器和Google证据进行比较。第三方爬虫不是“12”机器人。网络、用户代理和渲染方面的差异可以解释为什么两次检查不一致。
工作示例:发布后指南仍然被阻止
这是虚构的诊断练习,而不是客户抓取日志。想象一下,您启动“T0”/guides/packing-list“T1”,从指南中心链接到它,并将其添加到站点地图中。您的普通浏览器会收到预期的文章,但机器人规则仍然不允许“T2”/guides/“T3”目录。该页面还包含准备过程中留下的 noindex 指令。
- 写下预期的状态。本指南应该是公开的并且有资格建立索引。其他未完成的指南可��仍需要保护。
- 检查确切路径。确认相关机器人规则与此 URL 匹配。独立检查页面的响应标头和 HTML 中的 noindex。
- 进行范围更正。 调整预期公共内容的规则并删除不需要的 noindex 指令。不要为了修复一个指南而广泛公开每个未完成的页面。
- 部署后重新测试。确认最终 URL 返回实际指南,目标爬虫可以访问它,并且标头和 HTML 都反映新的索引指令。
- 关注提供 Google 证据。 在您的 Search Console 属性中,检查网址并运行实时测试。如果页面符合条件,您可以请求索引。记录更改并回来检查,但不承诺截止日期。
诊断是两个独立的障碍,而不是“Google需要更多关键词”。仅删除 robots 块不会留下 noindex 。仅删除 noindex 会使 Google 无法获取页面。��使在两次修复之后,成功的测试也不能保证 Google 会将其编入索引。
验证请求确实来自Google
任何人都可以在其用户代理标头中发送声称是Googlebot 的请求。如果可疑流量使您的网站超载,请在创建特定于爬网程序的防火墙规则之前验证其来源。
遵循Google的请求验证说明。对于手动检查,请从可信日志中获取源 IP,执行反向 DNS 查找,根据该爬网程序类别的记录域验证生成的主机名,然后转发解析。转发结果必须与原始IP匹配。仅仅包含“google”的名称是不够的。
对于自动验证,请将地址与 Google 发布的相关爬虫或提取器类别的范围进行匹配。不要将所有 Google 托管的流量视为 Google 机器人。如果您的站点位于代理后面,请在执行操作之前询问您的基础设施所有者哪个日志字段代表经过验证的客户端地址。
使用 Search Console 决定下一步操作
Google 的URL 检查文档 将Google 的索引信息与实时测试区分开来。索引报告反映了“12”已知的版本;实时测试检查当前页面的潜在可访问性和可索引性。成功的现场测试和索引请求都不能保证包含。
使用有权访问您自己的财产的帐户。比较检查的 URL、上次爬网信息、索引状态和规范信息(如果有)。新的服务器更正可以与旧的索引信息共存。请记下修正失败之前的日期。
最后采取一项基于证据的操作:如果 URL 链接不良,则改进发现;如果请求失败,则修复访问;删除意外的索引限制;或者如果 Google 已抓取页面但将其排除,则调查内容和重复。保留 URL、观察、更改和跟进的简短记录。这将“Google没有找到我们”变成了一个您可以实际调查的问题。
