作者:平白設計編輯部|發布與最後查證:2026-09-25|適用:台灣(中華民國)|技術資訊,不保證搜尋排名
網站改版或搬家後,最容易被忽略的就是 404 頁。好的 404 頁要做到三件事:真的回傳 404 狀態碼、給使用者可以繼續走的路(搜尋、熱門分類、首頁),並能追蹤是哪些網址壞掉。這篇文章整理技術檢查清單,帶你確認狀態碼、設計內容與設定追蹤,不保證排名,但能避免基本錯誤。
文章重點
- 確認伺服器真的回傳 404 而非 200 軟錯誤
- 用瀏覽器開發者工具或 curl 指令快速驗證
- 在 404 頁面放搜尋框與熱門連結留住訪客
- 透過 GA4 事件與 Search Console 追蹤壞連結
軟 404 是什麼?為什麼會傷到索引
軟 404 指的是頁面顯示「找不到」訊息,但伺服器卻回傳 200 成功狀態碼。搜尋引擎會把這類頁面當成正常內容收錄,長期下來浪費爬取預算,也可能讓無效頁面佔據索引名額。這跟 改版後 favicon 路徑怎麼抽樣 一樣,都屬於改版後容易漏掉的細節。
要判斷是不是軟 404,最直接的方式就是看 HTTP 回應標頭。很多內容管理系統預設的錯誤頁只是換了模板,沒有在伺服器層把狀態碼改成 404。這種情況下,就算畫面寫著「頁面不存在」,對機器來說它依然是一張正常的網頁。
解決方式取決於你的主機環境。如果是 Apache,確認 .htaccess 裡的 ErrorDocument 指令指向正確的檔案;Nginx 則要在 server 區塊裡用 error_page 搭配 internal 參數。設定完之後,務必實際打一個不存在的網址來驗證。

用開發者工具或 curl 檢查狀態碼
打開瀏覽器的開發者工具,切到網路分頁,隨便輸入一個不存在的網址。點擊第一個請求,查看狀態碼欄位是否顯示 404。如果看到 200 或 301,代表你的錯誤處理流程有問題,需要回到伺服器設定排查。這個習慣跟 改版後 og:locale 怎麼抽樣 的檢查邏輯很像,都是直接看原始回應。
如果你偏好終端機,curl 是最快的選擇。加上 -I 參數只抓標頭,就能清楚看到第一行的狀態碼。這種方式不受瀏覽器快取干擾,結果更接近搜尋引擎爬蟲實際收到的回應,非常適合批量測試。
除了手動測,也可以把 curl 指令寫進簡單的腳本裡,定期跑一輪舊網址清單。特別是剛完成大型改版的網站,舊連結可能散落在外部文章或社群貼文裡,主動找出這些斷鏈比等使用者回報更有效率。
curl -I https://example.com/not-exist-page
# HTTP/1.1 404 Not Found
# Content-Type: text/html; charset=UTF-8
# Server: nginx
# Date: Thu, 25 Sep 2026 00:00:00 GMT
404 頁面該放哪些元素留住訪客
404 頁不是終點,而是岔路口。最基本的配置是一個顯眼的搜尋框,讓使用者直接輸入想找的關鍵字。接著放上三到五個熱門分類或近期文章的連結,降低跳出率。版面保持乾淨,不要塞滿廣告或無關的推薦模組。
文案語氣可以輕鬆一點,明確告訴使用者這個頁面不存在,而不是丟出一串難懂的伺服器錯誤代碼。如果你的品牌調性允許,加上一點幽默感也不錯,但前提是導航功能必須優先且清晰可見。
聯絡方式也值得放上去,特別是電商或服務型網站。當使用者因為找不到特定產品而來到 404 頁時,一個客服按鈕或電話號碼可能就是挽回訂單的關鍵。別忘了同時檢查 改版後 web manifest 怎麼抽樣,確保離線或安裝體驗不會因為錯誤頁中斷。

301、404 與 410 的使用時機差異
很多人為了省事,把所有失效網址統一 301 導回首頁。這對使用者體驗很糟,因為他們預期看到的是特定內容,結果被丟回起點。正確做法是:只有當舊網址有明確對應的新頁面時才做 301,否則就讓它正常回傳 404。
410 Gone 是比 404 更強烈的訊號,告訴搜尋引擎這個資源已經永久移除,而且不會再回來。當你刻意下架某個活動頁或停產商品,且確定不需要保留任何流量時,使用 410 可以加速搜尋引擎把它從索引中移除。
總結來說,狀態碼的選擇反映了你對該網址的意圖。301 代表搬遷、404 代表暫時或自然消失、410 代表刻意刪除。釐清這三者的差異,才能在改版過程中做出正確的技術決策,避免不必要的索引殘留。
| 狀態碼 | 意義 | 適用情境 |
|---|---|---|
| 200 | 請求成功 | 正常頁面回應,不應出現在錯誤頁 |
| 301 | 永久重新導向 | 舊網址有明確對應的新網址時使用 |
| 404 | 找不到資源 | 網址不存在且無對應新頁面時回傳 |
| 410 | 資源已永久移除 | 刻意下架且不需保留索引的頁面 |
| 500 | 伺服器內部錯誤 | 程式異常或設定錯誤導致無法回應 |
可以先做
- 用 curl -I 逐一檢查改版後的舊網址狀態碼
- 在 GA4 建立 404 事件並帶上來源網址參數
- 定期匯出 Search Console 的找不到網頁報告
- 為 404 頁面設計搜尋框與熱門分類連結
不要當成已完成
- 不要把全部失效網址都 301 導回首頁
- 不要讓 404 頁面回傳 200 狀態碼
- 不要忽略外部反向連結指到的失效網址
- 不要在 404 頁塞滿廣告影響使用者體驗
常見問題
怎麼用 curl 確認 404 狀態碼?
在終端機輸入 curl -I 加上你要測試的網址,查看回應第一行是否顯示 HTTP/1.1 404 Not Found。若顯示 200 就是軟 404。
所有舊網址都應該做 301 轉址嗎?
不需要。只有當舊網址有明確對應的新頁面時才做 301。沒有對應內容的網址應該讓它正常回傳 404,避免誤導使用者。
410 和 404 有什麼差別?
404 表示找不到資源,可能是暫時或永久;410 則明確告知資源已永久移除。搜尋引擎收到 410 後通常會更快將該網址移出索引。
GA4 怎麼追蹤 404 頁面?
可以透過設定專屬頁面標題或使用事件觸發條件,當使用者進入 404 頁時自動送出事件,並在參數中記錄來源網址與參照網址。
重點摘要
- 確認 404 頁回傳正確的狀態碼而非 200
- 用 curl 或開發者工具快速驗證回應標頭
- 在錯誤頁提供搜尋框與熱門連結引導訪客
- 透過 GA4 事件與 Search Console 持續監控
