搜尋抓取

搜尋蜘蛛抓取:软 404 與空壳頁返回造成的抓取入口衰减排查

很多站点把已下架、無结果、參數無效的頁面统一用 HTTP 200 返回,蜘蛛會把它当成正常内容反复抓取,稀释了有效頁面的抓取机會。本文說明软 404 的表現、從抓取日誌中识別它的几個信号,以及按頁面類型選擇 404、410、301、503 的處理顺序和排查步骤。

搜尋抓取

搜尋蜘蛛抓取:软 404 與空壳頁返回造成的抓取入口衰减排查

蜘蛛判断一個 URL 是否值得反复抓取,主要依據响應狀態碼和頁面内容。当站点把“已下架”“無结果”“參數错誤”這類頁面统一用 HTTP 200 返回时,蜘蛛會把它当成正常内容頁,繼續投入抓取配額,而這類頁面几乎不會带来有效入口。這種情况通常被称為软 404。

软 404 對抓取的直接影响

软 404 不會让蜘蛛立刻放弃某個目錄,但它會稀释入口质量:日誌里 200 狀態碼占比很高,實际有内容的頁面比例却很低;蜘蛛在同一批模板化空頁之間来回抓取,新頁面被發現的時間被拉長。判断时不要只看狀態碼分布,還要把响應体积和正文特征一起看。

從抓取日誌识別软 404 的信号

  • 狀態碼為 200,但响應体积集中在一個很小的区間,且模板高度一致;
  • 大量 URL 的正文差异极小,主要差別只在标题或篩選條件上;
  • 同一路径下的 URL 被反复抓取,却没有新的内鏈或外鏈指向它們。

常见的软 404 来源

  • 篩選、排序、分頁參數超出有效范围後仍返回 200 的列表頁;
  • 站内搜尋無结果頁;
  • 已下架商品、已刪除文章但没有做跳轉或狀態碼處理的詳情頁;
  • 栏目為空时仍可正常訪問的聚合頁。

按頁面類型選擇返回方式

處理原則是让狀態碼與頁面的真實含义一致,而不是一律 200 或一律 404。

  1. 内容永久移除且没有替代頁:返回 404 或 410,並清理站内指向它的連結;
  2. 内容迁移到新地址:使用 301 指向新 URL,同时避免跳轉鏈過長;
  3. 參數组合無效但仍需保留形式的頁面:返回 404 或 410,或規范到有效 URL;
  4. 站内搜尋無结果頁:可返回 404,或保留頁面但避免被大量内鏈暴露;
  5. 临时维護:返回 503 並配合 Retry-After,不要用 200 加“稍後再试”文案。

排查顺序建议

  1. 先從日誌中筛出狀態碼 200、响應体积偏小的 URL 段;
  2. 抽样查看這些頁面的正文,確認是否為模板化空頁;
  3. 回到代碼或 CMS,確認這些頁面的狀態碼由哪一层决定;
  4. 調整後观察该 URL 段的抓取频次與狀態碼分布變化;
  5. 同步清理站内指向無效頁的連結,避免入口繼續扩散。
把無效頁返回正确的狀態碼,通常比新增一批内鏈更能改善抓取效率,但它不會立刻改變已经抓取的 URL 的處理结果,需要持續观察日誌。

软 404 的本质是狀態碼與内容语义不一致。定期抽样核對 200 頁面的正文质量,並让無效頁返回符合實际的狀態碼,有助于让蜘蛛把抓取配額更多放在有效頁面上。