「Search Console 寄信說我們有 200 多個 404 錯誤,是不是網站出事了?」這是我們一年會被問上好幾次的問題。
大部分時候,答案是沒事。網站本來就會有頁面被刪掉,Google 回報 404 只是告訴你「這些網址現在找不到了」,不代表網站被扣分。真正需要緊張的,反而是另一種比較少人注意的狀況:軟 404。
這篇不談網站搬家那種大工程,只談日常的收尾:一個商品下架、一場活動結束、一篇文章被刪掉之後,那個網址該怎麼處理才不會浪費掉它累積的東西。
404 錯誤會傷害 SEO 嗎?
單純的 404 不會讓整個網站排名下降。Google 官方也多次說明,不存在的網址回應 404 是正常行為,網站有 404 頁面很正常。
會造成損失的是「有價值的頁面變成 404」。如果被刪掉的頁面原本有外部連結、有流量、有排名,直接讓它 404,那些累積的連結訊號就斷掉了,從那些連結點進來的人也只會看到錯誤頁。
所以判斷的重點不是「有沒有 404」,而是「哪些網址 404 了,它們原本值不值錢」。一個從來沒有人造訪、沒有任何連結的舊測試頁變成 404,完全不用管;一個有 30 個外部網站連過來的熱門文章變成 404,就該處理。
404、410、301 和軟 404 差在哪?
這四種狀態,差別在於伺服器回應的 HTTP 狀態碼,以及頁面實際呈現的內容是否一致。前三種是你主動選擇的收尾方式,軟 404 則是一種「說法和實際不一致」的錯誤。
| 狀態 | 伺服器回應 | 意思 | 什麼時候用 |
|---|---|---|---|
| 404 | 404 Not Found | 找不到這個頁面 | 頁面刪除,沒有替代內容 |
| 410 | 410 Gone | 這個頁面永久移除了 | 確定不會再回來,想讓 Google 更快移除 |
| 301 | 301 Moved Permanently | 搬到新網址了 | 有內容相近的替代頁 |
| 軟 404 | 回應 200,但內容是空的或錯誤訊息 | 伺服器說正常,頁面卻沒東西 | 不應該發生,要修正 |
說白了,軟 404 就是「嘴巴說有、打開卻沒有」。伺服器回應 200 表示一切正常,頁面上卻寫著「找不到商品」或幾乎沒有內容。Google 看得出來這頁其實是錯誤頁,就會在報告裡把它標成軟 404。
404 和 410 在實務上的差別不大,Google 對兩者的處理都是把網址從索引中移除,410 可能稍微快一點。大部分網站用 404 就夠了。
為什麼全部轉址到首頁不是好方法?
因為 Google 會把「轉址到不相關頁面」視為軟 404,等於白做。使用者點一篇講「冬季北海道行程」的連結,結果被丟到首頁,他得不到原本要的東西,Google 也知道這一點。
這是我們看過最常見的錯誤做法。有些網站改版時,為了「不要出現 404」,乾脆把所有找不到的網址一律 301 到首頁。結果 Search Console 裡出現一大堆軟 404,舊網址的連結訊號也沒有真正傳遞出去。
301 轉址的原則是:只轉到「內容相近、能滿足原本需求」的頁面。找得到就轉,找不到就老實回應 404。網站改版時的轉址對應怎麼做,可以參考 網站改版與 SEO 遷移。
怎麼在 Search Console 找到 404 和軟 404?
在 Search Console 左側選單點「網頁」(頁面索引報告),往下捲到「網頁未編入索引的原因」,會看到「找不到 (404)」和「軟 404」等分類,點進去就能看到網址清單與最近檢索日期(狀態名稱以實際介面為準)。
看到清單後,我們的處理順序是這樣的。
先看軟 404。 這一類幾乎都需要處理,因為它代表網站某個地方的設定有問題。常見原因是:已下架商品頁顯示「商品已售完」卻回應 200、搜尋結果為零的頁面、內容只有一兩行字的空殼頁、轉址到首頁。
再看 404 裡面有沒有重要網址。 把清單匯出,對照 GA4 或 Search Console 的歷史流量,挑出曾經有流量的網址。這些才需要找替代頁做 301。
最後檢查 404 是從哪裡連過來的。 如果是自己網站的內部連結指向 404 頁面,一定要修,這是你可以完全掌控的。內部連結的整理方式可以參考 內部連結策略。
自訂 404 頁面要放什麼?
一個好的 404 頁面,目標是讓迷路的使用者還願意留在網站上。它必須回應真正的 404 狀態碼,同時給人往下走的路。
我們會建議至少放這幾樣東西:
一句清楚的說明。 「這個頁面可能已經移除或網址有誤」,不要只寫「Error 404」,一般人看不懂。
站內搜尋框。 讓使用者直接找他要的東西。
幾個主要入口。 熱門商品、主要服務分類、最新文章,三到五個就好,不要放整個網站地圖。
聯絡方式。 對電商或服務型網站,「找不到想要的?直接問我們」這一行常常能救回一筆詢問。
有一點技術細節要特別確認:很多 CMS 或自架系統的自訂 404 頁面,伺服器實際回應的是 200,這樣就變成全站的軟 404 來源。用瀏覽器開發者工具或線上的 HTTP 狀態檢查工具確認一下回應碼,花不到一分鐘。
案例:旅行社的過期行程頁
一家做日本團體旅遊的旅行社,每季會下架上百個過期行程。他們的做法是行程結束後,頁面保留但內容換成一行「本行程已結束報名」,伺服器照樣回應 200。
幾年下來,網站累積了 1,400 多個這種空殼頁,Search Console 有將近 900 個被標成軟 404,而且 Google 花了大量時間反覆檢索這些沒有價值的網址。
我們跟他們討論後改成三種處理:同一條路線還有新梯次的,301 到新梯次頁面(大約佔四成);路線已停辦但有外部連結的,保留頁面並改寫成「行程介紹+推薦相近路線」,讓它變成有內容的頁面;其餘沒流量也沒連結的,直接回應 404。另外也把自訂 404 頁面的回應碼修正成真正的 404。
三個月後,軟 404 從近 900 個降到 40 個以下。更明顯的變化是新上架的行程頁,從發布到被索引的時間從平均兩週左右縮短到三、四天。老實說這是他們最在意的,因為行程有銷售期限,晚一週被搜尋到就少一週的生意。
刪頁面不難,難的是誠實告訴 Google 它不在了。
如果你的網站是因為改版或換系統才產生大量 404,比較建議在改版前就把轉址對應表做好,必要時可以找有經驗的 網站改版團隊 一起規劃。
常見問題
Q:Search Console 的 404 錯誤一定要全部修掉嗎?
不用。404 是正常的網站狀態,只要那些網址本來就該消失、沒有重要的外部連結或流量,放著就可以。需要處理的是曾經有流量或連結的網址,以及自己網站內部連結指向的 404。
Q:404 的網址多久會從 Google 索引中消失?
通常幾天到幾週,取決於 Google 多久重新檢索那個網址。Google 第一次發現 404 時不一定馬上移除,可能會再回來確認幾次。如果很急,可以用 Search Console 的移除工具暫時隱藏,但它只是暫時性的。
Q:商品暫時缺貨,頁面要 404 嗎?
不要。暫時缺貨的商品頁應該保留,回應 200,頁面上清楚標示缺貨與預計到貨時間,並推薦類似商品。只有確定永久停售、也沒有替代品時,才考慮 301 到分類頁或回應 404。
結語
處理刪掉的頁面,原則其實只有兩句:有替代就轉址,沒有就老實回應 404。真正的問題通常不是 404 太多,而是頁面說一套、伺服器回應另一套,變成軟 404。
具體的下一步:打開 Search Console 的頁面索引報告,先看「軟 404」那一類有幾個網址。點開前五個,確認它們是空殼頁、轉址到首頁,還是自訂 404 頁面回應了錯誤的狀態碼,從原因最多的那一種開始修。