软 404 指的是 URL 返回了 200 状态码,但页面上其实没有实质内容,或者直接告诉访客“内容已删除”“商品已下架”。对用户来说它和 404 没什么区别,对搜索引擎来说却是另一回事——200 意味着这个地址是有效的。
先分清软 404 和真 404
真正的 404 会让抓取程序明确知道这个 URL 已经不存在,索引里的记录通常会随之清除。软 404 不给出这个信号,抓取程序只能靠解析页面内容来判断,判断过程更长,结果也更不确定。
常见的软 404 形态有:
- 商品、文章下架后模板照常渲染,正文区域显示“该内容已删除”;
- 筛选参数组合出无结果页,页面只剩一句“没有找到相关结果”;
- 空分类、空标签页,只有导航和页脚;
- JS 加载失败或接口报错,页面骨架在、正文为空;
- URL 拼错后没有跳转,落到一个通用模板页上。
对收录和索引的实际影响
影响可以分三层看。
抓取层面
这类页面同样会占用抓取次数。如果站内存在大量由参数、分页或筛选生成的空结果页,抓取预算会被摊薄,真正需要更新的页面反而抓得更慢。
索引层面
200 状态码不会触发“删除”逻辑,所以这类 URL 可能在索引里停留较长时间,即使它已经没有内容。索引里多出一批空页面,会让收录数量看起来虚高,但几乎不会带来点击。
站点质量评估层面
大量低价值、无内容的页面被反复抓取和索引,可能影响搜索引擎对整站内容质量的判断。这种影响没有公开的量化标准,但从抓取分配和索引选择上通常能观察到变化。
自查顺序
- 从日志里筛出被频繁抓取的 URL,按路径和参数归类,看哪些是模板生成的、本身不该有内容;
- 抽样请求这些 URL,记录状态码和正文长度,状态码 200 但正文字数极少的先标记出来;
- 用网址检查工具看抓取到的实际内容,确认渲染后的页面是否真的为空;
- 检查是否有正常页面被误伤,比如内容确实少但仍有价值的页面。
处理方式
按页面的真实状态选择,不要一刀切。
- 内容永久移除:返回 404 或 410。如果旧 URL 有稳定的外链,可以 301 到最相关的替代页面。
- 只是暂时缺货或改版:保留 200,但页面上给出替代内容或相关推荐,别只放一句提示语。
- 参数生成的无内容页:在服务端返回 404,或用 robots.txt 阻止抓取这类参数组合;已经在索引里的可以配 noindex。
- 同一内容多个参数版本:用 canonical 指向规范版本,减少重复。
- 数量极大且无检索价值:优先从源头减少生成,而不是事后逐个屏蔽。
处理软 404 的关键不是让页面消失,而是让状态码和内容保持一致:有内容就返回 200,没内容就明确告诉抓取程序没有内容。
不要把内容少的页面当成软 404
软 404 判断的是页面是否具备应有的内容,不是内容多不多。一个说明页只有两百字,但完整回答了问题,它是有效页面;一个商品页有大量模板文字,唯独没有商品信息,它才是软 404。动手之前先确认页面类型和预期内容,避免把正常页面改成 404,反而丢掉已有的索引和流量。
处理完一批之后隔一段时间再回看日志和索引状态,确认抓取不再集中在空页面上。状态码、页面内容、索引记录三者对齐,收录数据才有参考价值。