没有完全等价目标时,不要把所有旧地址都指向首页。更稳妥的做法是:能落到主题相近的替代页就做单条永久重定向;确实没有对应内容的,返回 410 并保留一段时间的监测。判断依据不是“能不能跳”,而是旧地址承担的意图是否还能在新站被满足。
迁移后旧地址通常分两种。第一种是内容被合并或改名,新站存在主题相近、能满足同类需求的页面。第二种是内容被彻底删除,新站没有任何页面能承接这个意图。这两类的处理方式不同,不能一刀切。
有近似承接时,用单条 301 指向最接近的替代页。这里的关键是“最接近”,而不是“最方便”。如果旧地址讲的是某型号的安装步骤,新站有同系列另一型号的安装页,那属于近似承接;如果新站只有产品总览页,那就不算,因为用户点进去还要再找一遍。
无近似承接时,返回 410 比跳首页更诚实。跳到首页会让用户和抓取端都以为内容还在,只是位置变了;410 明确表示内容已移除。两者对后续清理的判断影响不同:前者会持续产生“这个地址还有价值”的错觉,后者让链路更快收敛。
判断是否近似承接,可以问三个问题:旧地址解决的具体问题,新页面是否也解决?旧地址的目标读者,新页面是否同样服务?用户从新页面能否一步得到答案,而不是再跳一次?三个都成立,才适合 301。
如果近似承接的地址数量很少,逐条配置 301 成本可控。如果旧地址成千上万、且大多没有对应内容,逐条找替代页会拖很久,这时应优先把有明确承接的挑出来做 301,其余批量返回 410,而不是花大量时间给每个旧地址硬凑一个目标。
还要看维护成本。指向一个临时拼凑的替代页,日后这个替代页若再改版,链路就要重新维护。指向真正等价的页面,后续变动少。选择时把“今天省事”和“以后少改”放在一起权衡。
一个可执行的动作是:先导出一份旧地址清单,标注每个地址的意图、是否存在近似承接页、承接页地址。对确认有承接的配置单条 301;对确认无承接的配置 410。配置完成后,用抓取或日志抽查一批旧地址,确认返回的是预期状态码,而不是被站点其他规则覆盖成 302 或 404。
抽查结果会直接决定下一步。如果发现本该 301 的地址返回了 404,说明规则顺序或匹配范围有问题,应先修规则再继续;如果发现大量无承接地址仍返回 200,说明旧内容可能还在,需要先确认是否真的删除,再决定 301 还是 410。这个顺序不能颠倒,否则后面统计到的数据无法解释。
假设一个例子:旧站有 500 个产品页,新站保留 200 个对应页,其余 300 个产品线已停售。合理的做法是 200 个做单条 301,300 个返回 410。若把 300 个全跳首页,短期看没有 404,但用户进入首页后仍需自行搜索,且后续很难判断这些地址是否还有残留需求。
如果替代页只是“相关”而非“等价”,用 301 会把旧地址的意图错误地绑定到新页面。这种情况下,宁可先返回 410,等新站真正产出对应内容后再补 301。永久重定向一旦被大量引用,改回来的代价比一开始就 410 更高。
还有一种例外是迁移尚未完成、新页面还在陆续上线。这时可以先用 302 临时指向过渡页,等新页面稳定后再改为 301。但要注意,临时重定向不应长期保留,否则旧地址的信号会一直处于不确定状态。
需要提醒的是,robots.txt 的抓取限制不等于可靠的索引移除,站点地图也不保证收录。因此不能用“先屏蔽再说”替代对旧地址状态码的处理。若涉及不同搜索引擎,其对 410 和 301 的处理节奏可能不同,应分别核查,而不是用一家的表现推断全部。
迁移后如果旧地址流量下降,可能有多种解释:内容确实不再被需要、重定向目标不匹配、状态码配置错误、抓取尚未更新。不要只凭流量下降就断定处理正确或错误。可核对的证据包括:旧地址实际返回的状态码、重定向链路的跳数、目标页是否与旧意图一致、以及抓取记录中旧地址是否仍被频繁访问。
如果旧地址返回 301 且目标页主题一致,但访问量仍低,可能只是需求本身下降,也可能是目标页体验变差。此时应对比目标页自身的表现,而不是继续调整重定向。反过来,如果旧地址返回 410 后访问量归零,也不能单独证明 410 是对的,还要确认这些地址原本是否真有持续需求。把状态码、链路和页面内容三者放在一起看,才能决定是继续观察、补做 301,还是维持 410。