先看一个反直觉现象:首页和栏目页都能被抓取、也能出现在结果里,但点进第三层、第四层就断,深层页面长期不收录。这通常不是“整站不被信任”,而是某一段链路只对浅层有效。要定位断点,最有效的做法不是重新提交全站,而是沿一条真实点击路径逐段核对,找出第一处“上一页有链接、下一页却拿不到等价响应”的位置。
深层失效一般落在两类原因上,处理方式完全不同。
robots.txt 对某段路径设了抓取限制。这两类现象在报表上可能都表现为“深层收录少”,但证据不同。把两者混在一起,最常见的误动作就是全站重推站点地图——如果断点在发现层,重推不会创造新入口;如果断点在响应层,重推只会让同一个被挡的地址被反复请求。
按下面顺序做,每一步的产出决定下一步查什么。
<a href>。如果链接只在脚本运行后出现,断点大概率在发现层。动作结果:确认是发现层问题,就优先把关键路径改为服务端可输出的链接,而不是先去改深层页本身。robots.txt 是否覆盖了深层路径段。这里要记住一个容易误判的点:robots.txt 的抓取限制不等于可靠的索引移除——被限制抓取的地址仍可能因外部链接出现在结果里,所以“深层不收录”不能直接归因于它,反之“加了限制”也不能当作移除手段。动作结果:若规则确实挡住了关键路径,先判断这是有意还是历史遗留,再决定调整范围。假设某站路径为 首页 → 分类页 → 列表页 → 详情页。首页与分类页正常收录,列表页与详情页不收录。按上面的清单核对后得到:分类页初始 HTML 中有指向列表页的链接,列表页初始响应状态为 200,但正文区域为空,内容由客户端脚本填充;详情页链接只存在于脚本渲染后的列表页里。
这个结果说明断点有两处:列表页的响应层(初始正文为空)和详情页的发现层(链接不可在初始响应中解析)。此时合理的下一步是先把列表页改为服务端输出正文与链接,再观察详情页是否开始被请求;如果详情页仍无请求,再回头查该路径段是否被抓取规则覆盖。这个顺序的价值在于:先修上游,下游的请求数据才有解释力。反过来先改详情页,会因为上游根本没暴露入口而看不到任何变化。
站点地图适合作为补充入口,但它不保证收录,也不能替代页面内的可解析链接。当断点在发现层时,把深层地址放进站点地图可能让抓取工具直接访问,但这只解决“能不能到达”,不解决“到达后拿到什么”。因此更稳的顺序是:先用路径核对确定断点层级,再决定是否用站点地图补入口,最后才考虑重复提交。若深层响应本身不合格,站点地图只会把不合格的地址再送一遍。
如果逐跳核对后,每一跳都有初始可解析链接、响应状态稳定、初始正文包含核心内容,而深层仍不收录,那问题可能不在链路本身,而在内容层面的取舍判断。此时继续加提交动作的边际收益很低。可核对的证据是:路径完整、响应合格、抓取限制未覆盖,三项同时成立;在这种条件下,把精力转向深层内容与其他页面是否高度重复、是否具备独立价值,比反复推动提交更合理。反之,只要三项中有任意一项不成立,就应回到对应那一跳继续定位,而不是跳到内容判断。