很多站点在抓取日志里看起来状态码很干净,200 占绝大多数,但真正有内容、有价值的 URL 却不多。问题往往不在服务器,而在那些返回 200 却没有实质内容的页面,也就是常说的软 404。它们和真正的 404 一样占用抓取配额,却不像 404 那样容易被识别和收敛。
软 404 的常见形态
- 筛选或排序后无结果的列表页,返回 200,正文只有一句暂无数据
- 已下架商品或已过期活动的详情页,模板还在,正文为空
- 由参数拼出来的归档、日历类页面,只有链接没有内容
- 内容合并后留下的旧 URL,页面只剩导航和页脚
- 需要登录或权限才能看到正文的页面,匿名抓取只能拿到空壳
它为什么比真 404 更麻烦
真 404 在日志里一目了然,抓取工具通常较快降低回访频率;软 404 表面完全正常,只能靠正文长度、模板重复比例等信号来判断,判断成本高,回访的衰减也更慢。结果就是一批低价值 URL 持续拿走抓取次数,需要被发现的新入口反而排到后面。
核对清单
- 统计近 30 天返回 200 的 URL 中,正文长度低于阈值(例如可见字符少于 200)的占比。
- 按目录分组,看空壳页是否集中在某几个目录,判断是模板问题还是内容问题。
- 检查这些页面是否出现在 sitemap 或站内链接里,是否存在主动提交空页的情况。
- 查看回访次数:同一批空壳 URL 在过去两周被反复抓取了多少次。
- 寻找可批量识别的路径或参数模式,例如筛选参数、标签页、归档页的固定前缀。
- 对比空壳页与正常内容页的抓取时间戳分布,看是否挤占了抓取相对集中的时段。
- 检查 404 页面本身是否返回 200 且带完整导航,避免真假错误页混在一起。
收敛方式
处理方向大致三类:让它变成明确的错误状态,让它不再被指向,或者让它重新具备内容价值。
- 无结果页:返回 404 或 410,或改造成有聚合价值的落地页,比如推荐分类、热门内容入口。
- 下架内容:返回 410,同时从 sitemap 和站内链接中移除,避免继续被指向。
- 权限页:匿名访问返回 401 或 403,不要返回 200 的空壳。
- 模板性空页:加 noindex,并从内链结构中摘掉入口。
- 批量参数页:用 robots 规则或参数收口方式限制扩散,避免继续生成新的组合。
日志与指标怎么读
重点看三个数字:200 状态中短正文页面的比例、空壳 URL 的平均回访间隔、以及这些页面占全天抓取量的比重。如果短正文页拿走三成以上抓取量,而新内容从发布到被发现的时间还在拉长,基本可以判断抓取预算被消耗在了无效入口上。
注意:收紧状态码之前,先确认页面确实对用户没有价值。不要因为正文短就一刀切地把正常短页面改成 410,误伤会造成真实入口消失,恢复周期往往比预期更长。
软 404 不会立刻带来可见的损失,它更像一种持续的小额支出。定期抽样、按目录核对、按路径模式收敛,通常比一次性大改更稳妥,也更容易在日志里验证效果。