站点运营

站点运营:404 与软 404 自查,别让错误页混在正常页面里

软 404 指的是页面内容是错误提示,HTTP 状态码却返回 200。本文梳理软 404 的常见来源、自查步骤、状态码选择思路,以及 404 页面本身该放哪些入口,帮助站点把无效地址和正常内容分开管理。

站点运营

站点运营:404 与软 404 自查,别让错误页混在正常页面里

404 本身不是问题,问题在于很多站点把“找不到”的页面用 200 状态码发出去,让用户和搜索蜘蛛都以为这是一张正常内容页。这类页面通常被叫做软 404:看起来是错误提示,HTTP 状态却是成功。

软 404 从哪来

多数软 404 不是有意做的,而是框架或栏目配置的副作用。常见的几类:

  • 栏目下内容被清空,模板仍然渲染出一个只有标题的空列表页;
  • 站内搜索结果为空时,返回的是“没有找到相关结果”,状态码却是 200;
  • 商品或文章下架后,详情页保留一个“该内容已下线”的提示页;
  • 参数被改动、ID 不存在时,程序捕获异常后统一渲染到默认页;
  • 改版时把旧地址全部指向一个兜底页,状态码仍是 200。

这些页面的共同点是:对用户没价值,对搜索蜘蛛却是一个可抓取的正常地址。

自查怎么做

  1. 先从日志或爬虫工具里拉一批状态码为 200 的地址,抽查内容是否真的是有效正文。
  2. 专门构造几类无效地址:不存在的 ID、超长参数、已下线的分类,看返回码是什么。
  3. 检查站内搜索页、筛选页、排序参数页在无结果时的返回码。
  4. 看模板里是否有把错误分支渲染成正常页面的逻辑,尤其是前端路由渲染的站点。
  5. 确认 sitemap 里没有混入已经空掉的栏目或下架内容。

正确状态码怎么选

  • 内容永久迁移到新地址:用 301,并指向最相关的新页面,而不是一律指向首页。
  • 内容彻底删除且不再有替代:用 410,短期不确定可以先 404。
  • 只是暂时不可用(维护、下架待恢复):用 503 并给出恢复预期更合适。
  • 参数错误、ID 不存在:404 或 410,不要返回 200。
  • 空搜索结果页:返回 200 但加 noindex 也可以,但要避免它被大量抓取。

404 页面本身要做什么

把 404 页面当成一个正常的运营入口,而不是一句“页面不存在”就完事。至少要有:清晰的说明、站内搜索框、几个主要栏目或热门内容的入口、返回首页的链接。这样用户不会立刻关掉页面,也减少无意义的跳出。

注意:404 页面里的链接要指向真实存在的地址,如果指向的又是 404,会形成一条死循环。

和搜索蜘蛛的关系

软 404 会消耗抓取预算。搜索蜘蛛把时间花在这些空页面上,真正需要更新的内容就排到后面。同时,大量 200 状态的无效地址会让 URL 发现变得混乱:sitemap、内链、外链里混着这些地址,站点结构看起来比实际大得多。

清理的顺序建议是:先修状态码,再清 sitemap 和内链,最后回头检查日志里这一类地址的抓取比例有没有下降。这是一个持续动作,不是一次改完就结束。

监控与回归

最后留一个简单的巡检习惯:每周看一次日志里 404、410、5xx 的量级和占比变化;每次上线新模板或改版后,手动测一遍无效地址的返回码。状态码这类问题往往不是一次性错误,而是随内容和模板迭代反复出现的,只有把它放进常规检查里,才不会积累成一片“看起来正常”的空页面。