先给结论:当入口页能被正常抓取、也出现在百度索引量中,而更深一层的页面始终不进入索引时,断点通常不在入口页本身,而在入口页到深层页之间的可发现路径上。优先检查这条路径是否被 robots.txt 拦截、是否依赖抓取时不会执行的交互、是否被 nofollow 或跳转链切断。只有先确认路径可发现,再谈内容质量才有意义。下面按可验证的顺序展开。
入口页正常是一个容易让人误判的信号。它证明域名可访问、服务器有响应、入口页本身没有硬性抓取障碍,但它不能证明从入口页出发的第二跳、第三跳仍然通畅。百度索引量统计的是已进入索引的页面集合,入口页在集合内,深层页不在集合内,这个差值本身就是线索,而不是结论。
一个常见反例:入口页通过 JavaScript 渲染出深层链接,抓取时脚本未执行,链接在原始 HTML 中不存在。此时入口页仍可被抓取和索引,但深层页从未被发现。另一个反例是深层链接全部指向带参数的重定向地址,重定向链中某一跳返回了抓取工具无法跟随的状态。这两种情况下,入口页都会显示正常。
把入口页到深层页的路径拆成可验证的段落,比随机抽查深层页更有效。建议按以下顺序操作:
这一步的实际动作是:先固定一条从入口页到目标深层页的最短路径,把这条路径上的每个节点状态记录下来。结果会直接决定下一步——如果原始 HTML 中根本没有链接,问题在渲染与可发现性;如果链接存在但目标返回异常状态,问题在服务端或跳转配置;如果链接和状态都正常,问题才可能落到内容或索引选择层面。
链接在原始 HTML 中存在、目标返回 200,仍可能不被跟随。需要检查 <a> 标签上是否带有 rel="nofollow",以及链接是否位于被 meta robots 的 nofollow 覆盖的区域内。还要注意一种情况:深层页自身返回了 noindex,此时页面可被抓取、可被跟随,但会被明确排除在索引之外。这两种原因的表现相似,处理方式完全不同。
区分方法:nofollow 影响的是发现,noindex 影响的是收录决策。如果抓取日志显示百度从未请求过深层页,更偏向发现环节;如果深层页被请求过但未进入索引,更偏向页面自身的收录指令或内容判断。这里需要说明,抓取量或请求量归零不能单独证明处理正确,它也可能由抓取预算分配、临时服务波动或路径变更引起。
假设某站点结构为栏目页 A 指向列表页 B,B 指向详情页 C。百度索引量中 A 正常,B 和 C 均未出现。按前述方法抓取 A 的原始 HTML,发现指向 B 的链接由前端框架在客户端注入,原始响应中没有该链接。
此时可判断断点位于 A 到 B 的可发现环节,而非 B、C 的内容问题。下一步动作是把 B 的入口改为服务端输出的 <a href>,或在站点地图中直接列出 B 与 C 的规范地址。站点地图不保证收录,但它提供了一条不依赖脚本执行的发现路径,便于后续观察 B、C 是否开始被抓取。若修改后 B 被请求但 C 仍无动静,再回到 B 到 C 这一段重复同样的路径排查。
上述以路径可发现性为核心的排查,适用于入口页正常、深层页持续缺席且路径依赖单一的情况。它会在一种条件下失效:深层页数量极大、路径高度动态,此时单条路径的断点定位无法代表整体,需要转向按模板或按参数分组抽样。另外,robots.txt 的抓取限制不等于可靠的索引移除,站点地图也不保证收录,因此任何修改后都应以实际抓取与索引状态为准,而不是以配置完成为准。
下一步动作建议固定为:选取一条最短路径,记录原始 HTML 中的链接、各节点状态码、robots 指令和页面级收录指令四项证据,再据此判断断点落在发现、抓取还是收录环节,然后只针对该环节做一次修改并重新观察。