搜尋抓取

软 404 與空頁面:蜘蛛抓到没有内容的 URL 时會怎么處理

站点里返回 200 却没有實质内容的頁面,通常被称為软 404。本文說明蜘蛛為什么仍會反复抓取這類地址、它依據哪些信号判断頁面價值,以及永久刪除、暂时缺货、篩選组合頁和超范围分頁分別可以怎么處理,並给出一條從抓取日誌入手的排查顺序。

搜尋抓取

软 404 與空頁面:蜘蛛抓到没有内容的 URL 时會怎么處理

站点上總有一批頁面,服務器返回的是 200,打開却几乎没有内容:篩選條件無结果的列表頁、下架後仍可訪問的商品頁、翻到第二十頁之後的空分頁。這類頁面在用戶眼里是“没什么可看”,在搜尋蜘蛛眼里則更像一個信号混乱的地址——它拿到的狀態碼說明“頁面正常”,但頁面本身並没有提供對應的内容。這就是通常说的软 404。

软 404 為什么容易被反复抓取

因為從 HTTP 层面看,它們和正常頁面没有区別。蜘蛛不會因為頁面空白就自動提高判断门槛,它主要依據狀態碼和連結關系决定是否繼續訪問。只要内鏈、Sitemap 或歷史记錄里還有指向這些 URL 的入口,蜘蛛就會按惯例回来重抓,而且往往是定期回来。

更麻烦的是這類地址经常是批量生成的。一個篩選组合、一個分頁參數、一個已刪除的 SKU,都可能對應一個獨立 URL。數量一旦上去,占用的抓取次數就不再是小數目。

蜘蛛识別“低價值頁面”的常见依據

  • 正文可提取的内容极少,頁面主要剩下導航、頁头和推荐位。
  • 同一模板下大量頁面文字高度重合,只是參數或标题不同。
  • 頁面明确寫着“暂無结果”“该商品已下架”,但狀態碼依然是 200。
  • 分頁序号超出了實际資料范围,頁面只剩一個空的列表容器。
  • 頁面确實存在,但重要内容依赖交互才出現,直接抓取时是空壳。

這些信号單獨出現不算嚴重,成規模出現时,蜘蛛對整個站点的抓取分配就可能變差:它拿回来的都是“看似有效”的頁面,却總是抓不到新内容。

處理思路:先分清是暂时還是永久

永久不存在的頁面

如果内容不會再回来,直接返回 404 或 410 更清楚。410 表達“已刪除”更明确一些,但两者對抓取的影响方向一致,不必為了纠结用哪個而迟迟不動。

暂时缺货、季节性的頁面

這類頁面有重新上架的可能,不建议直接删掉。更稳妥的做法是保留 URL,在頁面上给出明确狀態,並保留商品或内容的基本說明,让蜘蛛每次抓到的不是一片空白。

篩選與排序产生的组合頁

並不是所有篩選頁都要屏蔽。真正有搜尋需求、有獨立内容的少量组合可以保留;纯粹由參數排列出来的组合,用 robots 規則或 noindex 控制,別让它們進入索引和抓取队列。屏蔽前先確認這些 URL 没有從別處获得外鏈。

超出范围的分頁

超出實际頁數的分頁地址,返回 404 比返回一個空列表頁更干净。也可以把它規范到最後一個有效分頁,但要避免所有超范围分頁都指向同一地址,那样會制造新的重复。

排查顺序

  • 先看抓取日誌里狀態碼為 200、但响應体很小或内容明顯重复的 URL 占多大比例。
  • 再看這些 URL 的入口来自哪里:内鏈、Sitemap、歷史外鏈,還是站内搜尋。
  • 按類型归並處理,能用規則批量解决的不要一個個手工改。
  • 調整後观察一段時間,確認這些地址的抓取次數确實在下降。

處理完之後,记得同步清理内鏈和 Sitemap 里的對應入口。一個已经返回 404 的 URL,如果還被大量内鏈指向,蜘蛛仍會繼續撞上它,省下来的抓取次數其實並没有真正省下来。把這項检查纳入常規巡检,比等到抓取異常再回头翻日誌要轻松得多。

清理软 404 不會立刻带来排名變化,它的意义在于把有限的抓取次數從“空跑”挪回真正需要更新的頁面。