批量死链问题不要逐条打开检查,而应先按链接来源和返回状态分层,再从每层抽取少量样本验证。抽样目标不是统计全部死链,而是用尽量少的请求判断问题集中在哪一类页面、哪一类链接或哪一次改版。适用前提是你能拿到一份含来源页、目标链接、状态码和发现时间的死链清单;如果只有孤立的几条404,直接修复即可,不必抽样。
抽样前先给清单加一列“链接来源”,至少分成四类:站内导航与模板链接、站内正文链接、站点地图或结构化数据中的链接、外部站点指向本站的链接。不同来源的修复动作完全不同。模板链接失效会影响全站,正文链接失效通常只影响单篇,外部链接失效需要先确认是否值得保留目标页。
分层后统计每层的死链数量和涉及的来源页数量。如果某一层只有几条死链但分布在大量页面上,优先检查模板或公共组件;如果某一层死链很多但集中在少数页面,优先检查这些页面的编辑记录或批量导入记录。
每一层内部按三个维度抽样,而不是随机抽几条。状态码维度重点区分404、410、301链到404、超时和5xx;来源页类型维度区分首页、栏目页、详情页、标签页;发现时间维度区分长期存在和某次发布后集中出现。
可执行做法如下:
curl -I -L 目标链接。判断结果时看集中度:如果样本中多数死链都来自同一个模板文件或同一次内容迁移,基本可以定位为批量问题;如果样本之间没有共同来源,则更可能是零散编辑错误,应转为逐条修复。
抽样得到集中原因后,先做小范围验证。假设样本显示某栏目分页模板里的“下一页”链接都指向已删除的旧路径,可以先修复一个栏目并重新抓取该栏目,确认新链接返回200且不再出现在死链清单中,再推广到其他栏目。这里的“假设”指抽样推断,不是已确认的线上结论。
常见批量原因包括:URL规则变更后旧链接未重定向、内容迁移时相对路径写错、站点地图仍保留已删除页面、外部链接指向已下线的活动页。需要区分的是,robots.txt 的抓取限制不等于可靠的索引移除;页面返回200也可能因为被限制抓取而无法被正常处理。站点地图不保证收录,提交后仍需用实际请求验证状态。
完成一轮抽样后,应能明确回答:问题集中在哪一层来源、涉及哪个模板或哪次变更、修复后用什么信号确认。验收信号包括:同一批样本重新请求后不再返回404或5xx;来源页中不再出现旧链接;修复范围与抽样推断一致,没有把无关链接一起改掉。
如果抽样后仍无法归类,说明清单缺少来源页或发现时间字段,应先补数据再抽样。下一步是选一层数量最多的死链,按上述方法抽5条做完整验证,把结果写成“来源、状态码、位置、推断原因、验证结果”五列,再决定是否批量修复。