先给结论:入口页面正常只能证明“从首页到该入口这一跳”的解析、证书和响应是通的,深层链路失效通常断在三类位置——内链指向的二级域名本身、跨二级域名的跳转或资源加载、以及旧内容退出后遗留的规则与跳转。定位方法不是从首页重新爬一遍,而是从失效的深层 URL 反向逐跳验证,把“哪一跳开始不一样”固定下来。
同一个现象往往有两种成立条件完全不同的解释。
区分两者的证据很直接:对失效的深层 URL 直接发起请求,看返回状态码和响应头,而不是看浏览器渲染后的页面。如果返回连接失败、证书错误,属于解释一;如果返回 404/410 或 200 但内容是替代页,属于解释二。这一步做完,下一步的排查对象就完全不同,不要跳过。
正向爬取会把大量正常页面混进来,掩盖真正的断点。反向逐跳更省时间,假设某深层页面 https://sub.example.com/old/path 失效,按下面顺序检查:
实际动作:把失效 URL 的最终落点记录下来。如果落点是一个不相关页面,说明旧内容退出时做了过度泛化的跳转规则,下一步应改为按路径前缀精确映射,而不是全站跳首页。这个动作的结果会直接决定你是修跳转规则,还是先修解析。
旧系统或旧合作关系退出,不等于所有深层 URL 都该消失。判断依据是这条 URL 是否仍有外部引用、是否仍被用户直接访问、是否承载了不可替代的信息。满足其中一条,就值得保留并维持可访问;都不满足,可以走移除流程。
这里有一个常见误区:用 robots.txt 限制抓取来“移除”旧内容。抓取限制不等于可靠的索引移除,被限制抓取的 URL 仍可能以其他方式出现在结果中。真正要退出索引,需要按各搜索引擎分别核查其移除方式,并确认适用条件。同理,站点地图只用于提交候选 URL,不保证收录;HTTPS 也不保证页面安全无漏洞或获得更好排名,它只是链路层的一项条件。
假设某二级域名下有一批旧文章,退出时统一配置了“所有未匹配路径跳首页”。结果入口页正常,任意深层 URL 也都返回 200,看起来没有断点。但用户从搜索结果进入深层页后落到首页,主题不符,实际链路已经失效。
这个例子的区分证据是:请求深层 URL 时返回 200 而非 404,且最终 URL 与请求 URL 不同。此时应把规则从“兜底跳首页”改为“按路径前缀映射到最接近的新页面,其余返回 410”。改完后重新验证同一批 URL,确认最终落点与主题一致,再决定是否需要保留部分旧路径。数字只用于说明比较方法:假设抽 20 条失效 URL,若其中 15 条落到不相关页面,问题就在跳转规则而非解析。
定位断点时,一次只改一个变量:先修解析或证书,再修跳转,最后处理内容替换。如果同时改,出现新异常时无法判断是哪一步引入的。每改一步,用同一批失效 URL 复测,对比状态码和最终落点的变化。只有当同一批 URL 的最终落点稳定且与主题一致,才能认为深层链路恢复,此时再考虑是否需要把保留的旧路径重新纳入站点地图提交。