SEO & Discoverability

HTTP 狀態碼對 SEO 的實際意義

一份實用指南,說明會影響爬取、索引、重新導向與移除索引的回應碼——但不把每個狀態碼都視為排名危機。

The Wux Webtools Team The Wux Webtools Team 10 分鐘閱讀 AI輔助,人類審核
Illustration of HTTP status code paths affecting how a search crawler reaches or skips web pages.
目錄
  1. 狀態碼不是 SEO 的全部故事
  2. 200 OK:可被索引,但不自動代表有價值
  3. 301 與 308:永久重新導向
  4. 302 與 307:暫時重新導向
  5. 304 Not Modified:有用,但不是排名捷徑
  6. 404 Not Found:頁面消失時是正常情況
  7. 410 Gone:比 404 更強,但要謹慎使用
  8. 401、403 與存取被阻擋
  9. 429 Too Many Requests:有代價的爬取控制
  10. 500、502、503 與 504:可靠性訊號
  11. 重新導向鏈與迴圈值得特別注意
  12. 實務優先順序
  13. 選擇正確狀態碼的簡單規則

HTTP 狀態碼是 SEO 建議中常被講得有點過度戲劇化的主題之一。單一 404 會被說成「權重流失」。一個重新導向會被說成「連結權重外漏」。一次 500 會變成緊急事件,即使它只是在部署期間持續了六分鐘。

比較冷靜的說法是:HTTP 狀態碼是指令與訊號。它們告訴瀏覽器、機器人、快取與其他用戶端,當它們請求某個 URL 時發生了什麼事。搜尋引擎會使用這些回應來判斷是否要爬取、索引、保留、替換或移除某個頁面。

但並非每個狀態碼都有相同的 SEO 權重。有些很日常。有些只有在大規模發生時才是問題。少數則值得立即處理。

狀態碼不是 SEO 的全部故事

狀態碼只是 HTTP 回應的一部分。搜尋引擎也會檢視:

  • 重新導向後的最終 URL
  • canonical 標籤
  • robots 指令
  • 頁面內容
  • 內部連結
  • sitemap 訊號
  • 歷史爬取行為
  • 伺服器長期可靠性

這表示「頁面回傳 200」不等於「頁面可以被索引」。某個 URL 可以回傳 200,但仍然因為 noindex 被阻擋、被 canonical 到其他地方,或因內容稀薄或空白而被視為 soft 404。

同樣地,404 並不一定不好。被刪除的頁面通常應該回傳 404 或 410。SEO 問題不在於缺頁存在,而在於重要頁面回傳了錯誤的狀態碼,或網站送出了彼此矛盾的訊號。

如果你在正式環境中除錯,不要只依賴瀏覽器顯示的畫面。請檢查實際的回應鏈。原始標頭檢查、命令列請求,或重新導向追蹤,都會比可見頁面提供更多資訊。我們在一組用於正式環境中除錯重新導向與 HTTP 標頭的小工具中整理了一個實用流程。

200 OK:可被索引,但不自動代表有價值

200 OK 回應表示請求成功,且伺服器回傳了內容。對 SEO 來說,這是你希望被爬取並可能被索引的頁面所應有的正常回應。

但 200 並不保證會被索引。如果頁面重複、品質低、受到頁面層級指令阻擋,或無法透過連結被發現,搜尋引擎仍可能選擇不索引它。

200 回應最常見的 SEO 錯誤,是把它用在並不是真正頁面的內容上:

  • 空白的搜尋結果頁
  • 顯示「抱歉,無法供應」文字的已刪除產品頁
  • 沒有實質內容的地點頁
  • 只渲染出外殼的破損模板
  • 應該被移除或重新導向的過期刊登頁

這些可能會變成 soft 404。soft 404 指的是伺服器說「OK」,但內容卻告訴爬蟲「這裡沒有有用的東西」。搜尋引擎仍可能把該 URL 當成缺頁處理。

一個好規則是:如果人類會說「這個頁面已不存在」,伺服器大概就不應該說 200。

301 與 308:永久重新導向

301 Moved Permanently308 Permanent Redirect 告訴用戶端某個 URL 已永久移動。對 SEO 來說,當頁面有明確替代頁時,這些是正確的工具:

  • HTTP 到 HTTPS 遷移
  • 舊 slug 到新 slug
  • 合併文章到更強的文章
  • 停產產品到相近的後繼產品
  • 尾斜線或 canonical 主機正規化

搜尋引擎通常會透過永久重新導向轉移 canonicalization 訊號。用白話說:如果你把舊 URL 重新導向到正確的新 URL,搜尋引擎可以整合許多與舊頁面相關的訊號。

風險不在於 301 本身有害。風險在於對應關係做得不好。

不良的重新導向模式包括:

  • 將每個舊 URL 都重新導向到首頁
  • 將已刪除頁面重新導向到只有模糊相關的分類頁
  • 建立像 A → B → C → D 這樣的鏈
  • 重新導向到被阻擋、noindexed,或 canonical 到其他地方的 URL
  • 行動版與桌面版重新導向不一致

