验证修复后的响应,核心是回到原死链的完整 URL,分别检查 HTTP 状态码、重定向终点和页面内容是否与预期一致。只看到浏览器能打开还不够,因为 200 可能来自软 404 页面,301 也可能跳到另一个失效地址。正确的做法是:先记录修复目标,再用可复现的请求逐项核对。
同一个死链可以有三种修复方向,验证标准完全不同:
如果目标没定清楚,验证时很容易把“跳到了首页”误判为修复成功。跳首页只适合无对应内容的旧链接,不适合原本有明确主题的页面。
浏览器地址栏只显示最终页面,看不到中间跳转和原始状态码。推荐用命令行工具检查:
curl -I -L --max-redirs 5 https://example.com/old-page
参数含义:-I 只取响应头,-L 跟随重定向,--max-redirs 5 限制跳转次数,避免循环跳转一直跑下去。输出中要重点看:
Location 头指向哪里,是否为目标页。如果第一行就是 200,说明没有配置跳转,需要确认页面内容是否真的恢复,而不是服务器把未知路径统一返回了首页。
软 404 指服务器返回 200,页面却显示“内容不存在”或空白模板。这种情况对用户和搜索引擎都不友好,但状态码检查会漏掉。判断方法:
curl 取回页面正文,搜索是否存在“未找到”“已删除”等提示文本。适用条件:原 URL 计划恢复内容时,必须做这一步。若计划就是删除,返回 404 反而正确,不需要消除软 404 提示。
301 跳到另一个 404,是修复后最常见的问题。验证时要单独请求目标地址:
curl -I https://example.com/new-page
确认目标页返回 200,并且内容与旧链接主题相关。如果目标页本身还有跳转,整条链会变长,用户等待增加,也不利于权重传递。一般建议一跳到位,不要 A 跳 B、B 再跳 C。
还要检查跳转是否区分大小写和带斜杠版本。有些服务器对 /Old-Page 和 /old-page 处理不同,修复时只改了一个变体,另一个仍然 404。
响应修好了,但站内其他页面仍指向旧地址,用户点击后照样经过跳转,体验没有真正改善。检查项:
站点地图只用于提交发现,不保证收录,因此不能把“已写入 sitemap”当作修复完成的证据。
curl -I -L,记录状态码和跳转终点。判断结果:全部 URL 的最终状态码为 200,跳转链不超过一跳,内容与目标一致,内链和站点地图无残留,才算修复通过。任何一项不满足,都应回到对应环节重新处理,而不是只看浏览器能否打开。
下一步:把上述命令和检查项整理成一张验证表,对每个修复过的 URL 逐行记录原始状态码、最终状态码、跳转目标和内容核对结果,便于后续复查和交接。