先说结论:入口页面正常而深层页面不收录,通常不是“整站被拒”,而是某一段链路在抓取、渲染或索引环节断掉了。定位时不要从首页往下猜,而要把入口页当作已通过的对照组,沿着指向深层页面的路径逐段复现,找到第一个与入口页表现不同的节点。下面给出两种常见取舍:先做全站日志排查,还是先做单链路复现。
入口页正常说明域名解析、服务器可达、robots.txt 没有整体封禁。深层页失效则要区分三种表现:
这三种断点的排查动作完全不同。抓取断要查路径和规则,渲染断要查内容产出,索引断要查页面质量和重复问题。先归类,再决定投入方向,否则容易在错误层面反复调整。
两种做法都成立,但适用条件不同。
如果深层页有成百上千个,且不确定失效是集中在某个目录还是分散各处,优先从访问日志入手。动作是:把360蜘蛛的请求按URL路径前缀分组,统计各分组的请求量,再和入口页所在分组的请求量对比。
结果如何影响下一步:如果某个目录的请求量明显低于其他目录,断点大概率在该目录的入口或链接结构上;如果各目录请求量都不低但收录都差,问题更可能在渲染或索引环节,而不是抓取路径。这一步只用日志就能缩小范围,代价是需要能拿到可用的日志数据,且日志时间跨度要足够覆盖蜘蛛的访问周期。
如果深层页只有几十个,或已经怀疑某一条路径,直接复现更快。动作是:从入口页出发,用工具或手动方式沿真实链接逐跳访问,记录每一跳的返回状态、最终URL、页面可见内容,并与入口页的对应指标并列比较。
结果如何影响下一步:第一个出现异常的跳转就是断点候选。如果异常出现在跳转环节(如重定向到错误地址、参数被丢弃),修链接;如果异常出现在内容环节(如返回200但主体为空),修渲染。代价是单链路复现只能覆盖被检查的路径,可能漏掉其他同样失效但结构不同的深层页。
把入口页和深层页放在同一张对比里,逐项检查,差异项就是断点线索:
<a href>,还是依赖脚本点击。入口页正常不代表深层页的入口链接同样可抓。假设一个例子:某站点入口页收录正常,深层页是列表页加详情页两级结构。检查发现列表页可抓取,详情页的链接由脚本在列表页加载后注入。此时断点在“链接注入”环节,蜘蛛可能拿到列表页但拿不到详情页链接。这个假设说明的是排查方法:把每一跳拆开对比,而不是直接归因于“深层页质量差”。
找到断点后,按影响范围从大到小修复:先修影响整类深层页的共性问题,再修个别页面。修复动作要能被下一次抓取验证,例如把脚本注入的链接改为服务端输出的可抓取链接,然后观察该路径下深层页的抓取请求是否出现。
需要留意的例外:
如果修复后深层页仍不收录,回到第二步重新归类:此时更可能是索引断而非抓取断,应转向检查内容重复、规范化指向和页面主体是否足够独立,而不是继续在链接和状态码上反复调整。