可复查的状态证据,是指别人拿着你交付的记录,能在不依赖你本人、不依赖当时浏览器缓存的情况下,重新得到同一批链接的同一类状态结论。做死链检查时,不要只交一张“404 链接清单”,而应交付三样东西:待检链接的来源清单、每条链接的请求与响应记录、以及判断为死链的规则说明。三者缺一,复查就会退化成“再跑一次看看”,而不是核验。
死链检查的第一步不是发请求,而是固定检查范围。范围来源通常包括:站点地图、站内导航与页脚、正文中的导出链接、以及历史改版留下的旧路径。每一条链接都应记录它来自哪个页面或哪个文件,这样复查时才能判断“漏检”还是“范围本来就没包含”。
建议把待检清单做成表格,至少包含:链接地址、来源页面、发现方式、加入日期。发现方式可以写“站点地图”“正文提取”“人工补充”,不要只写“系统抓取”,否则复查者无法还原筛选逻辑。
只有“是死链/不是死链”的结论无法复查。每条链接至少应保留以下字段,且这些字段应来自实际请求结果,不能靠推测填写:
GET 或 HEAD;两者结果可能不同,需注明用了哪种。404、410、301、302、200。Content-Type、Location。这些字段合在一起,才能支撑“这条链接当时返回了什么”这一事实。只写状态码而不写请求方法与最终 URL,复查者无法判断 200 是内容页还是跳转后的软 404 页面。
死链判断需要事先写清规则,否则同一批数据会被不同的人得出不同结论。一个可执行的规则示例(假设场景,非真实项目数据):
404 或 410,记为确认死链。301 或 302,记为待观察,需继续跟到最终 URL;若最终仍为 4xx,再记为确认死链。200,但页面内容为“页面不存在”等提示,记为疑似软 404,需人工确认。规则写清后,复查者才能判断某条记录属于“已定位的原因”还是“仍待验证的可能原因”。例如超时可能来自目标服务器、网络链路或本地出口,不能只凭一次超时就断言链接已死。
从交付结果倒推,一次可复查的死链检查至少需要三类责任:
验收标准可以设为:抽取记录重新请求后,状态码与最终 URL 与原始记录一致;若不一致,需能解释是时间变化、跳转变化还是记录错误。若无法解释,则本次证据不通过。
另外要分清边界:robots.txt 的抓取限制不等于可靠的索引移除,站点地图不保证收录;这些与死链状态是不同层面的问题,不应混在同一份证据里下结论。
第一次接触时,不要直接全站铺开。先选 20 到 50 条链接,按上面的字段和规则完整走一遍,检查记录是否足以让另一个人复现结论。样本通过后,再扩大范围;样本不通过,先补字段和规则,而不是先增加数量。