死链优化时核对日志,核心是看四类字段:请求时间、请求URL、HTTP状态码、来源页或引荐URL。只盯着状态码会漏掉大量问题,因为同一条404可能来自站内旧链接、站外引用、爬虫误抓或用户直接输入,处理方式完全不同。多人协作时,把这四类字段连同User-Agent一起导出,才能把“发现死链”和“决定怎么修”分开交付,减少返工。
很多人拿到日志后,把状态码为404的URL全部列成清单,直接交给编辑去改。这会导致两类错误:一是把本来就不该存在的URL(比如被攻击产生的随机路径)当成需要修复的死链;二是把301、410、302等状态混在一起处理,结果改错了方向。
日志里的状态码是结果,不是原因。同一个404可能对应完全不同的处理动作,因此必须结合其他字段判断。适用条件是:你手里有服务器访问日志或CDN日志,并且能按URL聚合。如果只有前端监控的错误列表,缺少来源字段,就只能先补日志,不能直接下结论。
拿到字段后,不要按URL数量排序,而应按“是否有真实用户点击”排序。判断方法如下:
假设某条日志显示:状态码404,来源页是站内文章A,User-Agent是普通浏览器,请求时间集中在近三天。这说明文章A里有一个链接指向了已删除页面,应该去文章A的正文里找到这个链接并替换。如果来源页为空,User-Agent是爬虫,请求时间分散在半年内,那更可能是旧URL被外部引用,处理方式应改为评估是否做301,而不是去改某篇文章。
为了减少返工,日志核对结果不要只丢一张URL列表。建议按以下字段输出表格,每行一个待处理项:
这样编辑只需要看“来源页URL”和“建议动作”两列,技术人员只需要确认状态码和跳转配置,职责边界清楚。注意:robots.txt的抓取限制不等于可靠的索引移除,站点地图也不保证收录,所以日志里看到的404是否会被搜索引擎保留,需要分别到不同搜索引擎的站长工具中核查,不能只凭日志下结论。
下一步:从最近七天的日志中导出状态码为404和410的记录,按来源页是否为空分成两组,先处理有站内来源的那一组,并把处理结果填进上面的交付表格。