官网改版后出现死链,本质是URL 集合发生了变化:旧地址不再对应新页面。处理死链有两件事,一是把已经流出的旧地址用 301 跳到新页面,二是在改版前后持续发现并清理失效链接。这两件事靠人工点页面做不完,通常要引入自动化检测,差别只在检测放在哪个环节、用什么驱动。
下面按三种常见场景给出候选方案,说明代价与适用边界,最后给出一份可以直接照着走的决策清单。
方案一:上线前全站爬取扫描,适合有明确改版时间窗的项目
做法是在测试环境或预发布环境跑一遍站内爬虫,从首页出发递归抓取站内链接,与旧站导出的 URL 清单做差集。差集里"旧有、新无"的部分,就是需要配置 301 的对象。
- 优点:改版上线前就能拿到映射表,跳转规则可以随版本一起发布,用户几乎感知不到断链。
- 优点:扫描结果是一份静态清单,便于交给内容、产品或运维分别确认归属。
- 代价:爬虫只能覆盖"页面上有链接"的部分,隐藏在表单、脚本拼接、外部投放里带出的地址抓不到。
- 代价:需要旧站的可访问性或导出数据,历史站点已下线时会很被动。
适用边界:栏目结构大调整、域名或目录规则改变、有正式发布窗口的改版。品牌官网改版多属于这一类,改版前把新旧 URL 对照表定下来,比上线后再补要省事得多。需要配套实施时,可以参考我们的软件定制开发与系统集成服务,把改版与跳转规则纳入同一个交付批次。
方案二:上线后日志驱动巡检,适合链接来源分散的存量站点
思路是以站点访问日志或反代日志为输入,筛选出返回 4xx 的请求路径,再按访问频次排序,优先修复被真实用户和搜索引擎反复访问的失效地址。
- 优点:直接反映真实流量,修复优先级天然合理,不必平均用力。
- 优点:能发现爬虫抓不到的地址,比如外部投放、旧邮件、第三方平台留下的链接。
- 代价:只能在问题发生之后发现,存在时间差,早期访问者会先看到 404。
- 代价:日志需要规范落地,若反向代理层未记录完整路径,或路径被重写,统计结果会失真。
适用边界:站点已运行多年、外链来源多、改版分阶段推进的场景。一般建议日志巡检按周粒度执行,把 404 榜单纳入例行运维,而不是等发现问题再临时查。
方案三:持续集成式链接校验,适合长期维护的内容型官网
把链接检查做成构建或发布流水线中的一步:每次内容更新、每次发布前自动跑一遍站内链接校验,失败则阻断发布或告警。对有大量编辑内容、频繁发稿的站点,这种方式的收益最明显。
- 优点:问题在发布前被拦住,死链很难流入生产环境。
- 优点:规则可复用,新同事不必依赖个人经验。
- 代价:前期需要投入配置与维护,校验规则过严会频繁误报,反而让团队忽略告警。
- 代价:对纯静态扫描之外的场景覆盖有限,比如依赖登录态、异步加载或前端路由生成的链接需要额外处理。
适用边界:内容更新频繁、多编辑协作、有持续交付流程的站点。部署与运维侧的配合方式见服务范围与交付流程,可以按发布节奏确定校验放在哪一环。
什么情况下不要选这些方案
三种方案都不是万能的,以下情形建议先解决前置问题,再谈自动化:
- 站点还在改版中途,URL 规则未定:此时做全站扫描,得到的映射表很快就会失效,不如等结构冻结后再跑。
- 只有零星几条运营手工维护的页面:投入流水线校验的维护成本高于收益,人工核对反而更快。
- 失效地址本身有业务含义(如下架商品、已结束活动):全部 301 到首页会造成内容错配,这类应返回带引导的 404 页面而非强行跳转。
- 缺少日志权限或日志留存很短:日志驱动的巡检拿不到有效样本,结论不具备参考价值。
修复动作本身的设计要点
检测出死链只是第一步,修复环节常犯的错是跳转规则打得过宽。下面几条是落地时的一般做法:
- 先区分"永久失效"与"路径变更"。路径变更做 301,永久失效返回规范 404,不要一律跳首页。
- 跳转目标保持一层,避免 A 跳 B 再跳 C 的链式跳转,否则收录与体验都会打折。
- 跳转规则集中配置在服务端,别散落在页面脚本里,便于审计和回收。
- 上线后复核:抽查原有高访问量地址,确认返回码与落地页均符合预期。历史项目中的做法可以参考互联网与软件行业案例。
如果站点已经积累了大量失效地址,通常需要按业务影响做优先级排序,而不是一次性全量清理。具体的排查思路还可以看更多技术实现细节中的相关专题。
自查清单:方案选择与验收
决策时可以先回答三个问题:改版是否已有发布窗口、日常链接是否分散在外部渠道、内容更新是否频繁。答案分别指向方案一、二、三,也常需要组合使用。
验收时按这份文字版对比清单逐条核对:
- 交付前全站扫描 → 适合有明确改版周期的项目方 → 主要代价是覆盖不到非页面链接,且依赖旧站可访问。
- 日志驱动 404 巡检 → 适合存量站点、外链多的运维团队 → 主要代价是滞后发现,依赖日志质量。
- 持续集成式链接校验 → 适合内容频繁更新的官网 → 主要代价是前期配置与误报治理。
常见问题
404 数量多就一定代表改版失败吗?不一定。要看这些地址是否仍有真实访问。零访问的失效地址影响有限,被反复访问的才需要优先处理。
301 跳转能替代修复链接吗?能做兜底,但不能替代。页内仍指向旧地址的链接应改到新地址,跳转只处理站外或无法修改的引用。
巡检频率怎么定?发布频繁的站点建议每次发布跑一次站内校验,日志巡检按周执行;低频更新站点按月检查即可。