验证死链修复后的响应,核心是确认三件事:原死链地址现在返回什么状态码、返回的内容是否与目标页一致、以及这个结果对搜索引擎和真实用户是否都成立。最直接的做法是用命令行工具请求原地址,观察状态码和跳转链,而不是只看浏览器里“能打开”就结束。
假设某站点把一篇旧文章从 /old-page 迁移到了 /new-page,并在服务器上配置了 301 跳转。修复完成后,按下面步骤验证:
curl -I https://example.com/old-page 请求原地址,只看响应头。期望看到 301 或 308,以及 Location 指向 /new-page。curl -IL https://example.com/old-page 跟随跳转,确认最终状态码是 200,且最终 URL 就是目标页。这个例子里,如果第一步返回的是 200 而不是 301,说明原地址被直接返回了内容,跳转规则没生效;如果返回 302,说明用了临时跳转,对权重传递不如永久跳转明确;如果返回 404,说明修复根本没落地。这三种结果指向的原因不同,不能只看“页面能不能打开”。
状态码正确只是第一层。还要确认响应内容本身没有新的问题:
200 且内容非空,而不是软 404(页面显示“未找到”但状态码是 200)。robots.txt 禁止抓取,搜索引擎可能无法跟进跳转。需要说明的是,robots.txt 的抓取限制不等于可靠的索引移除,它只约束抓取行为,不直接决定已收录页面是否消失。死链通常不是一条,而是一批。逐条在浏览器里点开效率低,也容易漏掉跳转链问题。可以把待验证的旧地址整理成一个列表,用脚本批量请求并记录状态码、跳转目标和跳转次数。判断标准可以设为:状态码为 301/308、跳转次数为 1、最终状态码为 200、最终 URL 与预期目标一致。任何一项不符就单独标记出来复查。
常见错误是只验证“最终能打开”,忽略了中间状态。比如旧地址先 302 到一个临时页,再 301 到目标页,用户感觉正常,但搜索引擎看到的跳转信号是混合的。另一个常见错误是只测了带 www 的版本,漏测不带 www 或带尾斜杠的变体,导致部分入口仍然是死链。
不同搜索引擎对跳转的处理节奏和抓取行为并不完全一致,支持情况须分别核查。验证时不要假设一个引擎已更新,另一个就自动跟随。可以分别在对应引擎的站长工具中查看旧地址的抓取状态,或对旧地址发起抓取测试,观察返回的状态码是否与服务器实际响应一致。如果工具显示的状态与 curl 结果不符,优先以服务器实际响应为准,再排查缓存或抓取延迟。
下一步:把本次修复涉及的旧地址整理成一张表,逐条记录“原地址、当前状态码、跳转目标、跳转次数、最终状态码”,对不符合预期的条目回到服务器配置中修正规则,然后重新跑一遍批量验证。