HTTP 狀態碼(HTTP Status Code)就是每次你打開一個網頁時,伺服器回給瀏覽器的一組三位數代號,用來說明「這次的要求成功了沒、中間發生了什麼事」。你最常聽到的 404,就是其中一個。
這篇文章會用新手角度說明:HTTP 狀態碼是什麼、五大類(1xx~5xx)各代表什麼意思、它和 SEO 有什麼關係、實際上要怎麼查與怎麼用,有哪些常見迷思。
HTTP 狀態碼是什麼?
HTTP 狀態碼是伺服器在回應「用戶端」(也就是瀏覽器或爬蟲)的請求時,所產生的一組三位數代號。依 MDN Web Docs 的整理,這些代號依「第一個數字」分成五大類,每一類代表一種結果:1xx 是資訊、2xx 是成功、3xx 是重新導向、4xx 是用戶端錯誤、5xx 是伺服器錯誤。
這套規則不是某一家公司自己訂的,而是寫在 HTTP 的網路標準(目前版本是 RFC 9110)裡,所有瀏覽器與伺服器都照著走。
從 SEO 的角度,Google 也很看重狀態碼。依 Google 官方說明,Search Console 會針對 4xx~5xx 範圍、以及失敗的 3xx 轉址產生錯誤訊息;只有當伺服器回傳 2xx,內容才「可能」被拿去考慮索引。
用白話文怎麼說?
你可以把「瀏覽器去開你的網站」想成到餐廳點餐,HTTP 狀態碼就是服務生回你的那句話。重點在第一個數字,它決定了這句話的大方向:
- 1 開頭:「收到了,正在處理,你稍等。」
- 2 開頭:「好,你要的餐來了。」(最常見的
200 OK) - 3 開頭:「這道菜改到別桌了,我帶你過去。」(轉址)
- 4 開頭:「你點的東西有問題——可能根本沒這道菜(404),或你沒訂位、不能進來(403)。」
- 5 開頭:「不好意思,是我們廚房出狀況了,不是你的錯。」
你可以這樣記:4 開頭是「你(用戶端)這邊的問題」,5 開頭是「它(伺服器)那邊的問題」。
HTTP 狀態碼實際上要做什麼?
先用一張表,把五大類和它對 SEO 的訊號看過一遍:
| 類別 | 常見代號 | 白話意思 | 對 SEO/索引的訊號 |
|---|---|---|---|
| 1xx 資訊 | 100 Continue | 收到了,請繼續 | 幕後溝通用,幾乎不影響 SEO |
| 2xx 成功 | 200 OK | 一切正常 | 內容才可能被考慮索引(但不保證) |
| 3xx 重新導向 | 301、302、307、308 | 網址換地方了 | 301/308 是強訊號,302/307 是弱訊號 |
| 4xx 用戶端錯誤 | 404、410、403、401 | 你要的東西不在或不給看 | 不會被索引,已索引的會慢慢被移除 |
| 5xx 伺服器錯誤 | 500、502、503 | 伺服器自己出錯 | 爬蟲先放慢,持續太久會掉出索引 |
新手最常遇到、也最該分清楚的,是這幾個代號:
200 OK:頁面正常、內容成功送到,這是你希望大多數頁面回傳的代號。301對302:301 是「永久搬家」,302 是「暫時借放」。網站改版、網址換掉要用 301,把舊頁的評價導去新頁。404對410:404 是「現在找不到」,410 是「已永久撤除」。確定不再回來的頁面可用 410。401對403:401 是「你還沒登入、沒有授權」,403 是「就算登入了也不准看」。500對503:500 是伺服器內部出錯,503 是「暫時無法服務」,網站維護時短暫回傳 503 才是正確做法。
那要怎麼查一個網址回傳什麼狀態碼?新手可以照三步走:
- 第一步:在瀏覽器按 F12 打開開發者工具,切到 Network(網路)面板,重新整理頁面,就能看到每個請求的狀態碼。
- 第二步:用 Google Search Console 的「網頁索引」報告,檢查 Google 實際抓到的是哪些狀態,例如「找不到(404)」或「伺服器錯誤(5xx)」。
- 第三步:要整站批次檢查時,用線上 HTTP 標頭檢查工具,或 Screaming Frog 這類爬蟲軟體一次掃完。
順帶記住 Google 的幾個處理原則:它預設最多跟隨 10 次轉址;2xx 不保證一定被索引;4xx 的網址久了會被移出索引;遇到 5xx 會先暫時放慢爬取,等伺服器恢復回 2xx 後再慢慢加回來;而 429(要求太多)會被當成伺服器過載處理。(此為高更新風險資訊,請以 Google 官方最新說明為準。)
關於 HTTP 狀態碼的常見迷思
迷思一:狀態碼是瀏覽器決定的
不是。狀態碼是「伺服器」在回應請求時產生的,瀏覽器只負責接收,再決定要顯示頁面還是錯誤畫面。同一個網址,伺服器設定不同,回傳的代號就可能不同。
迷思二:只要回傳 200,Google 就一定會收錄
不一定。依 Google 說明,2xx 只代表「內容可以被拿去考慮索引」,並不保證一定收錄。更要小心「軟性 404」:頁面其實是錯誤或空白,狀態碼卻回 200,反而會讓搜尋引擎困惑。
迷思三:301 和 302 反正都會轉,隨便用就好
對使用者來說都會跳轉,但送給 Google 的訊號差很多。301(和 308)是「永久」的強訊號,會把舊網址的評價導向新頁;302(和 307)是「暫時」的弱訊號。永久搬家卻用 302,可能拖慢新網址被當成正式版本的速度。
迷思四:出現 5xx 是因為我內容寫得不好
兩件事無關。5xx 是伺服器層面的問題,例如程式出錯、流量過載、或正在維護,跟你文章寫得好不好沒關係。但要注意:如果 5xx 一直不消失,Googlebot 會減少爬取,頁面也可能慢慢被移出索引,所以該修還是要儘快修。
總結
如果只記一句話:HTTP 狀態碼就是伺服器回給瀏覽器或爬蟲的三位數「狀態回報」。
看懂它,先看第一位數字就好:1 是收到、2 是成功、3 是改道、4 是你(用戶端)的錯、5 是它(伺服器)的錯。
落到 SEO,原則也很單純:讓正常頁面回 200、搬家用 301、刪頁依情況用 404 或 410、伺服器出問題就快修,別讓 5xx 一直掛著。



