先给结论:当旧地址找不到内容、主题或功能都完全等价的新目标时,不要为了消灭404而把它统一跳到首页或某个分类页。更稳妥的做法是按旧地址的“意图可替代程度”分档处理——能一一对应的做301,只能部分替代的保留404并给出站内最接近的入口,完全无替代的让其正常返回404。下面用一个假设情境把决策过程走一遍。
假设某站把“教程”栏目拆成“入门”和“进阶”两个栏目,旧地址形如 /tutorial/xxx。迁移后运营手上只有一份旧URL列表和一份新栏目首页列表,没有完整的点击、转化或外链数据,也没有服务器日志权限。此时旧地址的处理方式无法靠数据排序,只能先靠内容语义判断。
这个前提很重要:缺少数据不等于只能拍脑袋,但意味着判断依据要从“效果数据”退回到“可核验的内容关系”,并且要接受结论的确定性更低。
不要按“是否报404”分类,而按旧地址原本承载的意图与新页面能承接多少来分。
判断“部分等价”时,一个可操作的检验是:如果用户从旧地址跳过去,看到的新页面是否还需要再点一次才能找到他原本想要的东西?需要再点,就说明不是等价目标。
这是本题最容易做错的地方。两种选择都有成立条件,不是谁绝对更好。
当旧地址是具体内容页,且新目标承接了它绝大部分主题,只是标题或结构略有调整时,301成立。例如旧教程被并入新教程的一个章节,用户落地后能直接读到对应内容。
当旧地址是栏目、列表或跨主题聚合页,新站把它拆散,没有任何单页能代表整体时,保留404更合适。此时可以在404页面上给出最接近的新栏目入口,让用户自己选择,而不是替他做一次可能错误的跳转。
把栏目页301到某个子页,常见后果是用户和抓取工具都落到一个范围更窄的页面,与原地址的覆盖面不匹配。这种不匹配本身就是一种信号失真,而它不会因为“404数量下降”而消失。
没有日志和点击数据时,仍然可以先做三件不依赖权限的事:
这里的关键动作是“先小批量再扩展”。如果第一批301落地后发现目标页内容并不对应,下一步就是回退这批规则,而不是继续套用到全部旧地址。
处理完之后,有些变化容易被误读。
robots.txt 限制抓取,不等于可靠的索引移除;它只影响抓取,不保证已收录结果消失。不同搜索引擎对301、404和索引移除的支持与表现需要分别核查,不能拿一个引擎的表现直接推断另一个。
在那次栏目拆分中,具体教程文章被判为完全等价,做301;旧栏目页被判为部分等价,保留404并配置新栏目入口;已下线且无替代的专题页保留404,不做跳转。这个结果不是最优解,而是在缺少数据时依据内容关系能给出的可复核方案。
可复核的意思是:每一条判定都能说出依据是“主题重合”还是“仅URL相似”,后续一旦拿到日志或点击数据,就能针对“部分等价”这一档重新评估,而不必推翻全部处理。