先给结论:入口页正常只说明抓取入口没被整体封死,不能证明深层链路通畅。定位断点要从入口页往下逐层验证“链接是否可发现、跳转是否可达、返回是否可索引”,并把旧内容、旧系统、旧合作关系按“保留、改写、退出”三种处置分开判断,而不是一次性重做整条链路。
深层链路失效通常有三种不同表现,对应不同的下一步动作。第一种是入口页能抓取,但深层页在站内没有任何可跟随链接,只能靠站点地图提交,此时问题在“可发现性”。第二种是链接存在,但中间跳转链过长、指向 404 或需要登录,问题在“可达性”。第三种是页面能打开,却返回 noindex、canonical 指向别处或正文由脚本延迟加载,问题在“可索引性”。
区分方法很直接:从入口页出发,手动沿真实链接走一遍,记录每一步的 HTTP 状态、跳转次数和最终落地 URL。如果手动都走不通,抓取工具更走不通;如果手动能走通但收录仍差,重点就转向索引层,而不是继续加内链。
旧内容、旧系统、旧合作关系退出时,最容易犯的错是把整条链路一起删掉或一起保留。更稳妥的做法是按单页价值分档:
判断依据可以很朴素:这个 URL 过去半年是否有过自然点击或外链?如果没有,且没有替代承接页,退出比保留更干净。如果曾有外链但内容已无价值,改写并保留 URL 通常比新建页面更省事。
假设某旧活动页 A 链接到专题页 B,B 再链接到详情页 C。入口页 A 正常返回 200,但 C 始终不被收录。逐层检查后发现:A 到 B 的链接正常,B 到 C 的链接被一段脚本注入,而该脚本在无头环境下未执行;同时 C 的 canonical 指向了一个已下线的旧域名。
这时断点有两处:可发现性断在 B 到 C,可索引性断在 C 的 canonical。动作是先把 B 到 C 改为服务端输出的普通 <a href>,再把 C 的 canonical 改回自身。做完这两步后,C 才具备被抓取和索引的基本条件。这个例子说明:不要因为入口页正常就假设整条链路正常,也不要一次改完所有层,否则无法判断哪一步真正起了作用。
请求量或抓取量归零,不能单独证明你的处理正确。它也可能来自服务器临时故障、robots.txt 被误改、站点地图未更新,或搜索引擎自身调度波动。因此每次只改一层,并保留前后对照:
需要提醒的是,robots.txt 的抓取限制不等于可靠的索引移除,站点地图也不保证收录。它们只是辅助手段,不能替代对链路本身的修复。不同搜索引擎对脚本渲染和 canonical 的处理存在差异,涉及多引擎时须分别核查。
如果决定让某段深层链路退出,优先确认是否有替代页承接。没有替代页时,直接 404 会让原有外链和用户路径一起断掉;有替代页时,301 到最相关的那一页,并确保替代页本身可抓取、可索引。对于仍保留价值的旧内容,修复链路后不要急着改标题或正文,先让搜索引擎重新发现它,再根据实际表现决定是否改写。这样每一步动作都有明确的观察结果,下一步才有依据。