验证修复后的响应,不能只看浏览器能打开,而要把原死链地址、跳转链路、状态码和页面内容四项放在一起核对。最直接的做法是:用原故障URL发起一次请求,记录返回状态码、最终落地URL和页面标题,再与修复目标逐项比对。只有状态码为200或符合预期的301/302、最终页面与原链接主题一致、且不再出现404/410,才算通过。
修复死链时常见的偏差是只验证了新地址可用,却漏掉旧地址的响应。验收必须回到最初报错的URL,因为用户、外链和搜索引擎记录的是旧地址。建议建立一个最小清单:
如果修复方式是301,验收目标就是旧URL返回301且Location指向正确新页;如果修复方式是恢复内容,目标就是旧URL直接返回200。两者不能混为一谈。
浏览器地址栏会隐藏中间跳转,因此要用能看到响应头的工具。命令行下可以用curl -I查看头部,例如假设原地址为/old-page,修复后执行:
curl -I https://example.com/old-page
判断结果时看三点:第一行状态码是否为301、302或200;Location字段是否指向预期新地址;跳转是否只有一跳。若出现301跳301再跳200的多跳链路,虽然最终能打开,但会增加解析成本,建议收敛为一跳。若返回200但页面内容是首页或无关页,这属于软404,不能算修复通过。
状态码正确不等于修复合格。旧链接往往对应特定主题,若301全部指向首页,用户和搜索引擎都得不到对应内容。验收时要对比:
假设原链接是一篇产品规格页,修复后跳到同类产品页可以接受;跳到公司简介页则属于主题错配,应重新指定落地页。
同一URL在不同环境下的响应可能不同,验收时至少要覆盖两类:服务器直接返回的响应,以及搜索引擎抓取视角的响应。前者用请求工具即可确认;后者需要分别核查目标搜索引擎的抓取与索引情况,因为不同搜索引擎对跳转和索引的处理并不一致。robots.txt的抓取限制不等于可靠的索引移除,站点地图也不保证收录,所以不能拿“已提交站点地图”当作修复通过的证据。HTTPS同样不保证安全无漏洞或排名,它只是验收中的一个基础项,不是死链修复的判定标准。
单次验证容易遗漏,建议按下面顺序执行,并保留记录:
适用条件是:修复动作已经完成,需要确认结果。判断结果是:全部原URL状态码符合预期、跳转链路干净、落地页主题一致,才算通过;任何一项不符,都应退回修复环节。
下一步,把这份验收清单转成定时任务或表格模板,对已修复URL做一次周期性复检,防止后续改版再次引入死链。