先给出结论:不要追求“旧地址必须找到一个完全同义的新页面”,而应把旧地址分成三类处理——能精确对应的做一对一映射,语义相近但结构变化的做归并映射,确实没有承接页面的做状态码收口并给出站内替代路径。判断依据不是两个标题像不像,而是旧地址当初承担的访问意图是否仍能被新站满足。下面以你手里的一份旧站地址清单为对象,逐步转成可执行方案。
打开旧站的地址清单或站点地图,逐条问三个问题:这个地址当初是给用户看内容、给用户提交表单、还是只作为跳转中转?它现在还有没有外部链接或用户收藏?新站里有没有页面能在同一意图下完成同样的事?
按回答把清单标成三类:
分类动作的结果会直接决定下一步:A类进入逐条映射表,B类进入归并组,C类进入收口清单。三类混在一张表里处理,是后续映射混乱的主要原因。
不同CMS对重定向和别名的支持方式不同,但可落地的形式基本只有三种,选哪种取决于你上一步的分类结果。
适合A类。旧地址永久指向新地址,用户和外部链接都被带到承接页。前提是新页确实覆盖了旧页的核心信息,否则用户落地后会立刻返回搜索结果,映射等于白做。
适合B类。多个旧地址指向同一个新页。这里要接受一个取舍:旧地址各自的细分语义会丢失,换来的是维护成本下降和内容集中。如果某个细分页仍有独立搜索需求或外部链接价值,就把它从归并组里拿出来,单独保留或新建承接页。
适合C类。对已不存在的地址返回明确的“不存在”状态,同时在页面上给出相关栏目或搜索入口,让用户有路可走。相比把C类全部重定向到首页,这种做法不会让用户和搜索引擎把无关地址误当成有效页面。具体用哪种状态码,取决于该地址是永久消失还是临时调整,判断标准是内容是否还会回来。
如果旧站地址有明显规律,例如栏目层级从两层变成三层,或者参数结构统一调整,逐条写映射表既慢又容易漏。这时可以按路径规则成组处理:把旧路径中的稳定片段提取出来,映射到新路径的对应片段,再对规则覆盖不到的地址做人工兜底。
判断能否用规则映射,看两点:旧地址中是否有稳定的标识片段,新地址是否能由同一片段推导出来。满足就用规则,不满足就回到逐条映射。规则映射上线后,必须抽查一批实际地址验证结果,而不是只看规则写对了没有。
假设旧站有这样一个地址,指向“春季促销的某款产品页”,新站已取消促销专题,但同款产品页仍在,只是路径从促销目录移到了常规产品目录。此时:
这个例子的价值在于说明:一个地址可能同时属于两类,映射方案要按意图拆分,而不是给整个地址一个笼统去向。
映射表落地后,做三件事并记录结果:抽查A类地址是否落到内容匹配的页面;抽查B类归并组是否都指向了正确的承接页;抽查C类地址是否返回了预期状态且页面有可用的下一步入口。
如果抽查发现某类地址大量落到不相关页面,说明分类阶段判断有误,应回到第一步重新标注,而不是继续加映射规则。如果归并组里出现用户停留明显偏短的页面,说明该组可能混入了本应独立承接的地址,需要拆出来单独处理。映射设计不是一次写完就结束,它依赖上线后的实际落地情况来修正分类。