一个 URL 返回 200,蜘蛛抓到了,页面也能打开,但正文几乎是空的——这种情况通常被称为软 404。它和真正的 404 不一样:服务器说页面在,用户看到的却是什么都没有。这种页面一旦被收录,往往不是立刻掉,而是先占着索引位置,再慢慢拖累同目录下正常页面的抓取与展示表现。
软 404 常见的几种成因
- 内容被删但模板还在。商品下架、文章撤稿后,详情页只剩标题栏和推荐位,正文为空。
- 筛选或参数组合没有结果。条件组合后返回暂无匹配,URL 却照常输出并返回 200。
- 分页越界。页码超出实际范围,仍然返回第 N 页的空列表。
- 数据没取到。前端渲染失败、后端返回空数组,页面骨架正常但内容区是空的。
- 占位页长期存在。栏目下没有内容,挂着敬请期待放很久。
搜索引擎怎么识别软 404
它没有单一判定信号,而是综合看几件事:正文文本占比极低、主要区域为空、缺少有价值的外链与点击、和站内其他页面高度模板化重复。当这些信号叠加,搜索引擎可能按软 404 处理,把页面从索引里移除,但不像真 404 那样干脆,有时会先观察一段时间。
这里要分清一点:抓取和收录是两件事。蜘蛛抓到 200 不代表会收录,返回 200 也不代表页面有资格进索引。软 404 恰恰卡在中间:抓取没问题,质量评估过不去。
被收录后通常有什么表现
- 页面在索引里待一段时间,但几乎看不到它带来点击。
- 同批上线的正常页面收录变慢,抓取预算被空壳页分走。
- 数量多了以后,索引里混进大量低价值 URL,站点整体信号被稀释。
软 404 不会立刻报错,所以最容易被忽略。它更像是占位,而不是故障。
怎么排查
- 抽一批 URL,用抓取工具或服务器日志看返回状态码和正文长度。
- 统计返回 200 但正文极短的页面占比,按目录归类。
- 看这些页面是否有内链入口、外链、真实搜索需求,还是纯粹由站内逻辑生成。
- 确认它们在索引里的状态:已收录、已抓取未收录,还是根本没被发现。
处理顺序:先分类,再动手
- 内容确实没了且无替代页:返回 404 或 410,让搜索引擎明确知道页面已失效。
- 内容只是暂时缺失:先补内容,或暂时用 noindex 让它退出索引,等有内容再放开。
- 筛选、分页这类程序化生成的空结果页:空结果时不要输出正常页面,或统一 noindex、指向有效页。
- 占位页:能合并就合并到上级栏目,不能合并就先不向外链出。
节奏上,优先动数量大、有内链入口、还在被蜘蛛反复抓的那批。它们消耗的抓取预算最多,也最容易影响同目录下正常页面的收录。
日常预防比事后清理省事
与其等索引里堆满空壳再逐个处理,不如在模板层就把空状态定好:内容为空时不生成可索引页面,或者统一返回合适的响应。URL 一旦对外发布,就尽量别让它长期挂着空内容;删内容时同步处理地址。把这些规则写进上线流程,比每次靠人工筛要稳定得多。