很多站長检查收錄时只看“頁面能不能打開”,忽略了另一個前提:這個地址返回的是不是 200,以及 200 背後的内容是不是真的有效。当一個並不存在的商品、一個搜尋不到结果的列表頁、一個參數寫错的篩選頁,仍然以 200 狀態返回一段“暂無内容”的模板,搜尋蜘蛛通常不會把它当成 404 處理,而是当作正常頁面繼續往下走。這類頁面就是常说的软 404。
软 404 與空壳頁面常见的样子
它們不一定都長成“查無此頁”,但有几個共同特征:狀態碼是 200,正文里几乎没有獨有信息,主要靠模板文字和導航撑起体积。
- 商品或内容下架後,頁面只剩“该商品已下架”,没有替代推荐或說明。
- 站内搜尋结果為空,或结果數极少,頁面仍可被外部直接訪問。
- 篩選、排序、分頁參數越界,返回的是一張空列表。
- 栏目下暂时没有内容,模板直接輸出标题和空容器。
- 活動、专题結束後,落地頁正文被清空但地址仍保留。
為什么它比真正的 404 更难處理
硬 404 是明确信号:這個地址没有内容。软 404 發出的信号却模棱两可——狀態碼说“正常”,正文说“没有”。搜尋蜘蛛只能按正常頁面處理,抓取、可能進入索引,然後這些頁面在索引里占據位置,却提供不了任何價值。
判断标准很简單:如果用戶從搜尋结果点進来會不會立刻返回?如果會,它大概率不该以 200 的形態長期存在。
更麻烦的是,這類頁面往往成批出現,由參數、分頁、下架逻辑自動生成,規模很容易超過真正的内容頁。
自查與處理顺序
- 先從服務器日誌里筛出抓取量高、但頁面体积极小的 URL,這類地址往往就是空壳頁。
- 抽样訪問,核對三点:HTTP 狀態碼、正文是否有獨有内容、頁面上有没有指向相關内容的有效連結。
- 按“是否還有存在價值”分類,而不是按 URL 形式一刀切。
- 對每一類确定處理方式,再统一改造模板逻辑,避免後續繼續生成。
- 改造後观察一到两個抓取周期,確認這些地址的狀態碼與索引表現是否收敛。
分類與對應處理
- 确實不存在:返回 404 或 410。這比返回 200 再寫一句“内容不存在”要清晰得多。
- 有替代内容:下架商品若有同款或同類,可以 301 到替代頁;没有明确對應關系时不要硬跳,避免用戶和蜘蛛都落到不相關頁面。
- 仍有保留價值:补齐正文,比如补充說明、相關推荐、歷史信息,让頁面本身成立。
- 需要保留但不想被索引:返回 200 並加 noindex,注意该頁面必须允许被抓取,否則規則讀不到。
几個容易踩的坑
- 用 robots.txt 屏蔽這類 URL,同时又指望 noindex 生效。被屏蔽的地址蜘蛛抓不到,也就看不到 noindex,索引里的舊记錄可能長期留着。
- 把篩選參數全部跳轉到首頁或列表首頁,结果产生大量指向同一地址的重定向。
- 只改前端提示文案,後端狀態碼依舊返回 200,問题並没有解决。
改完以後看什么
不要只看單次快照。改造完成後重点观察三点:日誌里這類 URL 的抓取频次是否下降,索引中相關地址是否逐步减少,以及服務器返回的狀態碼分布是否從清一色 200 變成有合理的 404 與 301。索引更新需要時間,短期内數量没有明顯變化属于正常,不必因此反复調整規則。
把软 404 處理好,收益不在于“多收錄了多少”,而在于让抓取與索引的资源更集中地落在有内容的頁面上,這對整站的收錄质量是更實在的一步。