直接回答:不要强求每条旧地址都找到一条新地址。先给旧地址分类,能一一对应的做单点跳转,不能对应的用规则映射到最接近的栏目或聚合页,确实没有承接内容的返回410并保留说明页。判断依据不是旧地址数量,而是旧地址背后是否仍有访问需求、是否仍有可承接的内容、以及跳转后用户能否在两步内找到目标。
旧站改版时,常见的做法是导出一份URL清单,然后逐条填新地址。地址少的时候这种方法可行;地址上千、栏目重组、部分内容合并之后,映射表会迅速失控:同一批内容被拆到多个新页,或者多个旧页合并成一个新页,一对一关系根本不存在。
这时会出现一个反常结果:跳转规则写得越细,遗漏和错配反而越多。原因是维护者把精力花在逐条配对,而不是先判断旧地址的类型。类型没分清,后面每加一条规则都在补漏洞。
旧地址找不到对应新页,通常有两种完全不同的原因,处理方式也相反。
把这两种原因混在一起,就会出现两种错误:该退出的内容被硬跳到首页,该承接的内容被直接返回404。前者让用户失去方向,后者让仍有价值的访问需求断掉。
判断属于哪一种,可以看三组证据,不需要复杂工具。
需要提醒的是,旧地址访问量下降或某段时间统计归零,不能单独证明这条地址应该废弃。它也可能是统计口径变化、外部链接被撤、或抓取减少造成的。把访问量当作唯一依据,容易误删仍有承接价值的地址。
分类完成后,映射可以按下面的顺序落地。
一个假设的例子:某旧站有 /old-service-a/、/old-service-b/ 两条地址,改版后两项服务合并到 /services/ 下的同一页。此时两条旧地址都301到该页,而不是分别跳到首页和栏目页。判断标准是新页是否回答了旧页用户原本要解决的问题,而不是地址名称是否相似。
规则上线后,抽一批旧地址实际访问一次,观察三件事:是否到达预期目标、目标页是否在首屏给出对应内容、跳转链是否超过一次。如果发现某条规则把用户带到栏目页却仍需再点两次才能找到内容,说明这条映射应该改为指向更具体的新页;如果发现某条旧地址其实没有承接内容,只是被习惯性跳转,就应改为410并补上说明页。
这个检查结果会直接决定下一轮是继续细化映射,还是收缩映射范围。映射的目标不是让每条旧地址都有去处,而是让仍有需求的访问在最少步骤内到达有效内容,让已经退出的内容被明确标记。把这两件事分开处理,历史地址才不会在改版后变成一堆互相矛盾的跳转规则。