结论先给:当旧地址与新页面不存在一一对应关系时,映射应当按“可解释的归属”来做,而不是按字面相似度硬凑。可行的前提是你能拿到旧地址的访问数据,并且能判断每个旧地址原本承载的内容类型;如果拿不到访问数据,或旧站内容本身高度重复、互相替代,那么任何映射设计都只能算猜测,此时更稳妥的做法是让无归属的旧地址返回410,而不是全部重定向到首页。
一一对应之所以做不出来,常见原因是旧站存在大量参数页、分页、标签页和重复内容页,它们在新站结构里被合并成了少数几个栏目页。这种情况下,映射的粒度要从“一个旧地址对一个新地址”改成“一类旧地址对一个新地址”。
判断依据可以看三个信号:该旧地址是否仍有外部链接指向、是否仍有稳定访问量、其内容主题是否能被某个新页面完整覆盖。三个信号都满足,才值得单独设规则;只满足访问量但不满足内容覆盖的,说明用户找的东西新站没有对应承载,这时需要先补内容,再谈映射。
实际动作:导出旧站访问日志或统计报表,按访问量降序排列,先处理前若干条。处理完这批之后,你会得到一份“已明确归属”和“无明确归属”的两类清单,下一步的规则设计只针对第一类,第二类单独走失效处理。
第一种是“就近归属”,把旧地址指向新站中主题最接近的栏目页。它成立的条件是新栏目页确实能回答旧地址用户的原始意图,否则用户落地后仍会二次跳出,映射就等于白做。
第二种是“聚合归属”,把多个旧地址统一指向一个新聚合页。适合旧站把同一主题拆成很多细碎页面的情况,前提是新聚合页的信息量不低于原来若干页之和。
第三种是“不映射”,让旧地址返回410或保留一个说明页。适合内容已彻底下线、新站不再提供同类信息的场景。把这类地址强行指向首页,会让用户和抓取程序都误以为首页就是原内容的替代品。
假设旧站有一批带参数的列表页,参数只影响排序、不影响内容集合。按“就近归属”把它们全部指向新站的对应列表页,看起来合理。但如果新列表页是分页结构,而旧参数页对应的内容散落在多个分页里,用户从旧地址进入后可能落在第一页,找不到原来那条记录。
这个反例说明:当新页面的内容组织方式与旧地址的定位方式不一致时,就近归属会失效。此时要么为新站补一个能直接定位到该记录的入口,要么承认无法映射、走失效处理。判断方法很简单——用旧地址原本指向的具体内容去新站找一遍,找不到就不要建立这条规则。
建议按“先分类、再写规则、后验证”的顺序推进。分类阶段产出旧地址与新目标的对应表;写规则阶段把对应表转成服务器或应用层的重定向配置;验证阶段逐条访问旧地址,确认最终落地页与预期一致。
验证时要特别注意两种情况:一是重定向链路过长,旧地址经过多次跳转才到终点;二是循环重定向,A指向B、B又指回A。这两种都会让映射效果打折扣,发现后应合并为一次跳转或修正规则。
下一步动作:把验证通过的规则固化下来,并把“无明确归属”的那批旧地址单独记录,观察一段时间内它们的访问情况。如果其中某些地址持续有访问且用户需求真实存在,再回头补内容、补映射;如果访问逐渐归零,可以维持失效处理。访问归零本身不能单独证明处理正确,它也可能只是外部链接被移除或统计口径变化导致的,需要结合链接来源一并判断。