永久重新導向應該回答一個問題:「這個 URL 目前最好的等價頁面是什麼?」如果沒有等價頁,404 或 410 可能更誠實。

302 與 307:暫時重新導向

302 Found307 Temporary Redirect 表示移動是暫時的。原始 URL 預期長期仍會是主要 URL。

請將暫時重新導向用於真正暫時的情況:

  • 短期活動路由
  • 不應取代 canonical URL 的地理位置導向或 A/B 測試
  • 暫時維護替代頁
  • 經常變動的庫存或供應狀態流程

對 SEO 來說,主要問題是模糊性。如果一個「暫時」重新導向持續存在數月或數年,搜尋引擎最後可能仍會把目的地視為 canonical。但你不應該依賴這種解讀。

如果移動是永久的,請使用永久重新導向。如果是暫時的,請使用暫時重新導向。無聊的答案就是正確答案。

304 Not Modified:有用,但不是排名捷徑

304 Not Modified 是 HTTP 快取的一部分。它告訴用戶端,資源自從用戶端已擁有的版本之後就沒有變更。

這個狀態碼有助於爬取效率與效能衛生。它可以減少不必要的資料傳輸,並降低重複請求的成本。但它不是簡化意義上的直接排名因素。

把 304 視為基礎架構品質。它幫助用戶端與爬蟲更有效率地與你的網站互動。它不會把薄弱內容變成強內容。

404 Not Found:頁面消失時是正常情況

404 Not Found 表示伺服器找不到請求的資源。這並不自動是 SEO 災難。

404 適用於以下情況:

  • 某個頁面已移除且沒有替代頁
  • 不良外部連結指向不存在的 URL
  • 使用者輸入錯誤的 URL
  • 舊測試或 staging URL 原本就不該存在

搜尋引擎最終會將持續回傳 404 的 URL 從索引中移除。這通常正是你想要的結果。

當 404 影響重要 URL 時,你應該修正它們:

  • 具有有價值反向連結的頁面
  • 獲得實質流量的 URL
  • 在遷移期間被意外移除的重要頁面
  • 指向缺頁的內部連結
  • 回傳 404 的 sitemap URL

不要把每個 404 都重新導向到首頁。這會讓使用者與搜尋引擎感到困惑。如果有相關替代頁,請重新導向。若沒有,請回傳 404,並為人類使用者提供有用的錯誤頁面。

410 Gone:比 404 更強,但要謹慎使用

410 Gone 表示資源已被有意移除,且不預期會回來。

對 SEO 來說,當你想更明確地移除 URL 時,410 可能很有用:

  • 過期的法律頁面
  • 已移除的使用者個人檔案
  • 已刪除的垃圾內容頁
  • 沒有替代頁的過時登陸頁

搜尋引擎可能會把 410 視為比 404 更強的移除訊號。實務上的差異通常是速度,而不是結果。持續的 404 與 410 回應都可能導致移除索引。

當你確定頁面已永久消失時,使用 410。如果頁面可能回來,404 或暫時處理方式可能更安全。

401、403 與存取被阻擋

401 Unauthorized 表示需要驗證。403 Forbidden 表示伺服器理解了請求,但拒絕存取。

對 SEO 來說,這些狀態碼通常會阻止受保護內容被正常爬取與索引。這對私人儀表板、帳戶區域、staging 系統,以及不應公開被索引的付費內容而言是合理的。

問題會出現在公開頁面因以下原因意外對爬蟲回傳 401 或 403 時:

  • 機器人防護規則
  • 防火牆設定錯誤
  • 國家/地區封鎖
  • CDN 規則
  • 過期的驗證假設
  • staging 限制被帶入正式環境

一個你登入後可以正常使用的頁面,對爬蟲可能無法正常運作。務必以未驗證的用戶端身分測試。

429 Too Many Requests:有代價的爬取控制

429 Too Many Requests 告訴用戶端它們受到速率限制。當機器人確實壓垮你的基礎架構時,這可能是合適的。

然而,隨意使用 429 可能會降低爬取活動。如果搜尋引擎反覆遇到速率限制,可能會放慢請求速度。這會延遲新內容或更新內容的發現。

如果你需要速率限制,請精準處理。避免意外阻擋主要搜尋爬蟲。使用伺服器日誌區分激進的抓取與合法爬取。如果可能,回傳 Retry-After 標頭,讓行為良好的用戶端知道何時再回來。

500、502、503 與 504:可靠性訊號

5xx 系列表示伺服器無法完成有效請求。

常見例子包括:

  • 500 Internal Server Error
  • 502 Bad Gateway
  • 503 Service Unavailable
  • 504 Gateway Timeout

偶爾出現 5xx 回應是會發生的。短暫的部署問題通常不是災難。持續性的 5xx 錯誤則不同。它們會告訴爬蟲你的網站不可靠;如果搜尋引擎反覆無法擷取受影響頁面,可能會降低爬取頻率,或暫時移除這些頁面。

