網站收錄

狀態碼 200 的空壳頁被收錄:先分清软 404 的几種類型

狀態碼正常、内容却是空的頁面,容易被当作可抓取頁面處理。這篇文章說明软 404 為什么會被索引,按無结果頁、空分類頁、下架頁、兜底頁分類,並给出從抽样到狀態碼修正的核對顺序,以及 noindex 與 404、410 之間的取舍。

網站收錄

狀態碼 200 的空壳頁被收錄:先分清软 404 的几種類型

有些 URL 在索引里能搜到,点進去却是一句“暂無相關内容”或一個空模板。它們的狀態碼是 200,日誌里抓取也正常,但頁面本身没有可用信息。這類頁面通常被称為软 404,是收錄核對里容易被跳過的一類。

软 404 為什么會被索引

搜尋引擎判断頁面價值,不只看狀態碼。狀態碼 200 只說明服務器能正常返回内容,不代表返回的内容值得保留。当一個頁面對所有訪問都返回 200,正文却由模板拼出一句提示语,抓取端會先把它当作可抓取的頁面,能否留下則取决于後續的质量判断。

如果這類頁面數量少,影响有限;一旦由列表、篩選、分頁批量生成,就可能占用相当一部分抓取资源,把真正需要更新的頁面挤到後面。這和 URL 是否被發現有關,但問题不在發現渠道上——無论是内鏈、sitemap 還是外部入口,都只能把 URL 送進来,不能决定它是否留下。

先分清几種常见的软 404

  • 無结果頁:搜尋、篩選、标簽组合没有匹配項时,仍返回 200 並展示空列表。
  • 空分類頁:分類下暂时没有内容,模板照常輸出标题和導航。
  • 已下架内容:商品或文章下线後被改成提示頁,但 URL 保留且狀態碼為 200。
  • 模板兜底頁:參數缺失或被改寫时程序走進預設分支,輸出一個通用頁面。
  • 占位頁:為占位而發布的短内容,只有标题和一句话。

這几類的處理方式並不一样,核對时不要混在一起看。

核對顺序

  1. 從索引中抽样。用站点查询或索引覆盖率报告,挑出标题、摘要看起来重复或空泛的 URL。
  2. 逐個確認實际响應:狀態碼是多少,返回的正文里有没有主体内容,是否只有導航和提示语。
  3. 判断性质:是“暂时没有内容”,將来會补,還是“永久没有内容”,已下线或本就不存在。
  4. 看生成来源:是程序兜底、运营下架,還是篩選參數组合。来源不同,修改的位置不同。
  5. 决定拦截方式,再回到索引核對是否按预期收敛。

處理方式的選擇

永久没有内容

已下架、已刪除且不會恢复的頁面,返回 404 或 410 比返回 200 的提示頁更清晰。410 的表達更明确,但 404 也够用。重点是不要再让狀態碼停留在 200。

暂时没有内容

确實會补充内容的分類或结果頁,可以保留 200,但要避免把空狀態当作正式頁面推廣:不放進 sitemap,不作為内鏈目标,必要时加 noindex。等内容补齐後再放開。

篩選與參數组合

多條件组合产生的空结果頁數量往往最多。先確認哪些组合有實际搜尋需求,再决定哪些收敛到主列表、哪些允许被抓取。canonical 指向主列表是一種做法,但它替代不了狀態碼和内容本身的判断。

程序兜底

兜底頁容易在參數被改動时成批出現。核對时看請求參數、路由匹配和错誤處理分支,把不存在的情况尽早返回正确狀態碼,而不是在模板层统一輸出 200。

把 404 頁面用 200 返回,只是把問题從狀態碼头挪到了内容层,抓取端仍會把它当成一個待评估的頁面。

核對时容易忽略的两点

  • noindex 與狀態碼是两回事。加 noindex 能阻止頁面進入索引,但如果數量很大,抓取請求本身仍然會發生;能返回 404 或 410 的,優先用狀態碼表達。
  • 软 404 會影响抓取配額的分配。抓取资源被空頁占住时,新頁面和更新频繁的頁面被訪問的机會就少,表現上像是“蜘蛛不来”,實际是来的路径被分散了。

驗證

修完之後不要只看一次结果。按頁面類型分组抽样,隔一段時間再核對:目标 URL 是否已被替換成正确狀態碼,索引里對應條目是否减少,原本被挤占的重点頁面抓取是否回归。對暂时保留的頁面,等内容补齐後再观察它們能否被正常收錄。