先给结论:当旧地址与新页面不是一一对应时,不要强行给每个旧地址指定一个唯一新页,而应先按“旧地址是否仍有价值”分堆,再用规则映射、内容合并或保留过渡页三种方式分别处理。判断依据不是旧地址数量,而是旧地址当前是否还有外部链接、用户收藏或站内引用,以及新页面能否承接原有意图。
从你手上的旧地址清单里挑一个最典型的,问三个问题:这个地址现在还能打开吗?打开后内容与哪个新页面最接近?有没有外部来源还在指向它?三个答案组合起来,基本能决定处理方式。
这一步的实际动作是给每个旧地址打上“有外链/无外链”和“意图一致/意图分散”两个标签。打完标签后,你会发现真正需要精细处理的只是少数,剩下的可以批量走规则。
两种做法都合理,但成立条件不同。
规则映射成立的条件:旧地址有明显且稳定的结构,比如旧栏目路径能对应新栏目路径,且旧地址里的标识符在新系统中仍然存在。这时可以用一条重写规则覆盖一批地址,代价是规则写错会整批失效,所以要先在小范围验证,再放开全量。
逐条映射成立的条件:旧地址数量有限、结构混乱,或者新旧页面之间没有可推导的对应关系。代价是维护成本高,每新增一个旧地址都要手工登记,而且容易漏。若旧地址超过你能逐条核对的规模,逐条映射本身就会变成新的错误来源。
一个假设例子:假设旧站有 300 个文章地址,路径里带日期和编号,新站改成了不带日期的短路径。如果编号被保留,规则映射可以覆盖大部分;如果新站重新分配了编号,就必须先导出一张新旧对照表,再决定哪些走规则、哪些逐条登记。这个例子只说明比较方法,不代表任何具体项目的数量。
当多个旧地址的内容被合并进一个新页面时,最怕的是把用户送到一个只讲了一半的页面。处理顺序是:先确认新页面是否完整覆盖了旧地址的核心意图,再决定指向它还是指向过渡页。
这个动作的结果会直接影响下一步:如果发现多个旧地址都指向同一个不完整的新页面,说明问题不在映射,而在内容合并本身,应先补内容再改映射。
映射上线后,返回 301 并不等于处理正确。你需要看两件事:旧地址是否还在被请求,以及请求最终落到哪里。
如果某个旧地址的请求量在映射后归零,可能的解释不止一种:映射生效了,用户不再需要它;也可能是站内引用被一起改掉了,或者外部来源本身消失了。请求量归零不能单独证明映射正确。更稳妥的做法是同时检查站内搜索、导航和文章正文里是否还有指向旧地址的链接,以及外部来源是否仍然存在。
如果请求仍然存在但落点不对,说明映射目标选错了,应回到上一节重新确认意图覆盖。这个检查动作的结果决定你是继续批量放开规则,还是先回退到逐条核对。
最后,把每个旧地址的处理结果落成一张表,至少包含四列:旧地址、处理方式、目标地址或状态码、判断依据。判断依据要写清楚是“有外链且意图一致”还是“无引用且内容过时”,这样后来接手的人才知道为什么这样处理。
这张表的价值在于,当新页面再次调整时,你可以按判断依据重新筛选,而不是从头再猜一遍。对于宿迁网站设计项目来说,只要旧地址清单还在,映射就不是一次性工作,而是一份需要随内容结构变化持续维护的记录。