網站收錄

頁面返回 200 却顯示没有内容:软 404 的识別與處理顺序

有些頁面 HTTP 狀態碼是 200,打開後却是空列表、已下架商品或没有结果的搜尋頁。這類软 404 會消耗抓取资源,也可能被收錄成低质量頁面。本文說明软 404 的常见来源、识別方法,以及按暂时和永久两種狀態處理的顺序。

網站收錄

頁面返回 200 却顯示没有内容:软 404 的识別與處理顺序

看抓取日誌时,很多人只關注狀態碼是不是 200。但 200 只說明服務器正常响應了請求,不代表頁面有實际内容。商品下架後仍保留原 URL、篩選條件组合出空结果、栏目下暂时没有文章,這些頁面都可能返回 200,用戶和搜尋引擎打開的却是一個什么都没有的頁面。這類頁面通常被称為软 404。

软 404 和真正的 404 差在哪

真正的 404 會明确告诉搜尋引擎這個地址不存在。软 404 返回的是 200,内容却是空的、無结果的,或者只有一句暂無内容。對搜尋引擎来说,它需要多花一步去判断頁面價值,處理速度通常比真 404 慢,也更容易出現已抓取但未索引,或者直接收錄一個空頁面的情况。

它和頁面内容偏薄也不完全一样。内容偏薄的頁面仍然有主体信息,软 404 則是頁面本身没有可用的主体内容。

常见来源先列清楚

  • 商品、房源、职位等已下架,但 URL 還能打開;
  • 站内搜尋、篩選、排序组合出零结果;
  • 栏目或标簽下暂时没有内容;
  • 需要登入或權限不足,未登入时返回空頁面;
  • 模板或資料調用出错,頁面只剩头部和底部。

前两類最常见,也最容易在日誌里堆积大量 URL。

先识別,再决定怎么處理

不要看到空頁面就直接批量 404。先確認它是暂时狀態還是永久狀態。

  1. 看狀態碼分布。從服務器日誌或抓取統計里找出返回 200 但响應体很小、内容為空的 URL 類型。
  2. 抽查頁面。打開几個代表性 URL,確認是模板問题、資料問题,還是业務上确實没有内容。
  3. 区分暂时與永久。商品可能补货、栏目可能更新,這類属于暂时;下架不再上架、活動永久結束,属于永久。

按场景選擇處理方式

永久不再使用的頁面

如果頁面确定不會再恢复,返回 404 或 410 比繼續返回 200 更清晰。410 表示永久移除,语义更明确,但 404 同样可用。處理後把站内指向它的連結去掉,sitemap 里也移除對應 URL。

暂时没有内容的頁面

如果頁面之後還會恢复,不要急着 404。可以保留 200,但在頁面上加 noindex,等有内容後再移除。這样既不影响用戶訪問,也避免空頁面進入索引。若只是短暂故障,也可以考虑返回 503,但要控制時間,不要長期使用。

站内搜尋和篩選頁

這類頁面數量可能非常多。零结果頁建议加 noindex,並且不要放進 sitemap,同时减少從其他頁面指向它們的連結。有结果的篩選頁是否收錄,要單獨判断,不要和零结果頁混在一起處理。

几個容易帮倒忙的做法

  • 把空頁面 301 到首頁。這會让搜尋引擎把大量 URL 都指向首頁,也容易让用戶困惑。
  • 用 JavaScript 跳轉首頁。狀態碼仍是 200,問题没有被解决。
  • 用 robots.txt 屏蔽代替 noindex。屏蔽後搜尋引擎無法讀取頁面上的 noindex,已收錄的 URL 可能長期留在索引里。
  • 全部返回 200 加一句暂無内容。這等于把软 404 留在站点里,抓取资源會持續被消耗。

處理完之後看什么

調整後不需要天天盯着,但可以按周观察几項:抓取日誌里空頁面 URL 是否减少;索引中是否還出現這些地址;已抓取未索引的數量是否變化。如果頁面數量很大,分批處理比一次性全改更容易定位問题。

软 404 的核心不是狀態碼好不好看,而是让搜尋引擎能明确判断一個 URL 该留還是该走。暂时保留、永久移除、不參與索引,這三種狀態分清楚,處理顺序自然就清楚了。