结论先说:不要追求把每个旧地址都强行指向一个“最像”的新页面,而应先按旧地址的访问价值与内容关系分层,能一一对应的做单点映射,不能对应的用规则化聚合或保留过渡页承接。强行一对一,往往制造大量低质量跳转,后续更难纠正。
假设某站点把原来的“产品资讯”和“使用说明”两个栏目合并为“产品文档”,旧地址有几百条,新结构只有几十个页面。此时有两种常见做法:一是把每条旧地址都挑一个最接近的新页做 301;二是把无法对应的旧地址统一导向新栏目首页。两者都不是天然正确,关键是看旧地址背后是否仍有独立访问需求和内容对应关系。
可把旧地址分成三类,用可观察的证据区分,而不是凭感觉:
判断依据可以来自服务端访问日志、站点内链和外部链接分布。若某旧地址长期没有访问,也没有外部引用,把它并入栏目首页的代价较小;反之,有稳定访问或外部引用的地址,值得单独处理。
逐条映射准确度高,但维护成本随旧地址数量线性上升,且一旦新结构再调整,映射表就要重做。规则化映射(例如按路径前缀匹配)维护简单,但容易把不相关的旧页送到同一个新页,造成主题错配。
选择条件可以这样定:
需要提醒的是,映射生效后访问量下降或抓取量变化,不能单独证明映射正确。它也可能是旧链接自然衰减、外部引用被清理或站点整体流量波动所致。要结合日志中目标页的到达情况和用户后续行为判断。
具体动作是:导出旧地址清单,为每条标注“保留、单点映射、规则映射、返回 410”四种处理之一,并写明目标地址和判断依据。完成后,先在小范围验证,再全量生效。
这个动作的结果会直接影响下一步:如果清单中大量地址只能落到栏目首页,说明新结构缺少承接层,应考虑为高频旧地址补建过渡页或聚合页;如果清单显示绝大多数旧地址都能一一对应,则不必额外增加过渡层,避免制造重复入口。
假设示例:旧地址 A 有外部引用且内容被拆入新页 B 和 C。若只 301 到 B,C 的信息对从 A 来的用户不可见;此时可在 B 页顶部加一行指向 C 的说明,或保留 A 为过渡页同时列出 B、C。代价是多维护一个页面,收益是信息不丢失。
第一,把所有旧地址都指向首页。这会让用户和后续维护者无法判断原内容去了哪里,也让映射关系失去可追溯性。第二,把映射当成一次性任务。新页合并、拆分或下线后,旧映射可能指向已失效目标,需要定期检查目标地址是否仍返回正常内容。
映射设计的目标不是让每个旧地址都“有地方可去”,而是让仍有价值的访问落到最合适的内容上,并让维护者能解释每一条映射为什么存在。