看抓取日誌时经常能碰到一類地址:狀態碼是 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 是“這個地址没有内容”。两者语义不同,同一批頁面上混用,會让人难以判断問题到底出在哪一层。
處理之後的观察
調整完不會立刻见效。先看抓取日誌里這些地址的返回狀態是否變了,再看索引报告里對應頁面是否逐步减少。如果處理了几周數量没動,優先检查是不是還有其他入口在持續生成同類空頁面,比如站内搜尋、分頁或參數组合,而不是反复修改單個模板。