用死链测试工具检查前后环节的依赖,核心不是看它报了多少个 404,而是确认每个死链从发现到修复之间的上下游是否闭合:谁提供链接来源、谁负责改、改完后谁复测。如果工具只输出一份死链列表就结束,依赖链其实是断的。下面按“先定边界、再查输入输出、最后定交接”的顺序说明。
死链测试工具本身通常只做一件事:抓取页面、提取链接、请求目标地址、记录状态码和跳转结果。它既不是链接的维护方,也不是修复的执行方。所以检查依赖时,要把工具的输出当成中间产物,而不是终点。
如果这三环里有一环没有明确负责人,返工几乎必然发生。多人协作时,最常见的断点是中游到下游:工具跑完,结果发到群里,没人认领。
上游依赖的本质是“工具抓到的,和实际存在的,是不是同一批”。可以用一个具体检查项验证:
这里要区分两类情况:如果某页面被 robots.txt 明确禁止抓取,工具不访问它是预期行为,但“不被抓取”和“不需要检查链接”是两回事,需要人工补查。如果页面没有被禁止却仍未出现在 B 中,可能是入口太深、链接是 JavaScript 渲染后才出现,或工具未跟随某些跳转。这些是可能原因,需要逐项验证,不能直接断定是工具缺陷。
站点地图可以作为上游输入之一,但它不保证页面被收录,也不保证工具能抓到全部链接,所以它只能当线索,不能当覆盖率的证明。
只保留一个失效数量的报告,无法支撑后续决策。检查中游时,看输出是否包含这几项:
判断标准很直接:拿到这份输出的人,能否在不追问的情况下知道“改哪个文件、改成什么、改完怎么验证”。如果不能,说明中游依赖没有交付清楚。
下游要解决的是“谁在什么条件下算完成”。建议在协作中约定三个状态,而不是只有“已修”和“没修”:
复测必须对齐配置,否则结果不可比。比如第一次抓取包含了某个子目录,第二次没有包含,那么“错误减少”可能只是范围变小,而不是真的修好了。这一步是多人协作中最容易被跳过、也最容易导致返工的环节。
另外要分清:死链修复和索引移除是两件事。把死链页面改成 404 或 410,是告诉抓取方这个地址不再有效;但如果希望某个已经存在的页面从结果中消失,仅靠 robots.txt 的抓取限制并不可靠,它限制的是抓取,不等于移除。涉及这类需求时,要单独确认处理方式,不能和死链修复混在一个任务里。
如果团队刚开始梳理这条链,可以按下面的顺序推进,每一步都有明确的判断结果:
适用条件是:多人协作、需要交付清楚、链接来源分散在多个页面或模块。如果只是单人维护的小站点,可以简化到“导出字段齐全、复测配置一致”两项,但这两项不建议省。
下一步建议先做一次范围对比:把当前死链测试工具实际访问的页面列表,与你自己列出的必查入口清单放在一起核对。差异部分就是依赖链上最可能出问题的地方,先补这一块,再谈修复效率。