处理死链时,前后环节的依赖检查顺序应当是:先确认死链从哪来,再确认跳转或删除会影响谁,最后确认修改后的状态是否被正确传递。时间人手有限时,优先检查“上游产生死链的环节”和“下游依赖该URL的环节”,而不是先批量删链接或全站改跳转。
一个死链问题通常涉及三段:上游是链接或URL的产生处,中段是服务器返回的状态,下游是依赖这个URL的页面、站点地图、导航或外部引用。检查依赖就是确认这三段里,哪一段先坏、哪一段会被你的修改影响。
判断依据是:如果只修中段,比如把404改成301,但上游仍在持续产生同一个错误URL,死链会反复出现;如果只修上游,下游已经存在的旧链接仍会继续报错。因此先查依赖方向,再决定修哪一段。
时间和人手有限时,不要一上来就全站爬取。先抽一组最有代表性的URL,按下面步骤执行:
可执行的检查例子:假设某商品页返回404。先在站内搜索该URL,若发现分类页和站点地图都还引用它,说明下游依赖未清理;再查商品是否已下架,若下架后模板仍输出旧链接,说明上游依赖未修复。此时应先改模板或下架逻辑,再处理已有内链,最后决定返回301到新商品还是410。若商品只是暂时缺货,恢复内容通常比跳转更合适,因为跳转会让用户和后续维护都偏离原目标。
不同处理方式的依赖代价不同,选择时要看URL是否还有等价替代、是否会被再次生成、是否涉及外部引用。
注意,robots.txt 的抓取限制不等于可靠的索引移除;站点地图不保证收录;HTTPS 也不保证页面安全无漏洞或排名。这些环节只能作为依赖检查的一部分,不能替代对URL状态和链接来源的判断。
每次修改后,至少核对三项:旧URL返回的状态是否符合预期;站内还有没有链接指向旧URL;上游生成逻辑是否还会再次输出旧URL。对批量处理,可以抽同一模板下的多个URL重复检查,而不是只看一个样本。
如果旧URL返回301,要确认目标页返回200且内容相关;如果返回410,要确认内链和站点地图已移除;如果恢复了内容,要确认标题、正文和入口链接一致。发现仍有入口指向旧URL时,说明下游依赖未清完,应回到对应模板或内容项继续处理。
下一步可以从最近返回404或410的URL中,挑出同时出现在内链和站点地图里的那几条,先查它们的生成来源,再决定恢复、跳转还是删除。