404页面设置改版或迁移时应核对什么:先分清保留旧页还是让旧页消失

📍 WDQWDWQD987AAAAA:216.73.216.151
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /5342d226198e.html
📄

404页面设置改版或迁移时应核对什么:先分清保留旧页还是让旧页消失

改版或迁移时,404页面设置要核对的不是“有没有一个好看的404页”,而是旧URL应该继续可用、跳到新地址,还是明确返回404。判断依据是旧页是否仍有搜索价值、是否有外部链接、是否有用户会从书签或历史记录访问。若旧内容已被新页完整替代,优先做301重定向;若旧内容彻底下线且无替代,才让服务器返回404并展示有用的404页面。下面用一个假设例子说明核对步骤与常见错误。

假设例子:把产品页从旧目录迁到新目录

假设某站点把/old/product-a.html迁移到/new/product-a.html。改版后,旧URL被服务器直接返回404,404页面只写“页面不存在”。这时需要核对三件事:旧URL是否还有外部链接;新URL是否与旧内容一一对应;服务器返回的状态码到底是404还是200。若旧页有替代页,正确做法是配置301,把旧URL永久指向新URL。若旧页没有替代页,才保留404,并让404页面提供返回首页、搜索框或相关分类的入口。

两种处理方案的适用条件与对比

核对清单:状态码、重定向链与站点地图

改版或迁移后,逐项核对以下内容:

  1. 用浏览器开发者工具或命令行查看旧URL的HTTP状态码。301表示永久重定向,404表示未找到,200表示正常返回。若看到302,要确认是否只是临时跳转;若看到200但内容是404页,说明状态码设置错误。
  2. 检查重定向链。旧URL跳到中间URL再跳到新URL,会形成多跳。能一步到位就一步到位,减少不必要的中转。
  3. 核对站点地图。站点地图应只列出希望被收录的正式URL,不应把已404的旧URL继续放在里面。站点地图不保证收录,但放错URL会浪费抓取预算。
  4. 检查robots.txt。若用robots.txt禁止抓取旧目录,抓取限制不等于可靠的索引移除。已经收录的URL可能仍出现在结果中,需要结合404或301处理。
  5. 检查404页面本身。它应返回404状态码,并包含返回首页、搜索或主要分类的链接。不要自动跳转到首页,也不要用大量无关内容堆砌。

常见错误与判断结果

常见错误之一,是把所有旧URL都做301到首页。判断结果:用户从外部链接进入后落到首页,找不到原内容,体验差;搜索引擎也难以判断新旧页面的替代关系。常见错误之二,是让404页面返回200。判断结果:访问者看到“页面不存在”,但服务器说页面正常,状态码与页面内容矛盾。常见错误之三,是迁移后立即删除旧URL,不保留任何重定向。判断结果:外部链接和书签全部失效,只能靠404页面挽回部分访问。常见错误之四,是只改页面模板,不改服务器配置。判断结果:旧URL仍返回旧内容或旧状态码,迁移没有真正完成。

下一步:先抽样核对,再批量处理

先选10到20个有代表性的旧URL,覆盖有外部链接的、有搜索流量的、已删除的、已迁移的几种情况,逐一核对状态码和替代关系。确认规则后,再按“有替代页做301、无替代页做404”的原则批量配置。配置完成后,重新抽查同一批URL,确认状态码、跳转目标和404页面内容都符合预期。

图1 图2

nginx