死链接修复方法要解决的是“链接指向的地址已经无法正常访问”,但排查时不能只看一次访问结果。访问抓取与索引结果的区别在于:抓取是爬虫请求了某个URL并拿到响应,索引是搜索引擎把该URL的内容纳入可检索库。一个URL可以抓取成功却没有被索引,也可以曾经被索引但后来抓取失败。修复死链接时,必须先分清当前证据属于哪一层,再决定改链接、改跳转还是提交移除。
访问抓取结果最直接的证据是HTTP状态码和响应内容。用命令行或浏览器开发者工具请求目标URL,记录状态码、最终跳转地址和页面标题。常见判断如下:
200:请求成功,页面可访问,但不代表已被索引。301或302:发生跳转,要检查最终落地页是否与死链接主题相关。404或410:页面不存在,属于典型的死链接信号。403或429:被拒绝或请求过频,可能是抓取受限,而非页面真的消失。5xx:服务器错误,可能是暂时故障,需要重复检查。索引结果则要看搜索引擎返回的收录状态、抓取时间和规范网址。即使状态码是200,如果页面被noindex标记、被robots.txt限制抓取,或内容质量不足,也可能不进入索引。反过来,一个已经返回404的URL,可能仍短暂出现在索引结果里,因为索引更新有延迟。
把问题拆成三层,能避免把抓取失败误判为索引失败:
noindex、规范标签是否指向其他URL、站点地图是否提交。站点地图不保证收录,它只是发现线索。如果日志显示爬虫最近抓取过该URL且返回200,但索引中没有,优先检查noindex和规范标签。如果日志显示返回404,但搜索结果仍有该链接,优先处理死链接本身,再等待索引更新。不要仅凭一次搜索结果就断定“已删除”或“已收录”。
确认死链接后,按以下顺序处理:
301跳转到最相关的新页面,而不是直接返回404。410或404,并确保站内不再链接到该地址。5xx或429,先修复服务器或降低抓取频率,不要急着改链接。跳转是否合适,判断标准是“用户和爬虫到达的新页面是否满足原链接的意图”。把旧产品页跳到首页,通常不如跳转到同类产品页;把旧文章跳到无关栏目,会被视为软404。HTTPS不保证安全无漏洞或排名,它只说明传输层加密,不能替代死链接修复。
每次处理死链接,按下面清单收集证据:
robots.txt是否禁止该路径,注意抓取限制不等于索引移除。meta robots和X-Robots-Tag是否含noindex。假设某旧文章URL返回404,但站内三处导航仍链接它。先改这三处链接到新文章,再给旧URL配置301到新文章。若旧URL已被索引,跳转比直接删除更利于用户到达正确内容;若旧URL从未被索引且无外部链接,直接返回404也可接受。判断依据是外部链接价值、用户访问量和替代页面相关性。
下一步:选一个你怀疑已失效的URL,按上面的清单记录状态码、抓取日志和索引表现,再决定是改链接、加跳转还是保留404。只有把访问抓取结果与索引结果分开记录,死链接修复才不会误伤正常页面。