收錄掉了一批頁面,第一反應通常是去查狀態碼和 robots。但如果 URL 能正常打開、返回 200、頁面里也没有 noindex,問题往往不在這几层,而在搜尋引擎對頁面内容的判断上——也就是常说的软 404。
软 404 是内容判断,不是狀態碼判断
正常的 404 是服務器明确告诉蜘蛛“這個地址没有内容”。软 404 則是服務器返回了 200,但頁面實际呈現的内容被判定為“没有有效内容”或與地址所表達的预期不符。两者在技術层面對不上,在收錄结果上却可能很像:頁面從索引里消失,或者從一開始就没被收錄。
關键差別在于:404 能在狀態碼里一眼看到,软 404 只能從頁面内容里看出来。
最常见的几類触發场景
- 站内搜尋结果為空:搜尋词没有匹配结果,頁面照样返回 200,正文只有一句“暂無相關结果”。
- 内容已下架但頁面還在:商品、房源、职位下架後 URL 保留,頁面只剩“该内容已下架”的提示。
- 篩選和參數组合出空列表:多條件叠加後没有任何结果,模板仍然渲染出一個完整頁面。
- 模板頁正文太薄:列表頁、聚合頁、标簽頁只有一個标题加几條連結,缺少可讀内容。
- 程序错誤被吞掉:資料库查询失敗或超时,前端捕获後返回 200 加一段友好提示,蜘蛛看到的是一個正常頁面。
按這個顺序排查
- 先從掉量的時間段里抽出几十個可疑 URL,覆盖不同頁面類型,不要只看首頁和栏目頁。
- 不看源碼,看渲染後的正文:主内容区域是否為空、字數是否明顯低于同類正常頁面。
- 检查错誤處理逻辑:有没有把 404、410、500 统一改寫成 200 返回。
- 對照抓取日誌,看這些 URL 的抓取频次是否在下降——蜘蛛通常會先减少抓取,再取消索引。
- 同一批 URL 隔一段時間再對比一次,確認是持續狀態還是偶發情况。
處理顺序:先定狀態,再谈内容
確認是软 404 後,不要急着补内容,先决定這個頁面還有没有存在的必要。
- 该消失的:下架内容、無效篩選组合,直接返回 404 或 410,不要再让 200 兜着。410 的语义更明确,适合永久移除。
- 该留的:补充主内容,让它和同類正常頁面處在同一水平线,而不是靠塞推荐位凑數。
- 搜尋空结果頁:只在确實無结果时返回 404 或加 noindex,有结果时正常放行,避免一刀切處理。
- 有替代内容的下架頁:保留頁面並给出指向替代内容的連結,同时让用戶和蜘蛛都能看出這是替代關系,而不是原内容。
別往软 404 上繼續喂連結
有些站會把大量空结果頁、失效頁塞進站点地图,或者用批量派鏈的方式增加入口,指望“多给点入口就會收錄”。如果這些頁面本身就是软 404 狀態,增加入口只會让抓取配額更快被消耗,真正有價值的頁面反而排到後面。URL 發現這一环做得再多,也解决不了頁面质量层的問题。
一個容易忽略的点
软 404 的判断标准會随頁面類型變化。同样的正文長度,放在商品詳情頁可能偏薄,放在問答頁可能是正常水平。所以不要用一個统一字數阈值去卡所有頁面,而是拿同一類型下的正常頁面做對照。
软 404 的排查顺序是:先看渲染後的内容,再看狀態碼,最後才看抓取和索引資料。顺序反過来,很容易在技術层绕圈。