改版或迁移时,处理网站死链最该先核对的是:旧URL是否被正确映射到新URL、站内链接是否还指向旧地址、以及旧地址返回的状态码是否一致。时间和人手有限时,优先处理有内链指向、有外链指向、有流量或转化的旧URL,而不是全站所有404。下面是一份可执行清单,每项都说明查什么、怎么查、结果说明什么。
要查的是:迁移前的URL清单是否完整,每条旧URL是否有明确去向。怎么查:从旧站站点地图、服务器访问日志、CMS后台已发布内容列表三处分别导出URL,合并去重,得到旧URL全集。然后逐条标注目标:301到新URL、410删除、或保留原地址。结果说明:如果某条旧URL在清单里缺失,它很可能在改版后直接变成404,且你无法判断它原本该去哪里。适用条件:站点规模在可人工处理的范围内;若URL数量很大,先按有外链、有访问记录的URL排序。
要查的是:新页面里的链接、导航、面包屑、文章正文链接是否还写着旧URL。怎么查:抓取新站,筛选出返回404或301的站内链接;也可以直接在页面源码里搜索旧路径片段。结果说明:如果内链指向旧URL,用户每点一次就多一次跳转或撞上404,抓取也会被浪费。这一步常被忽略,因为改版时只改了模板,正文里的手工链接没跟着改。判断标准:站内链接应直接指向最终URL,不应依赖跳转。
要查的是:旧URL现在返回什么。怎么查:用命令行或抓取工具批量请求旧URL,记录状态码和最终跳转目标。结果说明:返回301且指向新URL,说明映射生效;返回302是临时跳转,长期看不如301明确;返回404说明没有映射;返回200但内容是旧页面,说明旧页面没被替换。注意:robots.txt 的抓取限制不等于可靠的索引移除,屏蔽抓取并不会让旧URL从索引中消失,反而可能让搜索引擎无法看到你的301。
要查的是:站点地图里是否还列着旧URL,robots.txt是否误屏蔽了新路径。怎么查:打开站点地图逐条抽查,确认列出的都是可访问的最终URL;检查robots.txt的Disallow规则是否覆盖了新目录。结果说明:站点地图不保证收录,但列出404或跳转地址会降低这份文件的可信度。如果robots.txt屏蔽了新站资源,抓取会受阻,而这不是死链问题,却会放大死链的影响。
时间和人手有限时,按下面顺序处理:
判断结果:如果一条旧URL既没有外链也没有访问记录,把它301到首页通常不是好做法,因为用户和搜索引擎会落到与预期无关的内容上。适用条件:以上排序基于可获取的日志和外链数据;若数据缺失,先处理导航和模板层面的链接。
要查的是:上线后旧URL是否仍按计划跳转,新URL是否可访问。怎么查:抽取旧URL样本批量请求,确认状态码和跳转目标;再抓取新站,确认没有新的404。结果说明:如果样本里出现跳转链过长或跳转目标又是404,说明映射表有错。建议在迁移后一周内复查一次,因为缓存、CDN规则或后续发布都可能改变结果。下一步:把上面清单做成一张表,字段包括旧URL、目标URL、状态码、是否有外链、是否有内链、处理状态,先填满有外链和内链的行,再逐批清理其余部分。