先看一个判断:入口页面能被搜狗发现,只能说明到达入口的路径没有中断,不能证明它指向的下一跳仍然可达。深层链路失效通常出现在入口页之后的跳转、参数拼接、列表分页或接口返回环节。定位断点的可行做法,是把“入口可发现”和“深层可抓取”当作两件独立的事,逐跳核对,而不是从收录结果反推整站状态。
入口页正常,意味着搜狗至少已经拿到入口的响应。此时断点可能落在三个位置:入口页输出的链接本身不可用、链接可用但目标页返回异常、目标页正常但内容不可见。三者对应的处理动作完全不同。
一个可核对的假设例子:假设入口页是栏目页,深层是列表第二页之后的详情页。如果入口页返回 200,但其 HTML 中指向深层的链接被脚本延迟注入,那么抓取方在首次请求时看不到这些链接。此时改入口页的标题或正文没有意义,要处理的是链接是否在初始响应里出现。
判断依据可以按顺序收集:入口页响应状态、入口页初始 HTML 中是否存在目标链接、目标链接的响应状态、目标页初始 HTML 是否包含可见内容。每一步的记录结果决定下一步该查哪里,而不是一次性把所有环节都改一遍。
当确认断点后,通常面临保留现有链路、改写链路结构,或让部分深层页面退出抓取范围三种选择。它们成立的条件不同。
需要说明的是,用 robots.txt 限制抓取不等于可靠的索引移除。如果目标是让已存在的深层页面退出结果,仅靠抓取限制往往不够,还需要结合页面本身的可访问状态来判断,且不同处理方式的效果需要分别核查。
多个角色对同一事实有不同理解时,常见分歧是“链接明明在页面上”和“抓取时看不到链接”。这类分歧靠讨论无法收敛,需要转成可核对的项目。
这样做的结果是:分歧从“谁记得对”变成“哪一步的记录不一致”。如果入口初始 HTML 中确实没有链接,那么问题在输出环节;如果链接存在但目标返回异常,问题在目标页;如果两者都正常,才需要继续查内容可见性。站点地图不保证收录,因此它不能作为链路可达的证据,只能作为候选地址的参考。
深层请求量下降或某个统计归零,不能单独说明断点已经修复。合理解释还包括:抓取节奏本身波动、入口页被重新抓取但深层尚未跟进、目标页被其他路径替代。要区分这些解释,需要把入口响应、链接存在性、目标响应三条记录放在同一时间窗口内比对。
HTTPS 也不保证安全无漏洞或排名,它只说明传输层的一种状态,与深层链路是否可达没有直接关系。把它当作链路正常的依据,容易掩盖真正的断点。
实际动作建议:先对一条已知失效的深层链路完成上述五步记录,再决定是保留、改写还是退出。记录结果会直接决定下一步是修输出、修目标页,还是调整该批页面的抓取范围。