先给结论:不要追求“旧地址都能找到唯一新页”,而要把旧地址分成可判定和不可判定两类。可判定的做一对一或一对多映射,不可判定的做站点级兜底,并把兜底页设计成能继续导航的入口。缺少完整数据和权限时,最小动作是先导出你能拿到的旧地址清单,按路径特征分组,再决定哪些组值得人工映射。
映射设计的第一步不是写规则,而是确认你手里有什么。两种条件对应完全不同的做法。
判断依据是:旧地址的数量级、路径规律性,以及你是否能验证映射后的新页确实存在且内容相近。数量少且规律强,逐条处理更稳;数量大且只能看到前缀,就优先做规则映射。
很多映射失败,是因为只按路径字面相似来配对。例如旧地址是 /service/a,新站有 /services/a,看起来对应,但新页可能已经拆成产品页和报价页两个页面。此时更合理的做法是:
实际动作:把每个可判定旧地址写成一条映射记录,包含旧路径、新路径、判定理由。判定理由要能回答“为什么这个新页能接住旧页的访问意图”。做完这一步,再决定是逐条配置重定向,还是把相同前缀的地址合并成规则。
结果如何影响下一步:如果大多数旧地址都能找到内容相近的新页,说明站点结构迁移得比较完整,后续重点转向检查重定向链是否过长;如果大量旧地址找不到对应页,说明需要先补内容或补栏目,而不是继续堆映射规则。
不可判定包括:旧地址没有规律、新站没有同类内容、你没有权限查看旧站结构。这时不要为每个地址编造一个新页,也不要把所有地址都指向首页。更稳妥的做法是设置一个站点级兜底页,并满足三个条件:
假设例子:旧站有 200 个产品页,新站只保留 30 个主产品页。你没有完整旧地址清单,只能从外链记录里看到 40 个旧产品地址。此时可执行的最小动作是:把这 40 个地址按产品类别分组,能对应到新主产品页的做一对一映射,对应不上的统一指向一个“产品已调整”的说明页,页面上列出当前主产品入口。这个动作不能推出“所有旧产品流量都会恢复”,只能说明你处理了已知的那部分地址。
按前缀做规则很省事,但容易把本应 404 的地址也重定向到无关页面。判断是否能用规则,看两点:
/blog/ 下都是文章,新站文章都在 /articles/ 下,且文章标题或 ID 能对应,才适合做前缀替换规则。例外情况:如果旧站某个栏目已经整体废弃,且新站没有同类内容,不要为了“看起来没有 404”而强行映射到无关栏目。更合理的做法是保留 404,并在站点级兜底页里提供相近主题的入口。
没有服务器权限、没有旧站后台、也拿不到完整日志时,仍然可以做三件事:
做完这些,不能推出“所有旧地址都已正确处理”,也不能推出“抓取量或请求量归零就说明映射成功”。请求量下降还可能是因为旧链接本身失效、外链被删除、抓取频率变化或统计口径不同。映射设计的目标是让可判定的访问意图有合理落点,让不可判定的访问有继续浏览的路径,而不是追求一个看起来干净的数字。