做网站死链查询时,日志里最该先核对的字段是:请求状态码、请求URL、来源页URL(Referer)、User-Agent、请求时间、请求方法,以及响应体大小。其中状态码和请求URL是判断死链的核心,Referer决定这条死链是否值得优先修复,User-Agent和时间用于排除扫描器与偶发波动。
不同服务器和CDN输出的日志格式不同,字段名可能是status、code、sc-status,也可能是URL、request、cs-uri-stem。核对时不要只看列名,要确认每一列对应的实际含义:
如果日志中缺少Referer或User-Agent,后续筛选会困难很多,建议先补齐日志字段再开始分析。
先从日志中筛出状态码为404和410的记录,按请求URL聚合计数。计数高的URL通常影响面更大,应优先处理。但要注意以下判断条件:
假设某条日志显示:请求URL为/old-page.html,状态码404,Referer为/article/abc,User-Agent为普通浏览器。这说明有真实用户从文章页点进了一个不存在的页面,应优先修复文章页里的这条链接,而不是直接删除/old-page.html。
日志中的404不一定都是需要处理的死链。验证时要交叉核对:
只有真实用户或正常爬虫触发、且返回404或410的URL,才应进入修复清单。修复后要再次查看日志,确认该URL不再出现404,或已通过301跳转到有效页面。
死链查询不是一次性工作。建议在日志分析流程中固定以下检查项:每周筛一次404和410状态码,按Referer分组找出问题来源页;每月对比一次修复前后的状态码变化;对已删除页面统一返回410而非404,便于后续区分。维护阶段的关键不是追求零404,而是确保影响用户访问和爬虫抓取的死链被及时发现并处理。
下一步可以打开最近一周的访问日志,按状态码筛选出404记录,再按Referer排序,先处理来自站内页面的那部分链接。