开始失效链接排查前,至少需要准备四类资料:一份可遍历的URL清单、每个URL的预期状态码、页面之间的链接关系,以及最近一次改版或迁移的记录。缺少这些资料,排查就只能靠手工点击,既容易漏掉深层页面,也无法判断某个链接是彻底失效还是被临时拦截。下面按准备顺序说明每类资料的作用、获取方式和验收标准。
失效链接排查的第一步不是找坏链,而是确定“查哪些页面”。如果只检查首页和栏目页,站内深层页面的失效链接永远不会暴露。可执行的准备方式有三种:
把三种来源合并去重后,得到一份初始清单。验收信号是:清单中的URL数量与站点实际可访问页面数量处于同一量级,且包含至少一层非首页的深层链接。如果清单只有几十条而站点明显有数百个页面,说明导出范围不完整,应先补齐再排查。
知道一个链接返回404并不等于它有问题。有些URL本就设计为跳转到新地址,有些则应当直接返回410。因此需要一份对照表,记录每个URL的预期结果,至少区分以下情况:
这份对照表可以来自站点地图中的更新记录、内容系统的发布状态,或改版时留下的重定向规则文件。判断结果时注意:返回403不一定是失效,可能是权限控制;返回200也不一定是正确页面,可能是软404。只有把实际响应与预期结果对比,才能区分“可能原因”和“已经定位的原因”。
失效链接排查不只是检查每个URL能不能打开,还要知道谁在链接它。同一个失效地址,如果只被一个低流量页面引用,处理优先级低;如果出现在导航、面包屑或大量正文中,影响面就大得多。需要准备的资料包括:
实际操作中,可以先抓取一批页面,提取其中所有<a>标签的href值,再与第一份URL清单比对。比对结果能直接告诉你哪些链接指向了清单之外的地址,这些往往是改版后遗留的旧路径。
很多失效链接不是自然产生的,而是域名更换、目录调整、文章别名修改留下的痕迹。开始排查前,尽量找到以下记录:
如果没有现成文档,可以退一步:用当前可访问的旧URL做抽样请求,观察响应头中的Location字段,反推重定向链条。验收信号是能够画出一条从旧地址到当前地址的完整路径,且中间跳转次数不超过合理范围。跳转链过长时,即使最终能打开,也会拖慢访问并稀释链接价值。
四类资料准备好后,先做一次小范围试跑:从清单中抽取20到30个URL,逐一请求并记录状态码、跳转目标和引用来源页面。把结果与预期对照表比较,确认排查流程本身没有问题,再扩展到全站。这样能在投入大量时间前发现清单遗漏或预期表错误,避免整轮排查建立在错误前提上。