迁移后旧地址没有完全等价的新页面时,先别急着把全部旧地址都指向首页。更稳妥的做法是按旧页面的价值分两类处理:仍有独立检索价值的,给它一个主题最接近的新地址并做一对一重定向;已经失去价值的,让它返回410并保留一段可观察期。这个选择直接影响下一步——如果一律指向首页,后续排查日志时你将无法区分“正常退出”和“配置错误”。
判断依据不是旧地址的数量,而是旧页面是否还承担着独立的检索需求。可以问三个问题:这个地址过去是否持续带来过自然流量;它对应的主题在新站里是否还有独立页面承接;外部是否仍有指向它的链接。三个问题里前两个偏向“有”,就归入保留类;只有第三个为“是”而前两个为“否”,处理方式要单独考虑。
保留类的典型情况是旧产品页、旧栏目页、旧文章页,新站里有主题相近但不完全相同的页面。退出类的典型情况是临时活动页、已下线的旧系统入口、合作终止后不再维护的页面。这两类的处理动作不同,混在一起做会留下难以排查的中间状态。
当旧页面仍有检索价值时,优先选择主题最接近的新地址做重定向。举例来说,假设旧地址是一个已下线的产品分类页,新站把该分类拆成了两个子分类,那么指向其中一个子分类通常比指向首页更合理,因为首页的主题宽泛,用户和抓取程序都难以从落地页判断这次跳转是否相关。
实施动作分三步:先在旧地址上配置重定向,确认返回的是永久跳转而不是临时跳转;再检查新目标页是否可以被抓取、是否有自洽的标题和正文;最后观察一段时间内该旧地址的访问日志,看跳转是否稳定命中目标。如果日志显示大量旧地址跳到了一个与内容无关的页面,说明目标选错了,应回到第一步重新配对。
这里有一个常见误区:把旧地址全部指向首页,然后认为“至少用户不会看到404”。但首页承接不了具体主题,跳转后的页面与用户预期不符,跳出率会上升;同时你失去了判断哪些旧页面真正需要保留的信息,后续想细分处理时已经无法从日志里还原。
当旧页面确实不再有独立价值时,返回410比返回404更明确,也比用robots.txt屏蔽更可靠。robots.txt 的抓取限制不等于可靠的索引移除:它只是阻止抓取,已经存在的外部链接和索引记录不会因此自动消失,抓取程序也无法通过读取被屏蔽的地址来确认页面已经不存在。
实施动作是让旧地址返回410状态码,并保持这个状态稳定一段时间,不要今天410、明天又改回200。稳定返回后,再去看服务端日志里这些地址的请求频率是否下降。需要说明的是,请求量下降不能单独证明处理正确,它也可能来自抓取预算的重新分配、站点整体抓取减少或外部链接自然衰减;要结合状态码分布和跳转目标一起看。
站点地图在这里帮不上忙。把退出类地址从站点地图里移除是合理的,但站点地图本身不保证收录,也不负责通知移除。真正起作用的是状态码本身和稳定的响应。
保留类成立的条件是:旧页面有独立检索需求,且新站存在主题可对应的页面。退出类成立的条件是:旧页面无独立检索需求,或新站确实没有可承接的页面。两个条件同时不满足时——比如旧页面还有外部链接但新站没有对应内容——不要强行指向首页,可以先保留一个说明性页面,或让它返回410并接受外部链接失效的结果。
还有一类例外:旧地址本身是带参数的动态地址,指向同一批内容。这种情况优先做规范化,把参数地址收敛到主地址,而不是逐个配置重定向。逐个配置会放大维护成本,也容易漏掉参数组合。
验证不靠单一指标。可以按下面几步做:
如果抽查发现某个旧地址返回200但内容为空,这比返回410更糟:它会让抓取程序认为页面仍然有效,却拿不到有价值的内容。遇到这种情况,先修正状态码,再继续观察。
最后提醒一点:不同搜索引擎对410和重定向的处理节奏并不一致,需要分别核查各自的抓取与索引表现,不要用一个引擎的结果推断另一个。把旧地址的处理规则写进迁移文档,后续新增页面时才能沿用同一套判断标准,而不是每次重新讨论。