看抓取日志时经常能碰到一类地址:状态码是 200,HTML 也正常返回,但正文区域只有一句“暂无相关内容”。爬虫抓到了,用户却什么都没看到。这类页面在搜索侧往往会被判定为软 404——看起来没报错,实际上和 404 一样留不住索引。
软 404 是什么:状态码没错,内容对不上
常规 404 是服务器明确告诉爬虫“这个地址没有内容”。软 404 则相反:地址能打开,状态码也是 200,但页面主体是空列表、错误提示或“内容已下架”的说明。对搜索系统来说,这两种情况的结论相近——页面不提供有效内容,不值得占用索引位置,区别只在于软 404 需要额外判断,处理速度通常更慢。
常见的软 404 场景
- 商品下架、活动结束后,页面仍返回 200,只留一句“已结束”。
- 筛选或排序组合出空结果,比如某品牌加某尺码没有任何商品。
- 分类页下的子分类被清空,落地页只剩标题和分页器。
- 站内搜索结果没有命中,直接输出空模板。
- 内容被删但模板还在,标题、导航都正常,正文为空。
为什么值得花时间处理
软 404 不会立刻带来明显的负面结果,但会持续消耗抓取配额,并让索引状态变得模糊:页面在报告里可能显示为“已抓取,未编入索引”,也可能先被收录再被移除。数量一多,真正有价值的新页面拿到的抓取机会就会被挤掉。
自查:哪些页面该处理
- 从搜索控制台或日志中筛出返回 200 但内容极少的地址。
- 按模板归类,判断是“临时为空”还是“已经不会再有内容”。
- 确认这些地址是否还有外链或内链指向,是否承担导航作用。
- 决定是恢复内容、合并到其他页面,还是让它彻底退场。
按页面类型决定处理方式
内容永久删除
返回 404 或 410 更直接。如果原地址有外链,或者有相近内容可以承接,用 301 指到最相关的页面。不要为了保住一个 URL 而继续输出空模板。
筛选或组合条件为空
可以在无结果时返回 404,也可以保留页面但明确标注没有匹配结果,并给出替代入口。关键是别让大量“0 结果”的组合被当成正常页面收录。若这些组合本身没有搜索需求,让它们不被发现更省事。
暂时缺货或下架
商品可能回补时,保留页面并补充相似推荐、到货提示是合理的。若已经确定不再销售,就按删除处理,避免长期挂着一个空壳。
站内搜索结果页
这类页面数量随查询词无限增长,通常不建议开放收录。可以配合 robots.txt 或 noindex 控制,但要注意:被 robots.txt 屏蔽不等于从索引中消失,已经收录的地址仍可能以无摘要形式出现。
别把软 404 和 noindex 混着用
noindex 是“可以抓,但别收录”,404 是“这个地址没有内容”。两者语义不同,同一批页面上混用,会让人难以判断问题到底出在哪一层。
处理之后的观察
调整完不会立刻见效。先看抓取日志里这些地址的返回状态是否变了,再看索引报告里对应页面是否逐步减少。如果处理了几周数量没动,优先检查是不是还有其他入口在持续生成同类空页面,比如站内搜索、分页或参数组合,而不是反复修改单个模板。