当旧站改版或栏目重组后,历史地址与新页并非一一对应,最稳妥的做法不是全站一条规则重定向,而是先按“地址结构是否可预测”分成两类:结构可预测的批量映射到新栏目,结构不可预测的逐条建立对照表并保留兜底页。判断依据是旧地址里是否含有稳定的分类、编号或日期片段,以及这些片段在新站是否仍能唯一确定一个页面。
可预测的典型特征是旧地址中包含固定的目录层级或可解析的标识,例如 /news/2023/05/ 或 /product/1234.html,而新站仍保留同样的分类或编号逻辑。此时可以用规则批量映射,把路径片段重新拼装到新地址上。
不可预测的特征是旧地址由随机字符串、已废弃的栏目名或人工拼接的标题组成,新站又没有保留对应字段。这种地址无法靠规则推导,只能逐条处理。
可以直接做一个小测试:随机抽取二十条旧地址,尝试只凭路径结构写出新地址。如果成功率高且失败项集中在同一栏目,说明主体可以用规则;如果失败项分散且原因各异,说明必须走对照表。
规则映射适合栏目整体迁移、编号体系延续、日期归档保留的情况。实施动作是先导出旧地址清单,按目录前缀分组,为每组写一条映射规则,再对规则结果做抽样验证。
需要注意的取舍是:规则越宽泛,覆盖越多,但误导向无关页面的风险也越高。比如把整个旧 /blog/ 前缀指向新博客首页,看似解决了所有旧文章,实际会让带着具体标题意图的访问者落到列表页,体验和后续转化都会变差。更稳的做法是规则只负责能唯一确定目标的部分,其余交给对照表。
验证结果会直接影响下一步:如果抽样中发现某组规则的成功率明显偏低,就不应继续扩大该规则的范围,而应把这组降级为逐条映射。
对照表适合地址含随机标识、旧栏目已彻底取消、同一旧地址可能对应多个新页的情况。实施动作是建立两列清单:旧地址与目标新地址,一行一条,人工确认后再上线。
对照表的关键不是列全,而是处理找不到对应新页的那部分。常见做法是设置一个兜底页,例如保留原栏目层级的聚合页,或在站内搜索页承接,而不是统一跳首页。统一跳首页会让访问者失去上下文,也让后续判断哪些旧地址真正失效变得困难。
这里有一个假设例子说明比较方法:假设旧站有一千条地址,其中约七百条带稳定编号,三百条是随机串。先对七百条用规则映射,抽样五十条验证;剩余三百条进对照表。上线后观察兜底页的进入量,如果兜底页承接的访问持续偏高,说明对照表覆盖不足,需要回头补充具体映射,而不是继续扩大兜底范围。
最容易被忽略的边界是:用几条典型地址试出来的映射规律,未必适用于全量。原因可能是旧站不同时期由不同模板生成,路径规则并不统一;也可能是新站某些栏目合并后,一个旧地址对应多个候选新页。
遇到这类例外时,不要为了追求规则统一而强行套用。可行的处理是保留一小部分一对多的旧地址,让它们指向最相关的聚合页,并在该页提供到各候选页的入口。判断是否属于这种情况的证据是:同一前缀下的旧地址,在新站命中不同栏目,且这些栏目之间没有清晰的从属关系。
另外,映射上线后旧地址的请求量下降或归零,并不能单独证明映射正确。请求减少还可能来自外部链接自然失效、旧入口被替换,或访问者改从站内导航进入。要判断映射是否有效,应结合目标页的进入来源和落地后的行为一起看,而不是只看旧地址是否还被访问。
建议的顺序是先分类、再抽样验证、后分批上线,并保留一份可回退的映射清单。具体动作包括:导出旧地址、标记可预测与不可预测、对可预测部分写规则并抽样、对不可预测部分建对照表、设置兜底页、上线后按批次检查目标页的进入情况。
如果某一批次的验证结果不理想,就暂停该批次,把它退回对照表处理,而不是继续叠加更宽的规则。这样做的结果是每一批映射都有明确的适用条件,例外被单独记录,后续调整时不必推翻整个方案。