如何检查网站死链:怎样安排最小修复试验

📍 WDQWDWQD987AAAAA:216.73.217.100
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /431ff571bed7.html
📄

如何检查网站死链:怎样安排最小修复试验

最小修复试验的核心做法是:先只选一组可独立验证的死链,用最小改动处理,再观察它们是否从“不可访问”变成“可访问且被正确跳转”。不要一次改全站,否则无法判断哪一步起了作用。适用条件是:你已经有一份死链清单,并且能区分“返回404”“返回301/302后仍失败”“被robots.txt阻止抓取”这三种情况。

先定义什么算“修好了”

修复目标不同,试验安排也不同。常见目标有三类:

如果只把404页面做得更漂亮,并没有修复死链,只是改善了错误页体验。判断时要看HTTP状态码和跳转终点,不能只看浏览器里有没有出现内容。

选一组最小样本

从死链清单里挑5到10条,覆盖不同来源:

  1. 站内导航或文章正文里出现的死链。
  2. 外部网站指向你站的死链。
  3. 旧URL被删除后没有跳转的链接。
  4. 因URL大小写、末尾斜杠、参数变化导致的失效链接。

样本要满足两个条件:数量少到可以逐条核对;类型足够不同,能暴露跳转规则是否覆盖。假设你有一个旧栏目页 /old-guide/ 已删除,站内还有三篇文章指向它,那么这三条链接就是一组可测试样本。这里不保证任何搜索引擎会立刻重新抓取或更新索引,只验证链接本身的行为。

执行最小改动并记录前后状态

按下面步骤做一轮试验:

  1. 先记录每条死链的当前状态:用命令行工具或浏览器开发者工具查看HTTP状态码和跳转链。例如 curl -I https://example.com/old-guide/,看第一行返回的是404、301还是200。
  2. 只做一种改动。如果决定用301跳转,就为这组样本添加跳转规则;不要同时改导航、改站点地图、改robots.txt。
  3. 再次检查同一组链接,确认最终状态码和跳转终点。如果出现跳转链过长或循环跳转,说明规则需要调整。
  4. 检查跳转终点页面是否与旧链接主题相关。把旧产品页跳到首页,虽然返回200,但对用户和后续抓取都不算好的修复。
  5. 观察站内入口:如果旧链接出现在导航或正文中,改完后要确认这些位置不再指向失效地址。

判断结果时,如果样本全部达到你定义的目标,再扩大范围;如果只有部分成功,先找出失败样本的共同点,例如是否都带参数、是否都指向同一目录,再决定下一轮改动。

比较修复方式的代价

不同修复方式付出的成本不同:

选择时先问:这个旧地址还有没有等价的新地址?有,就优先考虑301;没有,就判断内容是否值得恢复;都不成立,再删除站内入口。robots.txt 的抓取限制不等于可靠的索引移除,所以不要用屏蔽抓取来代替死链处理。站点地图也不保证收录,它只能帮助发现URL,不能修复链接本身。

把试验结果转成下一步

一轮最小试验结束后,你应该得到三样东西:一份样本链接的前后状态对照、一种被验证有效的处理方式、以及失败样本的原因分类。下一步不是立刻全站批量替换,而是把有效规则应用到同类死链上,并保留回滚方式。如果样本里出现跳转终点错误或循环跳转,先修规则,再扩大范围。

图1 图2

nginx