站点运营

站点运营:软 404 自查,別让空頁面顶着 200 狀態碼混進索引

頁面明明已经没有内容,服務器却返回 200,這類软 404 會让蜘蛛反复抓取空壳地址,也让訪客走到一片空白。本文梳理软 404 的常见来源、排查方法,以及 404、410、noindex 各自的适用场景,帮你把该消失的頁面干净地说清楚。

站点运营

站点运营:软 404 自查,別让空頁面顶着 200 狀態碼混進索引

软 404 為什么比 404 更麻烦

正常的 404 會明确告诉蜘蛛“這個地址没有内容了”,而软 404 是另一回事:地址能打開,狀態碼是 200,頁面却只剩一個空模板、一句“暂無结果”,或者早就下架的商品框架。對訪客来说這是空手而归;對搜尋引擎来说,它仍然是一個正常頁面,于是被反复抓取、反复评估,既占用抓取額度,也會让站点的整体内容质量看起来比實际更差。

软 404 通常不是一次性故障,而是長期累积的结果。删内容时只删了資料没處理 URL,搜尋结果為空时照常渲染整頁,栏目没有内容却保留着入口,這些做法都會慢慢堆出一批空壳地址。

常见触發场景

  • 站内搜尋返回零结果,頁面依舊返回 200。
  • 商品或文章下架,URL 保留但正文已经為空。
  • 分頁參數超出范围,模板渲染出空白列表。
  • 需要登入的頁面未登入时,返回 200 的登入提示頁。
  • 接口出错,模板降級成“加载失敗”的空頁面。
  • 栏目没有内容,只剩标题和導航。
  • URL 大小寫或參數寫错,程序兜底给了首頁或空頁。

怎么發現

看抓取日誌和正文長度

服務器日誌里,狀態碼 200 只說明請求成功了。把日誌和頁面正文長度、關鍵詞數量放在一起看,就能發現那些狀態碼正常、内容却接近空白的 URL。抓取频率高、正文词數却長期很低的地址,通常就是可疑對象。

抽样抓取與覆盖率报告

用爬虫工具對全站做一次抽样抓取,记錄每個 URL 的狀態碼、正文長度和标题。搜尋引擎後台的覆盖率报告同样有用,尤其是“已抓取但未编入索引”“软 404”這類提示,往往直接给出样例地址。

  1. 導出最近一段時間的訪問日誌,按 URL 聚合。
  2. 筛出狀態碼為 200 的记錄。
  3. 合並正文長度或词數資料。
  4. 标记長度明顯低于同類頁面的地址。
  5. 人工抽查,確認是模板問题還是内容問题。

處理方式怎么選

發現软 404 後,先判断這個地址是“真的没有了”還是“暂时有問题”,再决定怎么處理。

  • 内容永久移除:返回 404,如果確認不會再恢复,410 也可以,让蜘蛛不再把它当有效頁面。
  • 临时故障或维護:返回 503,恢复後及时解除,避免被誤判為長期失效。
  • 搜尋無结果、篩選無结果:可以返回 noindex,同时给訪客提供返回入口或替代推荐。
  • 需要登入的内容:未登入时返回合适的跳轉或狀態,不要让登入墙伪装成正文頁。
  • 栏目暂时為空:要么补充内容,要么先不放出入口,別让空栏目長期挂在導航里。
注意 noindex 和 404 的区別:noindex 只是不索引,頁面仍可能被反复抓取;如果内容真的不再提供,用 404 或 410 更干脆。反過来,如果頁面還有價值、只是不想進索引,就不要顺手删掉。

把检查纳入日常

软 404 最容易在改版、批量下架、接口調整之後集中出現。上线前用抽样抓取跑一遍,把狀態碼和正文長度一起看;上线後留意覆盖率报告里的變化。站点地图也只保留有效内容地址,別把空頁面繼續提交出去。

内鏈和導航同样要跟着更新。指向已刪除頁面的連結,會把訪客和蜘蛛引到空壳上,等于自己制造软 404。删内容的时候顺手清理入口,比事後回头补要省事得多。

定期抽查不需要太复杂:從日誌里随机取一批 200 狀態的 URL,看看有没有标题還在、正文很薄、只剩導航和頁脚的頁面。發現一批就修一批,時間長了,软 404 的比例自然降下来。