先给结论:如果旧地址对应的内容在新站有明确继承者,用单条301映射;如果旧地址是一批无法逐一对应的聚合页或参数页,用模式重写或整段退场;如果旧地址承载过外部链接或线下投放,即使内容不再维护,也应保留一个轻量承接页而不是直接返回404。判断依据不是旧地址数量,而是每个旧地址是否还有可识别的访问意图。
历史地址没有一一对应新页,通常不是一种情况,而是三种混在一起。
把这三类分开,是后续所有映射动作的前提。混在一起处理,最常见的后果是把无关旧地址全部指向首页,表面上没有404,实际上把访问者送到了一个不回答他问题的页面。
批量重写只有在旧地址路径中存在稳定、可解释的语义段时才成立。假设旧站是 /scenic/zhangjiajie-3day/ 这类结构,新站保留了 /scenic/ 栏目,只是把后面的线路名改了,那么可以按前缀把旧地址重写到新栏目。动作是:先导出旧地址清单,按路径前缀分组,对每组确认目标栏目存在且主题一致,再配置重写规则。
这个动作的结果会直接影响下一步:如果分组后大部分旧地址都落在同一个前缀下,说明新站结构基本承接了旧结构,映射可以批量完成;如果前缀分散、语义段各不相同,说明旧站结构和新站结构是两套逻辑,批量重写会制造大量错误指向,此时应回到单条映射。
需要说明的是,模式重写解决的是“地址能找到落点”,不等于旧地址的访问意图被满足。重写目标页如果和旧地址主题偏差较大,访问者仍会离开,这一步要在分组时用页面标题和正文主题核对,而不是只看路径。
不是所有旧地址都值得逐条配置。值得单条处理的,通常满足至少一个条件:旧地址有可查的外部链接、有线下物料或广告投放指向它、在旧站内被其他页面频繁引用。这些条件意味着旧地址仍可能被真实访问,映射错误会直接暴露给用户。
反过来,如果一条旧地址既没有外部引用,也没有站内入口,内容主题在新站彻底消失,那么为它单独造一个承接页的维护成本会长期存在。此时更合理的选择是让它退出,并在服务器层面返回明确的404或410,而不是指向首页。
这里有一个容易被忽略的核对点:旧地址的访问量下降或归零,不能单独证明它已经不重要。可能的原因包括旧站本身已经无法访问、统计代码未部署、或者访问集中在其他入口。要判断是否保留,应优先看外部引用和线下投放记录,而不是只看某段时间的访问数字。
多个角色对“这个旧地址该不该保留”有不同理解时,争论往往停留在印象层面。把分歧转成可核对的项目,可以用一张决策表,每条旧地址填四列:旧地址、旧主题、新站是否有同主题页、是否有外部引用或线下投放。
填完之后,判断规则可以固定下来:
这张表的价值在于,它把“我觉得应该保留”变成“这一列填了什么”。不同角色对同一事实的理解差异,会具体落在某一列上,而不是停留在整体判断上。假设某条旧地址的“是否有外部引用”一列存在分歧,那么下一步动作不是继续争论,而是去核对引用来源,核对结果会直接决定它进入保留还是退出分支。
映射规则配置完成后,验证的重点不是“有没有404”,而是“访问者是否到达了主题一致的页面”。可以按以下顺序检查:
如果验证中发现大量旧地址都指向了首页,说明映射规则过粗,应回到决策表重新分组。这个动作的结果是:要么收紧重写规则,要么把部分地址改为退出,而不是继续维持一个看似完整的跳转体系。映射的目标是让访问意图有落点,不是让404数量归零。