「soft 404」實際代表什麼意思
真正的 404 會透過 HTTP 狀態碼,告訴瀏覽器與搜尋引擎該頁面並不存在。soft 404 則是頁面以 200 OK 回應 —— 代表「這是您要求的頁面」—— 但其實際內容看起來像錯誤頁面,或空白到讓 Google 判定它並非值得索引的正式頁面。Google 是從內容推斷意圖,而非單純信任狀態碼。
為什麼 Google 會特地標示這個問題
若您的伺服器宣稱每個網址都是有效的 200 回應,Google 就無法單靠狀態碼分辨真實頁面與損壞頁面,只能改從內容去猜測 —— 而它必須在您網站的每個網址上都花費爬取與索引資源來進行這種猜測。Soft 404 也是設定錯誤常見的副作用之一,會悄悄把真正損壞的頁面隱藏起來,讓您自己也難以察覺,因為您自己的正常運作監控與錯誤儀表板很可能也信任那個 200 狀態碼。
常見原因
- 萬用路由或 CMS 範本會呈現一般性的「找不到頁面」訊息,但實際上從未真正傳回 404/410 狀態碼。
- 站內搜尋結果頁面在零筆結果時,仍以正常頁面形式呈現空白結果清單。
- 已下架或缺貨的產品頁面仍然上線,卻幾乎沒有剩餘內容。
- 單頁應用程式的初始 HTML 回應永遠是 200,之後才由前端路由決定是否顯示「找不到」狀態 —— Google 對原始 HTML 的第一波爬取,可能會將其視為內容單薄、幾乎空白的頁面。參閱JavaScript SEO 與索引。
如何檢查
Search Console 的「索引 → 網頁」報告會在「未編入索引」下列出 Soft 404 這項原因,並附上受影響的網址。若您先前未使用過,可參閱如何解讀完整涵蓋範圍報告。您也可以直接用網址檢查工具抽查任一網址,它會顯示 Google 記錄到的實際 HTTP 狀態碼。
各種情況的修正方式
- 內容確實已不存在:從您的伺服器或框架的「找不到頁面」處理程序中,傳回真正的
404或410狀態碼 —— 不要只是變更頁面上顯示的文字。 - 內容確實單薄但屬正常情況(例如空的搜尋結果狀態、計畫補貨的暫時缺貨商品):維持 200 狀態碼,但加入足夠的實質內容 —— 相關商品、補貨說明、分類連結 —— 讓頁面看起來是刻意設計,而非損壞。
- 完全不希望被索引、但也不想傳回 404 的頁面(使用者可能合法到達的有效空白狀態):加上noindex 標籤,而不是讓 Google 自行猜測。