有些頁面在服務器返回 200,看起来一切正常,但打開後只有一句“暂無结果”“内容已下架”或空白占位。這類頁面就是常说的软 404。它不像 404 那样明确告诉搜尋引擎“這里没有内容”,反而容易被当作正常頁面抓取,甚至進入索引。索引里這類 URL 一多,既占用抓取预算,也會稀释站点整体质量。
先確認:软 404 是否真的進了索引
不要只看站内有没有這些頁面,要先確認它們是否出現在索引里。可以用 site 查询大致看,也可以用搜尋引擎的覆盖率报告、索引狀態工具逐條核對。重点看三類頁面:站内搜尋無结果頁、商品或文章下架後的詳情頁、分頁超出范围的空白列表頁。
如果頁面已经被收錄,再看它目前返回的狀態碼和頁面内容是否一致。有些頁面表面是 200,實际内容已经不存在;有些頁面虽然提示“没有找到”,但模板里仍保留了導航、推荐位和頁脚,搜尋引擎仍可能把它当成一個可索引的頁面。
為什么返回 200 會被收錄
搜尋引擎判断頁面價值时,不只看狀態碼,還看頁面主体是否有獨特内容。如果頁面主体缺失,但 HTML 里仍有标题、描述、内鏈和结构化資料,抓取系統可能先把它收進来,再在索引阶段评估。等到用戶搜尋相關词时,這類頁面又很难满足需求,最终形成“收錄了但没流量”的堆积。
另一個常见原因是内鏈。站内搜尋、标簽、篩選或翻頁連結如果大量指向這些空结果頁,等于不断给搜尋引擎提供發現入口。入口越多,被抓取和收錄的概率就越高。
核對顺序:從狀態碼到入口清理
- 確認頁面狀態:内容确實不存在且不再提供时,應返回 404 或 410,而不是繼續返回 200。如果只是暂时缺货或维護,可以考虑 503,但要避免長期返回 503。
- 检查頁面主体:如果必须保留頁面,至少让主体内容有明确說明,而不是只有模板框架。若頁面没有獨立價值,不要用 canonical 硬指到無關頁面,也不要用 noindex 掩盖所有問题。
- 清理内鏈入口:把站内搜尋無结果頁、空列表頁、已下架詳情頁從導航、推荐位、sitemap 中移除。翻頁超出范围时,不要繼續輸出可抓取的下一頁連結。
- 推動移除:已经收錄的软 404,可以在搜尋後台提交移除請求,或等待重新抓取後自然消失。移除工具适合批量、紧急的情况,但它不是長期方案,根本仍是让頁面正确返回狀態碼。
- 观察抓取與索引變化:處理後在日誌里看這些 URL 的抓取频率和狀態碼變化,在覆盖率报告里看索引數量是否收敛。不要期待立即消失,索引更新需要時間。
容易忽略的几種软 404
- 站内搜尋無结果頁:用戶搜不到内容,但頁面返回 200,還带搜尋词參數。
- 已下架商品或已刪除文章:詳情頁保留模板,正文為空或只顯示“已下架”。
- 分頁超出范围:列表只有 3 頁,却能被訪問到第 20 頁並返回 200。
- 空标簽頁或空分類頁:没有關联内容,但頁面仍然可訪問。
- 打印版本或 AMP 版本:内容缺失时仍返回正常狀態碼。
软 404 的核心問题不是“頁面不好看”,而是狀態碼與内容不一致。先让不存在的頁面明确返回 404/410,再清理入口和 sitemap,通常比反复提交 URL 更有效。
最後提醒一点:處理软 404 时,不要把所有低流量頁面都当成软 404。只有内容确實不存在、不再提供或没有獨立價值的頁面,才适合移除或返回错誤碼。如果頁面仍有真實内容,只是排名不理想,應该從内容质量和搜尋意图入手,而不是直接删掉。