结论先给:如果旧地址与新页面之间不存在稳定的一一对应关系,就不要强求全部做单点跳转,而应把映射设计成“可解释的三层结构”——能明确对应的走单点跳转,只能归类的走分类落点,确实没有承接内容的走说明页加站内搜索入口。这样做的代价是短期会损失一部分链接权重传递,但换来的是可核对、可回退、不会把用户送进死胡同的映射表。判断是否该采用这套结构,关键证据是旧地址的流量来源结构,而不是旧地址的数量。
很多团队默认旧地址必须逐一跳转到新地址,但这个前提只在旧页面与新页面主题一致时成立。以下信号出现任意两条,就说明一一对应已经失效:
这里有个容易被误读的现象:旧地址访问量在映射上线后大幅下降,常被当作“跳转生效”的证据。但访问量下降也可能只是外部链接自然衰减、旧入口被下线或统计口径变化。要区分这些解释,应同时核对服务器日志中该地址的响应状态码,以及来源域名是否仍然存在,而不是只看访问量曲线。
把映射分成三层,是为了让每条规则都有明确的判断依据,而不是靠人工感觉分配。
只有当旧页面与新页面在主题、内容类型、面向人群三方面都能对应时,才使用 301 单点跳转。判断方法很简单:把旧页面标题和新页面标题放在一起,如果去掉品牌词后语义仍然接近,就属于这一层。这一层的动作是逐条写入映射表,并记录旧地址、新地址、判断依据三列。
旧地址能判断属于哪个栏目,但找不到等价单页时,跳转到栏目页或聚合页比跳转到首页更合理。跳首页会让用户和搜索引擎都无法判断主题归属,归类落点至少保留了主题线索。这一层需要额外检查栏目页是否有足够的内容承载,如果栏目页本身只有标题列表,用户落地后仍会迷失,此时应优先补充栏目页的导语和入口。
业务已取消、内容已彻底下架的旧地址,不应硬跳到一个不相关页面。更稳妥的做法是返回一个说明页,用一段话解释原内容已调整,并给出站内搜索框和几个相关栏目入口。说明页应返回 404 还是 410 取决于是否希望该地址尽快从索引中移除,但无论选哪个,都要保证用户能继续找到替代路径。
假设某站点有 800 条旧地址,新站只有 300 个内容页。若强行一一对应,会有 500 条旧地址被分配到不相关页面。改用三层结构后,假设经人工核对,其中 180 条可单点跳转,420 条归入 26 个栏目落点,剩余 200 条进入说明页。这个分配结果会直接影响下一步:单点跳转部分需要逐条验证响应状态码;归类落点部分需要检查栏目页内容是否足够;说明页部分需要确认站内搜索能返回有效结果。如果不先做这个分配,后续验证就没有明确的检查对象。
三层结构的前提是旧地址仍有外部链接或用户直接访问。如果经核对,某批旧地址既没有外部链接指向,也没有站内入口和用户访问记录,那么为它们设计精细映射的收益很低,此时更合理的动作是集中处理有链接价值的地址,其余批量返回 410 并记录归档。判断依据是外部链接来源清单和服务器日志,而不是旧地址总数。这个反例说明:映射粒度应该由旧地址的实际价值决定,而不是由“旧地址必须全部处理”的直觉决定。
具体动作是建立一张映射表,至少包含旧地址、映射层级、目标地址、判断依据、上线状态五列。先上线单点跳转层并核对响应状态码,再上线归类落点层并抽查栏目页落地体验,最后处理说明页层。每一层上线后,用服务器日志核对实际响应是否符合映射表记录。如果发现某条规则的目标地址返回异常,就回退该条规则并重新判断层级,而不是整批回滚。这样做的结果是:映射表始终与实际响应保持一致,后续新增旧地址时也有可复用的判断标准。