从状态开始,而不是诊断
页面索引报告包括真正的技术问题和预期的排除问题。 robots.txt 规则、noindex 指令、身份验证要求或失败响应可能会阻止索引;重复和规范的状态可能完全按照预期工作;并且发现的 URL 可能还没有被爬行。
最具有误导性的状态是“已爬网 - 目前未编入索引”。它证实 Google 获取了该页面,但当时并未将其添加到索引中。 Google 明确表示该页面稍后可能会或可能不会被编入索引,并且无需仅因为此状态而重新提交它。
真正属于错误的状态
这些状态描述的是你这边阻止了存储的某样东西。谷歌会给每一条标注来源:你自己能修的标为网站,原因在他们那边的标为谷歌。把底层的响应改对,就是全部的修法。
| 状态 | 含义 | 来源 |
|---|---|---|
| 服务器错误 (5xx) | 服务器返回了 500 级别的错误 | 谷歌 |
| 重定向错误 | 重定向链绕成了环或是失败了 | 网站 |
| 被 robots.txt 屏蔽 | robots.txt 收回了抓取许可 | 网站 |
| 被「noindex」标记排除 | 页面返回了 noindex 指令 | 网站 |
| 软 404 | 以 200 状态码返回了「未找到」的内容 | 网站 |
| 因未授权请求而被屏蔽 (401) | 页面索要了凭据 | 网站 |
| 未找到 (404) | 该网址返回了 404 | 网站 |
| 因访问被禁而屏蔽 (403) | 服务器返回了 403 | 网站 |
| 因其他 4xx 问题而被屏蔽 | 某个其他的 4xx 响应 | 网站 |
其中两条格外值得留意,因为它们常常是自己造成的。软 404 意味着你在用 200 状态返回一个客气的「这里什么都没有」页面:搜索引擎看到的不是缺席,而是一次成功抓取加上单薄的内容,所以请用 404 或 410 说实话。而本该公开的页面上出现 401 或 403,通常意味着一条预发布环境的规则或一道防火墙跟着上了线。
看着像错误、其实不是的状态
产生最多无用功的正是这一批。它们每一条都是谷歌在报告它自己做出的决定,而不是你引入的故障。追着它们跑,会耗掉真正的问题所需要的注意力。
| 状态 | 实际含义 |
|---|---|
| 带有适当规范标记的备用网页 | 归并正按设计运作 |
| 重复网页,用户未选定规范网页 | 你没有声明规范网址,于是谷歌替你选了 |
| 重复,谷歌选择的规范网页与用户指定的不同 | 你声明了一个,谷歌不同意 |
| 含重定向的网页 | 一个非规范网址在按设计做跳转 |
| 已发现——尚未编入索引 | 已知晓,但还没有抓取 |
| 已抓取——尚未编入索引 | 已抓取、已评估,然后被搁置 |
两条重复状态值得分开看。「用户未选定规范网页」意味着你从未声明过规范网址,谷歌替你做了选择:多半无害,但你交出了一个本可以自己做的决定。「谷歌选择的规范网页与用户指定的不同」则意味着你声明了却被推翻,这说明你指定的那个页面并不是搜索引擎认定的主版本。
诚实地读「已抓取——尚未编入索引」
此状态表示 Google 抓取了该页面,但当时未将其编入索引。它无法识别一种普遍原因,并且实时 URL 检查测试无法准确预测索引成功。发明报告没有指出的技术错误是没有价值的。
对于模板驱动的网站,可以重点检查近似重复、canonical 信号、内部链接,以及每个页面是否提供了相似页面没有的信息。这些是诊断方向,并不意味着处于该状态的每个 URL 都未达到某个质量阈值。
- 打开网址检查工具,确认页面返回 200、规范网址指向自身,并且主内容能被渲染出来。
- 把它和最接近的三个同类页面比对。如果把替换值互换一下就能得到一个等价的页面,搜索引擎也看得出来。
- 查一查站内是否有东西用描述性锚文本链向它,还是说它只存在于站点地图里。
- 问问这个页面回答了什么、而任何同类页面都没有回答。如果答不上来,这本身就是结论。
- 先改页面让那个答案真实存在,然后再请求编入索引——就按这个顺序。
「已发现——尚未编入索引」是另一种信号
这一条意味着网址已被知晓但尚未抓取。在小站点上通常只是短暂状态。到了规模上,它就是谷歌点名的、真正存在抓取预算约束的最清晰症状:网址太多、需求太少,队列永远排不到它们。
如果你有很大一部分网址停在这里,有产出的工作是减少你请搜索引擎去考虑的低价值网址数量——归并重复、对已经撤下的内容返回规规矩矩的 404、缩短重定向链——而不是一个一个地重新提交页面。
处理报告本身,而不是症状
报告是按原因归类的,这就诱使人从上往下按数量处理。请忍住。「含重定向的网页」下的一千个网址通常是一张正常工作的重定向表,而「软 404」下的四十个,则是影响真实页面的真实缺陷。
- 先把错误表里的每一条修掉——那些毫不含糊,且可机械处理。
- 把信息性状态搁到一边,除非数量与你的意图相抵触,比如出现了你从未设计过的规范归并。
- 把「已抓取——尚未编入索引」当作编辑上的欠账,而不是技术上的。
- 只有在底层响应或内容真的变了之后,才重新发起验证。