先给出结论:当旧地址与新页面不是一对一关系时,不要强行给每个旧链接找一个“最像”的新页面。更稳妥的做法是先判断这些旧地址是否还有外部链接和访问价值,再按“保留原地址、合并到内容更完整的页面、明确返回状态码”三类分别处理。映射表只是执行结果,判断依据才是决定下一步的关键。
假设你手里有一份从旧站导出的地址清单,比如 /post/2019/03/abc、/tag/seo、/page/2。不要急着逐条写跳转规则,先给每条地址标注三件事:过去是否有真实内容、现在是否有可替代的页面、是否可能被外部链接引用。
这三类会走向完全不同的处理方式。把它们混在一张跳转表里,最容易出现“所有旧地址都跳到首页”的结果,而这对用户和后续维护都不友好。
合并场景是“历史地址没有一一对应新页”的典型情况。此时选择目标页的依据不是标题相似度,而是新页是否覆盖了旧地址的主要信息。如果旧地址讲的是某个具体操作步骤,新页只是泛泛介绍同一主题,直接跳过去会让读者落空。
一个可执行的动作是:先在表格里为每个旧地址写出“读者原本想解决什么”,再找新站中真正解决同一问题的页面。找不到时,宁可让旧地址返回明确的“已不存在”状态,也不要跳到无关页面。这个动作的结果会直接影响下一步——如果大量旧地址找不到合适目标,说明内容合并方案需要调整,而不是继续扩大跳转范围。
假设有三个旧地址分别讲同一工具的三个零散技巧,新站把它们合成了一篇完整教程。那么三个旧地址都指向这篇教程是合理的;但如果其中一个旧地址讲的是另一个工具,就不能因为同属一个分类而合并过去。
对于确实不再维护、也没有替代内容的历史地址,直接让它返回“页面不存在”比跳到首页更清楚。跳到首页会让读者以为首页就是答案,也会让后续排查变得困难。
这里有一个常见误判:看到某个旧地址访问量归零,就认为它不重要。访问量归零还可能是因为旧站已经无法访问、统计代码缺失、外部链接被撤下,或者该地址本来就没有被公开过。归零本身不能单独证明可以删除。更可靠的依据是:这个地址是否还有外部引用、是否在旧站导航或文章中反复出现、删除后是否会影响读者找到现有内容。
如果确认要删除,保留一个说明页面也可以,但前提是这个说明页能告诉读者“内容已迁移到哪里”或“为什么不再提供”。没有信息量的说明页,不如直接返回明确状态。
如果旧地址仍然有独立内容、仍然有人访问,最省事的做法是保留原地址结构。新建博客时重排目录、更换固定链接格式,会让原本能一一对应的地址变成无法对应。此时应先问:这次改地址是为了解决什么问题?如果只是为了让网址看起来更整齐,收益通常不足以抵消后续映射成本。
确实要改时,按“一个旧地址对应一个新地址”处理;无法一一对应时,回到前两类的判断。不要为了凑出一对一关系,把多个旧地址硬塞到同一个新地址上,除非它们的内容确实已经合并。
可以先用二十条旧地址做一轮小范围处理,记录每个地址的判断结果:保留、合并到某页、删除。处理完后检查两件事:读者从旧地址进入后是否能找到想要的内容;后续新增内容时,这套判断标准是否还能继续用。
如果这二十条里大部分都能明确归类,说明标准可用,再扩展到完整清单;如果大量地址卡在“找不到合适新页”,说明问题不在跳转规则,而在内容合并或保留决策还没有定下来。先解决内容对应关系,再写映射,顺序反了就会反复返工。