有些地址用浏览器打開一切正常,服務器返回的也是 200,但頁面正文寫着“该商品已下架”“内容不存在”“没有找到相關内容”。狀態碼在说“這里有東西”,正文却在说“這里没東西”,這種不一致一般被称為软 404。
软 404 和真 404 的区別
真正的 404 是一個明确的信号:這個地址没有内容,搜尋蜘蛛抓一次就可以把注意力放到別處。软 404 的問题在于信号冲突,蜘蛛需要額外的判断成本,而且在判断完成之前,這個地址仍然是一個“看起来正常”的頁面。
為什么它更容易拖慢收錄
- 蜘蛛可能會反复回訪,每次抓到的都是同一份空模板,浪費抓取額度;
- 索引里容易留下一個没有實质内容的地址,用戶点進来得不到答案;
- 站内連結如果還指向這些地址,相当于持續把抓取導向無效頁面;
- 同一個站点里空頁越多,正常頁面的抓取机會就越容易被摊薄。
常见的触發场景
- 商品或内容下架後,直接保留了原来的模板頁,只是把正文換成了“已下架”;
- 搜尋、篩選、分頁在無结果时仍然返回 200 的空列表頁;
- 網站改版或資料迁移後,舊模板批量生成的空壳頁;
- 内容因權限、地区、登入狀態限制而不顯示,但頁面外壳照常返回;
- CMS 刪除内容时留下占位頁,标题還在,正文已经空了。
處理思路:先判断這個地址還有没有存在價值
分两種情况處理,比统一改成一個狀態碼更合适。
- 有替代頁面:用 301 指向最相關的新地址,尽量一次跳到落点,不要串成多級跳轉;
- 没有替代頁面:返回 404 或 410,同时把站内入口連結、站点地图里的對應條目一並清理掉。
不要為了让收錄數字好看而保留大量空頁。索引里留着一堆点進去没内容的地址,對用戶和搜尋蜘蛛都没有價值。
一份简單的自查清單
- 用命令行工具或開發者工具確認實际返回的狀態碼,不要只看頁面能不能打開;
- 關掉模板组件,看正文区域還剩多少可用信息;
- 統計同一個模板下生成了多少空頁,數量大就先從模板层改;
- 在站長工具里看這些地址是否還有曝光和点击;
- 翻服務器日誌,看搜尋蜘蛛是否在反复抓取同一批空地址。
它和“内容太薄”不是一回事
内容太薄的頁面至少還有内容,只是信息量少;软 404 是狀態碼和正文互相矛盾,属于结构层面的問题。前者可以考虑补充内容或合並同類項,後者應该優先修正狀態碼或做跳轉。
這類頁面通常不是一天冒出来的,多半是模板、下架流程或資料迁移留下的。定期抽查几個典型模板,比事後一次性清理更省事。