直接回答:旧地址没有完全等价的新页面时,不要把它统一跳到首页或栏目页,也不要直接返回 410 就结束。更稳妥的做法是按旧地址的“意图类型”分三类处理:有近似替代页的做 301 到最接近的页面,没有替代但仍有检索价值的保留一个说明页并给 200,既无替代也无价值的返回 410 并把它排除出站点地图。判断依据不是抓取频率高低,而是旧地址在日志和链接里是否仍被访问、是否有外部链接、以及它原本承载的是内容还是功能。
团队里常见的分歧是:运营认为旧地址必须保住流量,开发认为没有对应页面就只能 404,SEO 认为应该全部 301。把争论转成核对项,先给每个旧地址打三个标记。
把这三项写进同一张表,每个旧地址一行。分歧往往在这一步就消失:被标记为“仍被请求 + 有外链 + 内容页”的地址,才值得投入做替代页;三项都为否的,直接进入清理流程。
如果旧地址是一篇内容,新站有主题相近但并非逐字对应的页面,可以 301 到那个最接近的页面。判断“最接近”的条件是:标题主题、核心实体、用户下一步动作三者至少两项吻合。只因为同属一个栏目就跳到栏目首页,会让用户和抓取都落到一个更泛的页面,旧地址的具体意图丢失。
动作与结果:假设旧地址 /guide/a 讲的是某类配置步骤,新站有 /docs/config 覆盖同一类步骤。做 301 后,下一步应检查该目标页是否返回 200、是否可被抓取、是否在站内被链接。如果目标页本身是 404 或需要登录,这次 301 等于把问题转移而非解决,应先把目标页修好再挂跳转。
有些旧地址是具体产品、活动或历史版本,新站没有对应内容,但外部仍有链接指向它。此时可以保留一个轻量说明页:说明该内容已迁移或不再提供,并给出当前最相关的入口。这个页面返回 200,而不是 301,因为它本身不是等价内容,只是承接入口。
适用条件是:外链确实存在,且该地址仍被请求。如果没有任何外部引用、日志里也不再出现,保留说明页只会增加维护成本。这个选择没有绝对对错,取决于你愿意为一个低频入口付出多少维护。
确认没有替代内容、没有外链、日志中长期无请求的旧地址,可以返回 410。410 比 404 更明确地表达“已永久移除”,但两者对抓取频率的实际影响取决于搜索引擎如何处理,不能承诺具体时间或结果。
返回 410 后必须做两件事:从站点地图中移除这些 URL;检查站内是否还有链接指向它们。只返回状态码而不清理站内链接,会让抓取持续碰到死链,这时的抓取异常更可能来自站内结构,而不是状态码本身。
处理上线后,不要只看“蜘蛛抓取频率”这一个数字的变化。频率下降或归零有多种解释:可能是旧地址已不再被请求,可能是抓取预算转移到了新地址,也可能是站点整体抓取减少。单看频率无法区分这些原因。
更可靠的做法是同时核对三组数据:
如果旧地址请求下降、目标页请求上升、站点地图干净,说明处理方向正确。如果旧地址请求不降反升,先检查是否有站内链接或外部引用仍在指向它,而不是急着改状态码。
迁移结束后,把每个旧地址的处理决定写成一行记录:旧 URL、意图类型、处理方式(301 / 200 说明页 / 410)、目标 URL(如有)、决定依据(外链、日志、内容判断)、复核日期。这份记录的作用是让不同角色对同一事实有共同参照:运营看到的是入口是否保住,开发看到的是状态码和跳转配置,SEO 看到的是引用是否清理。
当有人质疑“为什么这个地址不跳到首页”时,直接指向记录里的意图类型和依据即可,不必重新争论。复核日期到了之后,用日志重新核对一次,再把结论更新进记录。这样处理的是具体地址,而不是一句笼统的“旧地址都跳首页”。