网站收录

返回 200 的空页与错误页:软 404 的识别与收口顺序

软 404 指的是页面返回 200 状态码,但正文为空或是错误提示。搜索引擎容易把它当成正常页面,进而抓取甚至收录。本文讲清识别方法、常见来源、排查顺序,以及按页面类型分别选择 404、410、301 还是限制抓取。

网站收录

返回 200 的空页与错误页:软 404 的识别与收口顺序

有一类页面在日志和抓取工具里看起来一切正常:状态码 200,抓取成功,没有跳转,也没有报错。但真正打开时,要么是一片空白模板,要么写着“暂无内容”“参数错误”。搜索引擎会按正常页面处理它,于是这些地址可能被收录、进入索引,甚至占着索引配额不放。这类情况通常被称为软 404。

软 404 和真 404 的差别在哪

真 404 返回的是 404 或 410 状态码,搜索引擎能明确判断这个地址已经失效,会逐步把它从索引里清掉。软 404 返回的却是 200,等于在说“这个页面是好的”,只是内容碰巧是空的。信号和事实不一致,麻烦就出在这里。

对抓取来说,这是一个正常页面;对用户来说,这是一个死页面。两者的判断被拆开了,收录结果自然就会偏离预期。

常见的几种来源

  • 商品下架、内容删除后,模板照常渲染,只是内容区为空;
  • 站内搜索、筛选、分页在无结果时,依然输出一个空列表页;
  • 数据库读取失败,程序捕获异常后返回“出错了”页面,状态码仍是 200;
  • 栏目改版后旧路径没有做跳转,直接渲染成一个空壳;
  • 需要登录的页面,未登录时返回登录提示页,同样是 200。

为什么值得优先处理

一是它会稀释索引质量。大量空页混在索引里,同站其他有效页面的判断也会受影响。二是它会浪费抓取额度,尤其当这些地址通过 sitemap 或站内链接成批暴露时,抓取工具会反复来。三是排查收录问题时,如果不先把这批页面摘出去,后面的判断很容易被带偏。

排查顺序

  1. 先核对状态码和正文是否一致。抽一批“看起来正常”的 URL,看返回码,再对比渲染后的正文长度、标题和主要区块是否为空。
  2. 再看这批地址是怎么被发现的。来自 sitemap、内链还是外链,决定了收口时要改哪一层,只改页面本身往往不够。
  3. 然后分类。是永久失效、临时无内容,还是内容其实存在但没渲染出来,三类处理方式完全不同。
  4. 最后才决定动作,并同步清掉来源入口。

处理方式按类型选

  • 内容永久不存在:返回 404 或 410,同时从 sitemap 和内链里去掉;
  • 内容有替代地址:301 到新地址,一步到位,不要串成多跳;
  • 参数非法但页面本身有效:回到正常页面或返回 404,不要让空模板继续输出;
  • 需要登录才能看的内容:考虑限制抓取或加 noindex,而不是让它以 200 空页被收录。

两个容易忽略的点

第一,监控不要只看 5xx。真正麻烦的往往是状态码 200 但正文极短或命中“出错”“无权限”这类模板的页面,可以按这个条件做告警。

第二,改完不会立刻见效。抓取会先变,索引的清理通常更慢,观察周期要留够,期间别因为看不到变化就反复改配置。

判断标准其实只有一句:页面返回的状态码,要和用户真正看到的内容一致。不一致的地方,就是问题所在。