改版或迁移时,404 not found 的解决重点不是把每个错误页面都改成首页跳转,而是先核对旧网址是否还有真实替代页面。有对应新页面的,应做单页 301 永久重定向;没有对应内容的,应返回 404 或 410,并给出站内导航帮助用户继续浏览。把大量失效旧网址统一跳到首页,属于常见错误,会让用户和搜索引擎都难以判断替代关系。
假设某站点把 /old-guide/ 迁移到 /new-guide/,同时删除了 /old-campaign/。迁移后出现两类 404:一类是旧指南页,另一类是已下线的活动页。处理前先做一张旧网址与新网址的对照表,至少包含旧 URL、新 URL、页面类型、是否有等价内容、计划处理方式。核对结果不同,处理方式也应不同:
/old-guide/ 有新页面且内容对应,配置 301 到 /new-guide/。/old-campaign/ 没有替代内容,保留 404 或改为 410,不要硬跳到首页。/old-category/ 若被新栏目整体替代,可重定向到最相关的新栏目页,而不是站点根目录。这一步的关键是判断“是否等价”。标题相近不代表内容等价;如果旧页面是教程、新页面只是产品介绍,直接 301 会让用户预期落空,也不是合适的替代关系。
改版迁移中最常见的比较是“全部 301 到首页”与“逐条映射到最相关页面”。前者操作快,但只适合极少数确实没有对应内容、且用户目标已经消失的情况;后者工作量大,却是大多数内容迁移应采用的方案。判断依据可以按下面顺序执行:
301 表示永久迁移,适合旧网址已有明确替代页面的情况。404 表示资源不存在,适合内容已删除且没有替代页面的情况。410 表示资源已永久删除,语义更明确,但不同搜索引擎对 410 的支持和处理速度需要分别核查,不能假定与 404 完全一致。无论选哪种,都不应把大量无关旧网址集中跳到一个页面。
以下检查项直接决定 404 问题是“已经定位”还是“只是猜测”。建议在切换前、切换后各做一轮:
如果迁移后仍出现 404,先区分“可能原因”和“已经定位的原因”。可能原因包括映射表遗漏、大小写不一致、末尾斜杠差异、参数丢失、服务器规则未生效;已经定位的原因则要有具体 URL、响应状态码和服务器日志作为依据。不要因为一个 404 就断定是搜索引擎问题,也不要因为首页能打开就认为整站迁移完成。
第一种错误是把所有 404 都 301 到首页。纠正方式是回到映射表,逐条判断是否有等价页面;没有就保留 404。第二种错误是只处理首页和栏目页,忽略深层内容页。纠正方式是优先处理有外链、有流量、有转化的旧 URL。第三种错误是重定向到新站后仍返回 404,说明目标 URL 写错或目标页面本身不存在,需要逐条验证最终落点。第四种错误是迁移后立刻删除旧站点地图和旧服务器配置,导致无法对照排查。建议保留一段时间的旧日志和映射表,便于核对。
判断处理是否完成,可以抽查三类 URL:有明确替代页的、无替代页的、带参数的。每类都确认最终状态码和落地页面符合预期,而不是只看浏览器是否显示了一个页面。
现在就可以从旧站点导出 URL 清单,建立“旧 URL—新 URL—处理方式—验证结果”四列表格。先填完有外链和有过访问记录的 URL,再补齐其余页面。每配置一条重定向,就用实际请求确认它返回 301 并落到正确的新页面;每保留一个 404,就确认它确实没有等价内容。映射表验证通过后,再提交更新后的站点地图,并持续观察服务器日志中的 404 来源。