HTTP 狀態碼(HTTP Status Code)是什麼?|SEO・GEO 百科

HTTP 狀態碼是伺服器回給瀏覽器的三位數代號。本文說明 1xx~5xx 五大類意思、和 SEO 的關係,以及常見迷思。

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:頁面正常、內容成功送到,這是你希望大多數頁面回傳的代號。
  • 301302:301 是「永久搬家」,302 是「暫時借放」。網站改版、網址換掉要用 301,把舊頁的評價導去新頁。
  • 404410:404 是「現在找不到」,410 是「已永久撤除」。確定不再回來的頁面可用 410。
  • 401403:401 是「你還沒登入、沒有授權」,403 是「就算登入了也不准看」。
  • 500503: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 一直掛著。


參考資料