站点运营

站点运营:404 与软 404 自查,别让不存在的页面也返回 200

页面已经下线,状态码却还是 200,这类软 404 在站点运营中很常见。文章从下线栏目、筛选页、旧地址三个入口入手,说明如何用状态码和响应体大小做抽查,并给出 301、404、410 的选择建议与错误页的写法。

站点运营

站点运营:404 与软 404 自查,别让不存在的页面也返回 200

站点运营里有一类问题不太显眼:页面已经不存在了,服务器却仍然返回 200。访客看到的是一屏空白或一句“暂无内容”,而对外发出的信号却是“这个地址正常”。这就是常说的软 404。它不会让站点立刻报错,却会长期消耗抓取资源,也让真正的错误地址无法被识别出来。

硬 404 与软 404 的区别

硬 404 指服务器明确返回 HTTP 404 状态码,告诉访问者这个地址没有内容。软 404 则是地址确实没有可看的内容,状态码却仍是 200,或者返回的内容与请求的地址毫无关系。

  • 文章已删除,但模板还在,返回 200 加一屏空白;
  • 搜索、筛选参数生成了无结果的列表页,仍返回 200;
  • 栏目被合并,旧栏目地址被统一跳转到首页;
  • 内容状态改为草稿或下线,前台地址仍可访问,只是正文为空。

自查从哪些入口开始

与其全站扫描,不如先圈出最容易出问题的位置:

  1. 列出近期下线的栏目、专题、商品或文章,逐条回访地址;
  2. 用站内搜索和筛选参数拼几个无结果组合,看返回什么;
  3. 整理改版前的旧地址清单,抽查是否还有响应;
  4. 翻访问日志,找状态码为 200 但响应体明显偏小的请求。

单条地址怎么快速判断

用命令行工具请求地址头信息是最直接的办法,例如请求 https://example.com/old-page 时,重点看返回的第一行状态码,以及响应体长度。状态码 200 加上很短的响应体,通常就值得点开确认。如果站点启用了跳转,还要留意跳转目标本身是否可访问,避免链条越接越长。

批量抽查的做法

把旧地址整理成一个文本文件,逐条请求并记录状态码、跳转目标和响应体大小,重点挑出“200 但内容很短”的地址。得到一批结果后,再决定是恢复内容、做跳转,还是让它正常返回错误码。批量处理前建议先小范围试跑,确认规则符合预期再全量执行。

常见的处理方式

  1. 内容只是换了地址:做 301 跳转到新地址,并确认目标页可以正常打开。
  2. 内容确实下线:返回 404,已经明确不再提供的内容可以用 410。
  3. 栏目整体撤掉:把仍有价值的旧地址指向最相关的上级栏目,而不是一律跳首页。
  4. 筛选与搜索无结果:考虑返回错误码,或至少避免让这类组合被大量生成。
  5. 下线数量较多:先归拢成清单分批处理,保留变更记录,方便出问题时回退。

错误页本身也值得做好

返回 404 不等于把访客赶走。一个清晰的错误页应该说明“该页面可能已移除或地址输入有误”,同时提供站内搜索框、主要栏目入口和返回首页的链接。注意错误页不要做自动跳转,也不要在上面堆大量推广内容,否则访客会分不清自己到底到了哪里。

提示:状态码是给机器看的信号,页面内容是给人看的。两者保持一致,访客和爬虫才不会互相误解。

把它变成例行检查

建议在每次改版、批量下线内容和调整栏目结构之后,都做一轮状态码抽查,并把结果简单记录:哪些地址被跳转、哪些返回错误、哪些还没处理。这项工作不复杂,但能避免“地址还在、内容没了”长期堆积。它不保证任何收录或排名结果,只是让站点对外发出的信息保持诚实和一致。