503 Service Unavailable 是計畫性維護的正確狀態碼,尤其搭配 Retry-After 標頭時。它表示:「這是暫時的;稍後再回來。」為維護頁回傳 200 更糟,因為爬蟲可能會把維護內容視為頁面內容。

如果停機影響重要 URL,請監控復原情況。確保原始頁面再次回傳 200,而不是快取的錯誤頁、重新導向迴圈,或暫時維護模板。

重新導向鏈與迴圈值得特別注意

重新導向很正常。重新導向鏈則是可以避免的債務。

從舊 URL 到新 URL 的簡單重新導向沒有問題。五次重新導向的鏈會增加延遲、浪費爬取預算,並創造更多讓請求失敗的位置。迴圈更糟:用戶端永遠到不了最終頁面。

對 SEO 遷移而言,請保留重新導向對照表,並在上線前測試。每個退役 URL 理想上都應該在一次跳轉內抵達最終目的地。上線後,抽樣測試舊 URL、高流量 URL,以及反向連結較多的 URL。

這也是效能與 SEO 重疊的地方。重新導向會延後真正頁面載入的開始。如果你在檢視爬取能力的同時也評估使用者體驗,不恐慌地閱讀 Lighthouse 報告可以協助你把嚴重載入問題與吵雜的診斷訊息分開。

實務優先順序

如果你正在稽核狀態碼,不要把每個警告都同等看待。從這裡開始:

  1. 重要 URL 回傳 5xx — 先修復伺服器可靠性。
  2. 可索引頁面回傳錯誤狀態 — 恢復預期的 200 回應。
  3. 重新導向鏈與迴圈 — 簡化為一次跳轉的重新導向。
  4. sitemap URL 回傳非 200 回應 — 保持 sitemap 乾淨。
  5. 指向 404 的內部連結 — 修復導覽與內容連結。
  6. soft 404 模式 — 停止對空白或已刪除頁面回傳 200。
  7. 意外阻擋爬蟲 — 調查非預期的 401、403 與 429 回應。

目標不是建立一個零 404 的網站。那不切實際,也常常沒有必要。目標是讓每個 URL 都給出真實且一致的回應。

<!-- tool-cta:start -->

💡 試試這個: 使用 Redirect Checker 檢查你的 URL 實際返回哪些狀態碼,它會顯示爬蟲看到的完整鏈路。

<!-- tool-cta:end -->

選擇正確狀態碼的簡單規則

有疑問時,選擇符合使用者所見事實的狀態碼:

  • 頁面存在且應可使用:200
  • 頁面已永久移動:301308
  • 頁面已暫時移動:302307
  • 頁面已不存在且沒有替代頁:404
  • 頁面被有意永久移除:410
  • 頁面暫時無法使用:503
  • 請求被阻擋或屬於私有內容:401403

搜尋引擎很擅長處理一般網路上的混亂。真正造成 SEO 麻煩的是大規模的不一致:永久移動卻標成暫時、已刪除頁面假裝有效、伺服器錯誤懸而未決,以及自上次遷移後就沒人測試過的重新導向邏輯。

HTTP 狀態碼不是神奇的 SEO 操縱桿。它們是基本的 Web 語意。誠實使用它們,大多數 SEO 好處自然會隨之而來。

常見問題

404 對 SEO 有害嗎?
它本身沒有害。對於已不存在且沒有替代頁的頁面,404 是正確回應。當重要頁面、sitemap URL,或內部連結的 URL 意外回傳 404 時,它才會成為 SEO 問題。
SEO 應該使用 301 還是 302 重新導向?
當移動是永久的,使用 301 或 308。當移動是暫時的,使用 302 或 307。搜尋引擎可以解讀長期存在的暫時重新導向,但依賴這種解讀不如直接送出正確訊號清楚。
5xx 錯誤會傷害排名嗎?
短暫的 5xx 錯誤通常不是災難。持續性的伺服器錯誤可能降低爬取頻率、延遲索引,並在搜尋引擎長時間無法存取頁面時導致頁面被暫時移除。
什麼是 soft 404?
soft 404 指的是某個 URL 回傳 200 OK,但內容看起來像缺失、空白或無用的頁面。即使伺服器表示請求成功,搜尋引擎仍可能把它當成 404 處理。
已刪除頁面應該重新導向到首頁嗎?
通常不應該。只有在有真正相關的替代頁時,才重新導向已刪除頁面。如果沒有有用的等價頁,請回傳 404 或 410,並為使用者提供有幫助的錯誤頁面。

來源與進一步閱讀

  1. Google Search Central: HTTP status codes and network errors
  2. MDN Web Docs: HTTP response status codes
  3. RFC 9110: HTTP Semantics
  4. Google Search Central: Redirects and Google Search
關於作者
The Wux Webtools Team

最後更新:

繼續閱讀