修复死链接后,不能只看“页面能打开”就判定完成。真正的验证是确认原死链接指向的URL返回了正确的HTTP状态码,并且该响应来自预期页面,而不是首页、404页或登录页。多人协作时,建议把验证结果写成可复核的记录,减少返工。
浏览器对很多状态码都会渲染内容。例如,服务器返回404时仍可能显示一个自定义“页面不存在”页面,地址栏也正常;返回301时浏览器会直接跳到新地址,你看到的是最终页面,而不是跳转链本身。如果只凭肉眼打开链接,很容易把以下情况误判为修复成功:
因此,验证的对象是“原死链接URL的响应”,而不是“我最终看到的页面”。
对每个已修复的死链接,按下面顺序检查,并把结果记录到协作表格中:
curl -I -L "https://example.com/old-page"。其中 -I 只取响应头,-L 跟随跳转。-L,先看第一跳返回什么:curl -I "https://example.com/old-page"。301或302表示跳转,200表示直接返回内容,404/410表示仍不可用。判断标准可以这样定:原URL返回301且最终页200,视为跳转修复;原URL直接返回200且内容匹配,视为内容恢复;返回404、410或跳转链中任一环节失败,视为未修复。若返回200但内容是首页或无关页,按未正确修复处理。
不同人用不同工具、不同时间检查,结论可能不一致。减少返工的关键是统一三件事:
如果使用爬虫工具批量复查,注意工具可能默认跟随跳转,只显示最终状态码。此时要关闭“跟随重定向”或查看重定向链,否则会漏掉中间跳转失败。不同工具的默认行为不同,使用前先确认其重定向处理方式。
有些问题不会因为状态码变好而自动解决:
适用条件:上述方法适用于你能控制服务器响应或跳转规则的场景。如果死链接来自外部网站且你无法修改对方页面,只能在自己站点侧做好跳转或内容承接,并接受外部链接不受你控制这一事实。
把本次修复涉及的所有原始死链接整理成一张检查表,逐条执行 curl -I 或等效请求,记录状态码与最终URL,再交给协作者复核。对仍返回404、410或跳转链失败的条目,退回修复环节,而不是直接标记完成。