结论:只有当旧地址承载的搜索意图已经被新站某个页面完整承接时,才用301指向它;否则应让旧地址返回410或404,而不是勉强指到一个内容不匹配的页面。这个判断的依据不是“能不能跳”,而是“跳过去之后用户能不能得到他原本要找的东西”。
迁移后逐条处理旧地址之前,先做一次意图归类,比直接批量重定向更省事。可以按下面三个条件筛选:
三条都满足,301是合理选择。只满足第一条,后两条不满足,说明没有等价目标,此时硬跳会把用户送到一个“看起来相关、实际没用”的页面,跳出和返回搜索结果的概率都会上升。
没有承接页时,410和404在用户体验上差别不大,都是明确告知内容不存在。区别主要在语义表达:410表示“确定永久移除”,404表示“未找到”。如果旧内容是因为合作终止、产品线取消、法规要求下架而永久退出,用410更贴合事实;如果只是暂时找不到替代页、后续还可能补内容,用404更稳妥。
需要提醒的是:robots.txt的抓取限制不等于可靠的索引移除。把旧地址写进robots.txt只是阻止抓取,已经索引的URL仍可能出现在结果里,也无法向搜索引擎传递“这个地址已经永久消失”的信号。真要处理退出,应让地址本身返回明确状态码,而不是靠抓取规则掩盖。
另一个常见误区是拿站点地图补救:把新页面全部放进站点地图,站点地图不保证收录,它只是发现渠道之一。旧地址没有等价目标这件事,不会因为新站点地图更全就自动解决。
如果旧地址积累了大量来自外部合作方、印刷物料或邮件模板的链接,而这些渠道短期内无法更新,那么直接返回410或404会把这些访问者全部挡在门外。这种条件下,更合理的做法是先设一个过渡页:明确说明原内容已停止维护,并给出最接近的可用入口,同时保留noindex,等外部链接逐步替换后再改为410。
这个反例说明:判断依据不是“有没有等价内容”这一条,还要看旧地址是否仍在被站外主动引用。若引用量可以忽略,直接返回错误状态即可;若引用量显著且无法快速更新,过渡页是取舍后的折中。
把死链查询的输出按“有等价目标”“无等价目标但仍有站外引用”“无等价目标且无外部引用”分成三组,分别对应301、过渡页、410或404。动作之后要观察两件事:一是这些旧地址的抓取请求是否逐渐减少,二是新目标页是否开始承接原本属于旧地址的访问。
假设某批旧地址处理后,抓取请求归零,这并不能单独证明处理正确——它也可能只是搜索引擎暂时降低了抓取频率,或站点整体抓取预算发生了变化。要结合服务器日志中其他URL的抓取趋势一起看,才能区分是“处理生效”还是“整体波动”。
下一步动作很具体:先对无等价目标的旧地址统一返回410或404,保留有等价目标的301,再在两周后复查日志,确认错误状态码是否被正确识别、是否还有大量请求落在已退出的地址上。只有这一步验证完成,迁移处理才算闭环。