用死链检测工具排查问题时,日志里最该先核对的是五类字段:请求时间、请求URL、HTTP状态码、来源页URL(Referer)和User-Agent。时间用于判断问题发生的时间段,URL用于确认具体是哪个地址出错,状态码用于区分404、410、500还是超时,来源页用于找到是谁在引用这个死链,User-Agent用于区分是搜索引擎爬虫、站内爬虫还是真实用户触发。只看到“404”三个字无法定位原因,必须把这几项放在同一条记录里对照。
服务器访问日志、死链检测工具自己的报告、搜索引擎抓取日志,三者字段并不完全一致。服务器访问日志通常包含客户端IP、时间、方法、路径、状态码、字节数、Referer、User-Agent;工具报告往往只给出“检测到的URL、状态码、发现时间、来源页”。如果工具报告里缺少Referer或User-Agent,就需要回到服务器日志里按时间和URL反查,而不是直接凭工具结果改链接。
核对顺序建议从状态码开始,因为它决定了后续动作。404和410代表资源不存在,重点查来源页和链接是否已废弃;500、502、503代表服务端异常,重点查同一时间段的错误日志和上游服务;超时或连接重置则要区分是目标站点响应慢,还是检测工具自身网络受限。
假设工具报告某URL在10:32返回404。回到服务器日志,找到同一时间、同一URL的记录,如果Referer是站内某篇文章,User-Agent是普通浏览器,请求方法是GET,那么可以判断这是站内链接指向了已删除页面,应修复来源页链接或恢复目标页。如果同一URL在10:30还是200,10:32变成404,说明是刚刚发生的变更,应检查最近的发布或删除操作。如果Referer为空且User-Agent是爬虫,可能是外部旧链接或站点地图残留,需要单独处理。
再假设状态码是503,且同一时间段大量URL都返回503,那么问题不在单个链接,而在服务器负载或后端服务。此时继续用死链检测工具逐个核对没有意义,应先解决服务可用性,再重新检测。
如果字段显示是站内来源页引用错误,优先修复来源页链接;如果是外部链接导致,评估是否设置301跳转到最相关的新页面;如果是服务端5xx,先修服务再复检;如果是工具误报,调整检测规则或超时时间后重新跑一遍。判断标准很简单:同一条记录里,时间、URL、状态码、Referer、User-Agent能互相印证,才算是已经定位的原因;只有状态码没有其他字段,只能算可能原因。
下一步,从日志中导出最近七天所有4xx和5xx记录,按URL和Referer分组,先处理出现次数最多且来源页可修改的那一批。