网站死链检测的正常结果,是返回状态码与页面真实情况一致,并且链接在站内可正常到达;异常结果则是状态码与真实情况矛盾,或检测过程本身被拦截、被限速、被 robots.txt 挡住,导致你看到的数据不能代表用户实际访问的结果。区分时先看状态码,再看响应内容,最后看检测链路是否可信。
检测工具报告一条链接有问题,并不等于它一定是死链。常见情况可以分成三类:
判断顺序建议是:先确认状态码,再确认页面正文,最后确认这次请求是否被目标站点正常接受。三者都指向同一结论,才算可靠结论。
工具结果有疑问时,用命令行再请求一次,观察状态码和响应头:
curl -I -L -A "Mozilla/5.0" https://example.com/page
把 example.com/page 换成待查链接。重点看三项:
-L 会跟随跳转,看到的是跳转后的结果。若最终是 404,基本可判为死链;若最终是 200,但正文是错误提示,则按软 404 处理。Retry-After 或明显的限流提示时,说明这次结果可能被服务器主动拒绝,不能直接当成死链。适用条件是你能在本地或服务器上执行命令。若不能,至少用浏览器无痕窗口打开一次,对比工具结果与真实访问是否一致。
有些“异常”不是链接坏了,而是检测方式不对:
因此,检测前先明确哪些链接属于可公开访问范围,把受保护、被限制的链接排除在死链统计之外,否则清单会混入大量假异常。
把检测结果按影响排序,优先处理同时满足以下条件的链接:
软 404 排在其次,因为用户能打开页面,但体验和抓取效率受损。403、429、503 这类结果先复核检测链路,确认不是拦截后再决定是否处理。这样安排,能在时间和人手有限时把改动集中在真正影响访问的链接上。
修完之后重新检测同一批链接,确认三点:状态码与页面内容一致、跳转链不再指向无关页面、受保护页面没有被误改。只有这三项都通过,才能把该批次标记为处理完成。下一步是固定一个可重复的检测流程:明确检测范围、记录每次结果、只对确认异常且影响访问的链接动手。