当旧站的历史地址无法与任何新页面一一对应时,不要强行凑一对一映射。更稳的做法是先按“内容是否仍然存在”把旧地址分流成三类,再为每一类定义不同处理:能继承的做单点跳转,内容合并的指向新聚合页,内容彻底取消的返回一个带说明和入口的状态页。这样做的直接结果是跳转关系可预期、可测试,后续再出现遗漏地址时也有统一规则可套。
把你能拿到的最完整旧地址来源集中到一张表里,例如服务器访问日志、旧站地图、旧后台的栏目导出、外链工具里被引用的地址。字段至少保留:旧地址、旧标题或旧栏目名、旧内容是否还能找到、新站对应候选页。没有这份表,任何映射都只是凭印象补洞。
一个可执行动作:先按旧地址的路径层级分组,比如文章、栏目、标签、附件、分页。分组后你会看到遗漏往往集中在分页和标签这类批量生成的地址上,而不是正文页。这个观察会决定下一步是逐条处理还是用规则批量处理。
这类适合单点跳转。判断依据是旧页面主题与新页面主题一致,且新页面能独立满足访问者原本的意图。此时把旧地址永久指向新地址,并在表里记录“已确认”。
这类不要分别跳向不同碎片页。把若干旧地址统一指向承载合并结果的那个页面。判断依据是旧页面单独看信息已不完整,合在一起才构成完整答案。假设有三个旧地址分别讲同一产品的不同参数,合并后只有一个新页,那么三个旧地址都指向它,并保留各自旧标题作为核对记录。
这类最容易被忽略。不要把它跳去首页,否则访问者会以为内容还在。更合适的是返回一个明确说明该内容已下架、并提供相近栏目入口的状态页。这个动作的结果是:访问者知道发生了什么,同时你获得了新的入口引导,而不是一次无声的误导。
在旧地址清单上增加三列:处理类型、目标地址、验证结果。处理类型只允许“单点跳转”“合并指向”“说明页”三种,避免出现模糊写法。
填完后先抽查每组各若干条,确认目标地址真实存在、状态码符合预期、跳转不形成链条。如果发现旧地址 A 指向 B、B 又指向 C,就把 A 直接指向 C,减少一次中转。这个动作会直接影响下一步的测试成本:链条越短,验证越快,出错时定位越容易。
分页和标签是历史地址里最容易失控的部分。它们通常数量大、单页价值低,但被外部引用后仍会带来访问。取舍标准是:如果这些地址背后没有独立内容,就不要为每一页造一个新页面,而是把它们归入所属栏目的主地址或说明页。
对于带参数的地址,先判断参数是否改变内容。若参数只影响排序或展示方式,可归并到无参数主地址;若参数确实对应不同内容,则按第一类或第二类处理。这里的关键不是追求全部保留,而是让每个旧地址都有明确归属,不留悬空。
验证不是只看“有没有跳”。逐条检查三件事:目标地址是否可访问、返回状态是否符合该类型、访问者落点是否与旧标题意图接近。若某条旧地址跳转后落点明显不相关,说明它应归入说明页而不是单点跳转,需要回到映射表改类型。
如果某类旧地址的访问记录已经很少,也不能单独据此断定处理正确,因为访问少还可能来自外链失效、统计口径变化或该地址本就未被广泛引用。更稳妥的做法是结合旧标题意图和外链引用情况一起判断,再决定保留跳转还是改为说明页。完成一轮验证后,把确认无误的映射固化下来,后续新增遗漏地址时直接套用同一套分类规则,而不是每次重新讨论。