验证死链修复后的响应,不能只看浏览器里那个页面能不能打开。真正要确认的是:原来的死链URL现在返回什么状态码、最终落到哪个地址、搜索引擎抓取时看到的是不是同一结果。正确做法是先用状态码和重定向链做技术核对,再分别检查内链、站点地图和抓取工具中的表现。只凭肉眼打开页面就宣布修好,是最常见的误判。
浏览器对错误有很强的容忍度。服务器返回404时,如果页面配置了自定义错误页,浏览器照样会显示一个设计完整的页面,看起来和正常内容没有区别。反过来,有些服务器把不存在的地址软返回200,页面显示“内容不存在”,状态码却是成功。这两种情况都会让人误以为修复已经完成。
搜索引擎判断死链主要依据HTTP状态码和响应头,而不是页面文字。一个返回200但内容为空或提示错误的地址,仍可能被当作有效页面收录;一个返回404但带有友好提示的地址,依然是死链。所以验证的起点是响应本身,不是视觉呈现。
对每个修复过的原死链URL,逐条检查以下项目:
Location字段,确认目标地址拼写正确。命令行可以用curl -I查看单次响应头,用curl -IL跟随跳转查看最终状态。浏览器开发者工具的Network面板也能看到状态码和跳转过程。需要批量检查时,可用站点爬虫工具扫描全站,导出状态码列表再筛选。
判断标准很直接:原死链若指向仍存在的内容,应是一跳到位的301;若内容已彻底下线且无替代,保留404比强行跳首页更合适。把大量不相关死链统一跳首页,属于常见但错误的做法。
扫描工具报告某个URL异常时,不要立刻断定是死链没修好。同一种现象可能有多种解释:
要定位真实原因,应重复请求同一URL,观察状态码是否稳定;再换一个网络环境或工具复测。只有多次结果一致,才能把它当作已定位的问题。单次扫描结果只能算线索。
死链修复通常涉及三个层面,验证时也要分开:
如果站点使用robots.txt限制过某些路径,要注意:抓取限制不等于索引移除。被robots.txt挡住的URL仍可能出现在搜索结果中,只是摘要信息受限。验证时应分别确认抓取权限和索引状态,不要混为一谈。
另外,HTTPS只说明传输加密,不代表页面没有其他问题,也不直接决定排名。把它当作死链修复的验证项会偏离重点。
假设某篇文章从/old-page迁移到/new-page,修复后按下面顺序核对:
/old-page,确认返回301,且Location指向/new-page。/old-page。/new-page已列入,/old-page不再作为有效页面列出。/old-page的抓取结果,确认状态码稳定为301。适用条件是:旧地址有明确的新对应页面。如果旧内容已无替代,正确做法是保留404或410,而不是制造一个无关跳转。判断结果是:状态码稳定、跳转链干净、内链和站点地图同步更新,才算修复到位。任何一项缺失,都应回到对应层面继续处理。
下一步,挑出你最近修复的死链中最关键的一批URL,按上面的清单逐条核对状态码、跳转链和内链指向,把仍不稳定的条目单独列出来复测。