什么是软 404
软 404 指的是服务器返回 200 OK,但页面实际上没有可用内容。它和真正的 404 不同:真正的 404 会明确告诉蜘蛛“这个地址没有东西”,而软 404 让蜘蛛以为页面正常,于是照常抓取、照常进入索引,只是索引里多了一个空壳。
它不会在监控里报警,因为状态码是正常的。问题往往在几个月后才显现:抓取频次被这些页面分走,重要页面的更新反而变慢。
常见的软 404 来源
- 分类页被清空,模板还在,只剩标题和导航。
- 筛选或排序后没有匹配结果,页面显示“暂无数据”但仍返回 200。
- 站内搜索结果为空,页面上只有一句提示。
- 商品或文章下架,详情页保留但正文被移除。
- 分页参数超出范围,比如站点实际只有 3 页,却仍能打开第 50 页。
- 内容聚合页里的条目被删,聚合页没有同步更新。
怎么识别
几个可以着手的方向:
- 抽样看页面。把日志里被抓取最多的 URL 拉出来,随机访问,看正文区域是否为空。
- 看页面体量。正文缺失的页面 HTML 通常明显偏小,可以先按字节数排序,再人工确认。
- 对比模板。如果大量页面的正文区域几乎一致,只差标题,很可能就是同一类软 404。
- 检查站点地图。地图里提交了、但实际没有内容的地址,值得逐个核对。
软 404 的判断标准是“内容有没有用”,不是“状态码对不对”。先确认页面对用户是否还有意义,再决定怎么处理。
处理思路
先分类,再动手,不要一刀切。
- 内容确实不存在了:返回 404。如果希望更快从索引中退出,可以用 410。
- 有对应的新地址:用 301 指过去,前提是内容确实对应,不要为了留住流量乱跳。
- 暂时缺内容,之后会补:保留 200,但要尽快补上,别让空页面长期挂着。
- 筛选、搜索这类程序生成的空结果页:返回 404 更干净;如果业务上必须保留,至少加 noindex,并避免内链指向它们。
- 下架内容的详情页:如果站内还有同类内容,可以做推荐模块,让页面仍然有阅读价值;否则按 404 处理。
后续监控
处理完之后,建议留一个简单的例行检查:按月抽样一批正文为空的页面,看状态码是否已经修正;同时观察日志里这些 URL 的抓取频次是否下降。如果站点有内容量统计,把“正文长度低于阈值”的页面列出来,会比逐个翻页轻松很多。
软 404 不是能一次性清完的问题,新栏目、新模板都可能重新引入。把它当成一项常规巡检,比等到抓取配额被吃掉一半再回头处理要省事。