網站收錄

返回 200 却没什么内容:软 404 與空壳頁面的收錄處理

有些頁面能正常打開、狀態碼也是 200,正文却几乎是空的。它們常被蜘蛛抓到,短暂進索引後又被剔除,還持續消耗抓取配額。本文說明软 404 與空壳頁面的常见来源、自查顺序,以及按场景给出的處理方式。

網站收錄

返回 200 却没什么内容:软 404 與空壳頁面的收錄處理

很多站点預設一個判断:頁面能打開、狀態碼是 200,就具备了被收錄的资格。實际排查中反复出現的一類問题恰恰相反——狀態碼没問题,頁面也能正常訪問,但正文几乎為空。搜尋蜘蛛抓到了,甚至短暂進了索引,過一段時間又被剔除,收錄狀態来回摆動。這類頁面通常被称為软 404 或空壳頁面。

狀態碼只回答“能不能訪問”

HTTP 狀態碼解决的是這個 URL 是否存在、服務器能否正常响應的問题。200 表示响應成功,它並不评價頁面内容有多少價值。把狀態碼当成收錄開關,是很多空壳頁面被批量放開的起点。

软 404 與常见的空壳頁面

软 404 指頁面返回 200,但内容表達的是“没有找到”“暂無資料”“已下架”這類狀態。常见的来源包括:

  • 站内搜尋無结果时,仍返回 200 並渲染一句“没有找到相關内容”。
  • 篩選參數组合下没有匹配條目,頁面框架完整、列表為空。
  • 分頁越界,翻到超出范围的頁碼,仍返回空白列表。
  • 已下架商品的詳情頁,模板還在,正文只剩标题和一句提示。
  • 由參數生成的重复视图,同一份内容被渲染成多個薄頁面。

為什么它們會先收錄後被剔除

抓取和索引是两件事。第一次抓取时,蜘蛛看到的主要是模板、導航和頁脚,结构完整,容易先被判為正常頁面;等頁面真正進入索引、參與查询匹配时,几乎没有可用正文,于是被降權或移出。表現出来就是“已發現”“已编入索引”“已排除”之間来回變化。同时,這些 URL 還會持續占用抓取配額,让真正需要更新的頁面排得更靠後。

自查顺序

  1. 從服務器日誌中挑出返回 200、但响應体积明顯偏小的 URL 样本。
  2. 對样本做渲染對比,確認浏览器里看到的内容與纯文本狀態下的内容是否一致。
  3. 追溯這些 URL 的入口来源:来自内鏈、sitemap,還是站内搜尋产生的參數連結。
  4. 對照索引狀態报告的波動時間,看是否與這批 URL 的抓取记錄吻合。

處理方式要分场景

  • 内容确實不存在了:直接返回 404 或 410,不要再返回“友好提示頁 + 200”。用 200 包装一個不存在的頁面,只會让判断變得更难。
  • 頁面暂时為空但以後會有内容:比如刚建好還没上架的分類頁,可以保留 200,但要保證有說明性正文和可用内鏈,避免纯空模板;短期不希望被收錄时用 noindex 控制。
  • 站内搜尋结果頁與參數组合頁:這類 URL 數量容易失控,一般不建议放開抓取,可通過 robots.txt 或 noindex 收敛。
  • 内容與別處重复:優先合並頁面或补充差异化信息。canonical 只用来声明首選版本,不解决内容质量本身的問题。
狀態碼解决“能不能訪問”,内容解决“值不值得收錄”,两者不要混為一谈。

這類頁面的處理不需要一次做完,但需要定期抽查。與其盯着收錄總數的涨跌,不如先看增長的這批 URL 里,有多少是有真實内容支撑的。