站点运营

站点运营:软 404 自查,别让空页面顶着 200 状态码混进索引

页面明明已经没有内容,服务器却返回 200,这类软 404 会让蜘蛛反复抓取空壳地址,也让访客走到一片空白。本文梳理软 404 的常见来源、排查方法,以及 404、410、noindex 各自的适用场景,帮你把该消失的页面干净地说清楚。

站点运营

站点运营:软 404 自查,别让空页面顶着 200 状态码混进索引

软 404 为什么比 404 更麻烦

正常的 404 会明确告诉蜘蛛“这个地址没有内容了”,而软 404 是另一回事:地址能打开,状态码是 200,页面却只剩一个空模板、一句“暂无结果”,或者早就下架的商品框架。对访客来说这是空手而归;对搜索引擎来说,它仍然是一个正常页面,于是被反复抓取、反复评估,既占用抓取额度,也会让站点的整体内容质量看起来比实际更差。

软 404 通常不是一次性故障,而是长期累积的结果。删内容时只删了数据没处理 URL,搜索结果为空时照常渲染整页,栏目没有内容却保留着入口,这些做法都会慢慢堆出一批空壳地址。

常见触发场景

  • 站内搜索返回零结果,页面依旧返回 200。
  • 商品或文章下架,URL 保留但正文已经为空。
  • 分页参数超出范围,模板渲染出空白列表。
  • 需要登录的页面未登录时,返回 200 的登录提示页。
  • 接口出错,模板降级成“加载失败”的空页面。
  • 栏目没有内容,只剩标题和导航。
  • URL 大小写或参数写错,程序兜底给了首页或空页。

怎么发现

看抓取日志和正文长度

服务器日志里,状态码 200 只说明请求成功了。把日志和页面正文长度、关键词数量放在一起看,就能发现那些状态码正常、内容却接近空白的 URL。抓取频率高、正文词数却长期很低的地址,通常就是可疑对象。

抽样抓取与覆盖率报告

用爬虫工具对全站做一次抽样抓取,记录每个 URL 的状态码、正文长度和标题。搜索引擎后台的覆盖率报告同样有用,尤其是“已抓取但未编入索引”“软 404”这类提示,往往直接给出样例地址。

  1. 导出最近一段时间的访问日志,按 URL 聚合。
  2. 筛出状态码为 200 的记录。
  3. 合并正文长度或词数数据。
  4. 标记长度明显低于同类页面的地址。
  5. 人工抽查,确认是模板问题还是内容问题。

处理方式怎么选

发现软 404 后,先判断这个地址是“真的没有了”还是“暂时有问题”,再决定怎么处理。

  • 内容永久移除:返回 404,如果确认不会再恢复,410 也可以,让蜘蛛不再把它当有效页面。
  • 临时故障或维护:返回 503,恢复后及时解除,避免被误判为长期失效。
  • 搜索无结果、筛选无结果:可以返回 noindex,同时给访客提供返回入口或替代推荐。
  • 需要登录的内容:未登录时返回合适的跳转或状态,不要让登录墙伪装成正文页。
  • 栏目暂时为空:要么补充内容,要么先不放出入口,别让空栏目长期挂在导航里。
注意 noindex 和 404 的区别:noindex 只是不索引,页面仍可能被反复抓取;如果内容真的不再提供,用 404 或 410 更干脆。反过来,如果页面还有价值、只是不想进索引,就不要顺手删掉。

把检查纳入日常

软 404 最容易在改版、批量下架、接口调整之后集中出现。上线前用抽样抓取跑一遍,把状态码和正文长度一起看;上线后留意覆盖率报告里的变化。站点地图也只保留有效内容地址,别把空页面继续提交出去。

内链和导航同样要跟着更新。指向已删除页面的链接,会把访客和蜘蛛引到空壳上,等于自己制造软 404。删内容的时候顺手清理入口,比事后回头补要省事得多。

定期抽查不需要太复杂:从日志里随机取一批 200 状态的 URL,看看有没有标题还在、正文很薄、只剩导航和页脚的页面。发现一批就修一批,时间长了,软 404 的比例自然降下来。