很多人排查收錄問题时只盯狀態碼,看到頁面返回 200 就認為“服務器没問题”。但搜尋引擎判断一個 URL 能不能留在索引里,不只看狀態碼,還要看這個頁面到底有没有内容。返回 200、内容却是空壳的頁面,通常被称為软 404。
软 404 和真 404 的区別
真 404 是服務器明确告诉抓取程序:這個地址已经不存在。抓取程序收到信号後會較快地把 URL 從索引中移除,也不會反复浪費抓取预算。
软 404 則相反:狀態碼是 200,頁面也能打開,但正文几乎是空的,或者只剩模板、導航、推荐位和一句“暂無資料”。抓取程序需要額外判断内容是否有價值,處理周期更長,而且這類 URL 往往會被反复抓取,長期占用抓取预算。
判断标准不是“頁面能不能打開”,而是“用戶带着明确需求進来,能不能得到答案”。
常见的软 404 场景
- 商品或内容下架後,頁面保留 200,僅顯示“该商品已下架”加推荐列表;
- 篩選、排序參數组合出大量没有结果的结果頁;
- 栏目頁内容為空,只靠模板撑起一屏;
- 站内搜尋、用戶主頁、标簽頁在資料不足时仍返回 200;
- 分頁超出實际范围,返回空白頁而不是 404;
- 接口报错被前端兜底成“暂無内容”,但 HTTP 狀態仍是 200。
自查顺序:從日誌到頁面
- 先看抓取日誌。統計哪些 URL 被抓得最多,如果大量抓取集中在無结果頁、空列表頁上,問题基本坐實。
- 再看索引狀態。在搜尋控制台里筛出“已编入索引”但實际無内容的 URL,观察它們的索引量變化。
- 抽样打開頁面。關掉缓存、用無痕窗口,確認正文区域是真有内容,還是模板占位。
- 對比正文占比。正文文字遠少于導航、推荐、广告部分时,即使技術上不是空頁,也容易被视為低质量。
- 核對狀態碼與實际内容是否一致。很多站点前端做了统一错誤頁,後端统一返回 200,這就是典型的信号错位。
几個容易誤判的地方
一是把“内容少”直接等同于软 404。短頁面只要满足搜尋意图,仍然可以正常收錄。二是把“頁面變慢”当成软 404,那是抓取性能問题,處理方式不同。三是只處理前端,忽略後端返回碼,改完看起来正常,抓取程序看到的仍然是 200。
處理方式與收敛策略
- 内容确實下架且不會恢复:返回 410 或 301 到最相關的替代頁面,不要留着 200;
- 參數组合出的空结果頁:用 robots.txt 或 noindex 收敛,同时在頁面里给出合理的預設结果;
- 搜尋、用戶中心等内部頁面:預設不放開收錄,避免消耗抓取预算;
- 分頁超范围:直接返回 404,不要渲染空頁;
- 栏目長期没有内容:先补齐内容,或者暂时合並到上級栏目。
需要提醒的是,處理之後索引不會立刻變化。抓取、重新评估、移除是分阶段進行的,通常要以周為單位观察,而不是改完第二天就下结论。
把软 404 当成一次结构体检
软 404 集中出現的位置,往往就是站内 URL 最容易失控的地方:參數、分頁、篩選、用戶生成内容。與其逐個修补,不如顺手把這几類 URL 的生成規則梳理一遍,能提前避免一大半後續的收錄問题。