網站收錄

返回 200 的空白頁:软 404 怎么识別、怎么收敛

日誌里全是 200,頁面打開却是空的——這類软 404 不报错,却會持續消耗抓取並干扰收錄判断。文章從识別方法讲起,按“值得保留”“确實该下线”“參數與篩選類”三種情况给出處理顺序,並列出常见誤操作與後續抽查重点。

網站收錄

返回 200 的空白頁:软 404 怎么识別、怎么收敛

狀態碼说 200,内容却说“没有”

日誌里一排 200,看起来一切正常;真正打開頁面,首屏只有一句“暂無相關内容”或者一個空列表。這類頁面在技術上不算报错,但在收錄判断上属于软 404——服務器告诉爬虫“這里有東西”,頁面本身却什么都没提供。

软 404 不等于错誤頁。它更像一種空壳:URL 可訪問、狀態碼正常、模板完整,唯獨主体内容缺失。搜尋蜘蛛抓下来之後,會重新判断這個頁面值不值得進索引,多數情况下不進,或者進了也不展示。

判断一個頁面是不是软 404,不看狀態碼,看它被抓下来之後有没有可讀的内容。

软 404 常從這几類頁面来

  • 站内搜尋结果頁:没有命中时返回空列表,狀態碼仍是 200。
  • 空分類、空标簽、空归档:栏目建好了,内容還没填。
  • 篩選與參數组合頁:多重條件叠加後没有任何符合的结果。
  • 商品或内容下架頁:原 URL 還在,内容被撤掉,只剩模板框架。
  • 需要登入或權限的頁面:未登入用戶拿到的是一個空容器。
  • 依赖 JS 渲染的頁面:首屏 HTML 里是空的,内容靠脚本填進去。

第一步:先分清“暂时為空”和“确實没有”

  1. 抽样打開頁面,看首屏到底有没有有效信息,別只看狀態碼。
  2. 查看未执行脚本时的 HTML,確認服務端實际返回了什么。
  3. 在日誌里按模板或 URL 規則統計,看這批頁面是零星几個還是一整類。
  4. 查這個 URL 是否曾经有過流量或外鏈,有過的话處理方式要更谨慎。

處理顺序:先分類,再决定留、改、還是下线

值得保留的,把内容补上

如果這類頁面有搜尋需求、有内鏈入口、後續會持續产出内容,就別急着让它消失。补上推荐條目、相關分類或導流模块,让它從空壳變成可用頁面。

确實不该留的,用真實的狀態碼

下架的商品、作废的活動頁、彻底不做的栏目,應该返回真實的 404 或 410,而不是用 200 加一句“内容不存在”。前者是明确信号,後者只會让爬虫反复来抓一個空頁面。

參數與篩選類,從入口收敛

篩選组合理论上可以生成無數個 URL,大多數组合都没有單獨收錄的價值。與其让它們各自返回 200,不如從入口上收敛:限制可被抓取的參數、用 canonical 指向主列表頁、必要时在 robots.txt 里挡住没有意义的组合。

几個容易踩的坑

  • 把软 404 当成“頁面没問题”,只改文案不改信号。
  • 一刀切把空頁面全部 404,连本来该保留的入口也一起處理掉了。
  • 前端路由的應用里,不存在的路径也返回 200,用戶看到自定义提示頁,爬虫看到的是正常頁面。
  • 只處理 PC 模板,忽略移動端或另一套渲染方式。
  • 改完不复查,舊連結仍被外鏈和站内引用,繼續产生 200 空頁。

怎么盯住它,別让它再長回来

  1. 按模板建立抽查清單,新上线的分類頁、篩選頁、搜尋结果頁都過一遍。
  2. 在日誌里定期看“200 但内容极少”的 URL 占比,出現增長就去找来源。
  3. 把站内搜尋、篩選、下架這三類当作重点监控對象,它們最容易批量产生软 404。
  4. 改動之後隔一段時間再看一眼,確認這些 URL 没有再被频繁抓取。

软 404 的麻烦之處在于它不报警:狀態碼正常、頁面能打開,問题只會在抓取與索引的統計里慢慢顯現。定期抽查几類高危模板,比事後大批量清理省事得多。