HTTP 狀態碼確實會影響 SEO,但影響的方式跟多數人想的剛好相反。看到 Search Console 裡冒出一堆 404,很多人的第一反應是「完了,排名要掉了」。這反應可以理解,不過 Google 的官方立場正好相反:404 不會拖累你網站其他頁面的排名,這句話他們從 2011 年講到現在,沒改過。真正值得你緊張的,是 soft 404,那種伺服器明明回了 200、頁面卻空空如也的假頁面,還有長期修不好的 5xx。
狀態碼對 SEO 的影響,關鍵不在那個數字本身,而在 Google 怎麼對待它。同樣是 4 開頭,404 和 403 的後果天差地別;同樣是 5 開頭,停機兩分鐘和掛掉兩週的結局也完全不同。把官方的對待邏輯搞懂,你就不會被恐慌推著去做「把所有 404 一律 301 轉到首頁」這種反而惹麻煩的動作。狀態碼是 技術 SEO 裡最容易被誤解的一塊,也是投入少量時間就能把網站健康度拉上來的高 CP 值工作。
判斷一個狀態碼該不該緊張,有個簡單判準:它是暫時的技術狀態,還是已經變成常態。503 維護半小時,和 500 持續一整週,是完全不同的兩件事;soft 404 假裝頁面存在,比 404 老實說不存在還糟。心裡先有這把尺,再看各個狀態碼的官方對待方式,就不會被數字本身嚇到。
TL;DR:
404 和 410 本身不傷排名,不必恐慌消滅它們,那是網路的正常組成。
soft 404(伺服器回 200、內容卻空的或無關)才是真正吃掉索引品質的殺手。
301 是永久重定向、302 是暫時,權重移轉 Google 現在都能處理,但語意要放對位置。
5xx 暫時出現無妨,持續不修才會被移出索引,官方沒有給明確的天數。
維護網站時正確的回應是 503,不是關掉伺服器,更不是回一個 200 的「維護中」頁面。
文章目錄
狀態碼總覽:一張表看懂 Google 怎麼對待每個碼
做 SEO 時最常遇到、也最常被誤判的,不出這幾個狀態。先把全貌看清楚,再逐個拆解。

| 狀態碼 | 代表意義 | Google 怎麼對待 | SEO 嚴重度 | 建議動作 |
|---|---|---|---|---|
| 200 OK | 正常回應,頁面存在且有內容 | 正常抓取與索引 | 無(正確狀態) | 確保內容確實跟網址相符,不是空頁 |
| 301 Moved Permanently | 永久搬到新網址 | 把索引和連結訊號轉到新網址 | 低(正確用法) | 頁面永久搬遷時使用,新頁面要有對應內容 |
| 302 Found | 暫時搬到別處 | 保留原網址索引,稍後重試原址 | 低(正確用法) | 只用在真的暫時的情況,別拿來代替 301 |
| 403 Forbidden | 伺服器拒絕提供(常見 WAF 或 CDN 誤擋) | Googlebot 進不來,無法索引 | 中 | 排查防火牆是否誤擋 Googlebot,修好再用 GSC 驗證 |
| 404 Not Found | 這個網址沒有內容 | 不影響其他頁排名,逐步移除並降低抓取 | 低 | 有替代內容才轉址,沒有就讓它回 404 |
| 410 Gone | 永久移除 | 跟 404 處理方式相同 | 低 | 跟 404 一樣,不必糾結選哪個 |
| 451 Unavailable for Legal Reasons | 因法律理由無法提供 | 歸入 4xx,告知內容不存在 | 低 | 合規用途使用,正常網站幾乎不會碰到 |
| 500 Internal Server Error | 伺服器端未預期錯誤(程式例外、資料庫掛掉) | 暫時放慢抓取並重試,持續不修最終移除 | 中高 | 查 error log 找根因,修完請求重新檢索 |
| 503 Service Unavailable | 暫時不可用(維護、過載) | 暫停抓取、保留索引,稍後重試 | 低(正確用法) | 只用於計畫性維護,結束立即恢復 |
| 504 Gateway Timeout | 閘道等上游回應逾時 | 歸入 5xx 同類處理 | 中 | 檢查 origin 效能、慢查詢、CDN 逾時設定 |
| soft 404(回 200) | 回了成功,內容卻是空的或無關 | 主動判定為品質問題,通常不索引 | 高 | 改回真 404,停止把 404 批量轉到首頁 |
表裡的「SEO 嚴重度」,評的不是那個碼長得好不好看,而是 Google 對它的反應會不會真的傷到索引與排名。留意一下就會發現,整張表唯一被歸到「高」的,不是任何一個 4xx 或 5xx,而是 soft 404。這也是它被單獨拉出來深講的原因。換句話說,你該花力氣修的不是 404,是那個假裝成功的假頁面。
200 成功碼不等於安全:soft 404 才是真兇手
200 OK 是最理想的狀態碼,代表伺服器正常回應了內容。但 200 本身是個陷阱:它只告訴機器「請求成功了」,不保證頁面真的有實質內容。如果成功背後是空洞,200 就從保護變成偽裝。

soft 404 是什麼
soft 404 不是一個狀態碼,是一種狀態:伺服器回了 200,但頁面內容其實是「找不到」「空的」或「跟網址八竿子打不著」。Google 會主動把這種頁面判定為品質問題,通常根本不索引,而且還會三不五時回頭重抓,把你的爬蟲預算(Crawl Budget)一點一點吃掉。

這就是它比真 404 更糟的原因。404 是老實說「不存在」,Google 接受了、慢慢移除、降低抓取頻率,不花你多少成本。soft 404 是騙 Google「我存在」,Google 不信,但還是得反覆回來驗證,於是你的索引報表裡堆了一堆被判品質問題的垃圾頁。
soft 404 最常見的兩種成因
第一種,恰恰就是「消滅 404」的焦慮動作造成的:把一堆已經沒有對應內容的舊網址,全部 301 轉到首頁。訪客點進去看到的是首頁,搜尋引擎也收到 200,但這個網址跟首頁內容毫無關聯,於是它變成一個軟性 404。你想掩蓋的問題,就這樣被你親手放大。
第二種是篩選器或站內搜尋產生的空清單頁。電商網站裡某個沒有商品的篩選組合,回 200 卻一片空白,在 Google 眼裡同樣是 soft 404。這類頁面如果數量龐大,問題更棘手,因為你無法逐一手動修。
有個觀念一定得分清楚:在頁面上寫「404 找不到網頁」這幾個字,跟伺服器實際回傳 404 狀態碼,是兩回事。前者是給人看的文字,後者是給機器讀的協定。很多網站的「找不到頁面」其實回的是 200,這在 Google 眼裡就是 soft 404。想知道自己有沒有中招,到 Search Console 的「網頁索引」報表,篩 soft 404 就看得到。
修法其實很直接:該不存在就回真 404,別再用 200 假裝。頁面有對應內容,就給真內容;沒有,就誠實回報。說到底,soft 404 的根因永遠是同一個:你在假裝某個東西存在。
301 與 302:重定向的權重到底怎麼傳
重定向是狀態碼裡最容易被濫用的一群。很多人不管什麼情況一律用 301,或反過來一律用 302,兩種極端都會出問題。差別核心在於一個字:永久,還是暫時。

301 永久重定向:權重移轉的主力工具
301 Moved Permanently 告訴搜尋引擎「這個頁面永遠搬到新網址了,以後都來這裡找我」。Google 收到 301 後,會把索引、連結訊號和大部分排名相關的訊號轉移到新網址。這也是為什麼改版、換網域、整理網址結構時,301 是標準做法。
301 會傳遞多少權重?Google 過去對 301 和一般連結套用相同的 PageRank 自然衰減,2013 年 Matt Cutts 在官方影片確認兩者衰減量一致。2016 年,Google 的 Gary Illyes 公開宣佈 3xx 重定向不再損失任何 PageRank,此後官方立場沒再變動。實務上你不需要糾結精確比例,把握一個原則就夠:新頁面的內容必須跟舊網址高度相關,權重才傳得乾淨。把賣鞋子的頁面 301 到賣帽子的頁面,Google 不會照單全收,因為它看得出內容對不上。
302 暫時重定向:什麼時候才該用
302 Found 的語意是「我暫時搬到別處,晚點會回來」。Google 收到 302 後,原則上會保留舊網址在索引裡,不急著把權重全部搬走。這適合的是真的暫時的情況:季節性活動頁暫時導到當期促銷、網站局部維修時把某個分區導到公告頁。
不過我也要說實話:Google 現在對 302 的判讀能力比早年強很多,如果它判定某個 302 其實是長期的,也可能把它當 301 處理,把權重轉過去。反過來說,你以為用了 302 就能「保留舊頁排名」,結果 Google 自己做了判斷,未必如你預期。所以最穩的做法不是賭 Google 的判讀,而是依實際情況選對狀態碼:永久就 301,暫時就 302。做對比做快重要。
307 與 308:嚴格保留方法的重定向
307(暫時)和 308(永久)是後來補上的重定向狀態碼:307 在 HTTP/1.1 初版就引入,308 則透過獨立的 RFC 7538 在 2015 年加入。跟 302 和 301 的差別在於它們嚴格保留請求方法:POST 不會被偷偷改成 GET。對一般 SEO 場景來說,307 和 308 跟 302 和 301 的處理結果幾乎一樣,Google 都能正確跟隨。你不必為了 SEO 特地把既有的 301 換成 308,除非你的技術架構有保留 HTTP method 的硬需求。
有一個重定向的使用陷阱,跟 404 直接相關:某個外部網站連到你的舊網址,或你自己選單裡有條斷鏈,這時讓它回 404 等於把得來不易的 反向連結 價值浪費掉。有對應的新頁面,就做 301 把它接過去;沒有對應內容,讓它回 404 才是正確做法。記住,連結價值是跟著網址走的,斷了就沒了,301 是接回來的標準工具。
4xx 用戶端錯誤:404 無害,403 與 451 要看狀況
4 開頭的狀態碼,通則是「使用者端出了狀況」,但對 SEO 的殺傷力差距很大。有的完全不用管,有的卻會讓重要頁面直接從索引消失。

404 Not Found:被冤枉的正常現象
先講最常被誤解的 404。Google 在 Search Central 白紙黑字寫著:網站上有些網址回 404,這件事本身不會傷害你。已經被索引的 404 頁面,Google 會逐步從索引移除,也會慢慢降低回頭抓取的頻率。
這不代表 404 完全不用理,而是你不必為了「消滅」它而慌張。404 是網路的正常組成,每天都有大量頁面誕生也消失,Google 早習以為常。你刪掉一篇過期的活動公告,之後那個網址回 404,再正常不過,既不會連累同一站其他文章的排名,也不必為它緊急做什麼。
410 Gone:跟 404 其實一樣
很多人怕 410 比 404 更狠,不敢用。410 的語意是「永久移除」,比 404 的「找不到」更明確地告訴機器「這東西以後不會回來了」。但對 Google 來說,410 和 404 在抓取和索引上的處理沒有實質差別。頁面真的永遠不要了,回 404 或 410 都行,不必糾結選哪個。

403 Forbidden:防火牆擋到 Googlebot
真正會絆住 SEO 的 4xx,是 403 這一類。403 Forbidden 代表伺服器主動拒絕提供內容,最常見的成因是 WAF(Web Application Firewall)或 CDN 把 Googlebot 當成壞蛋擋了下來。Googlebot 進不來,頁面就沒辦法被抓取、沒辦法被索引。
要特別強調的是,這是「能不能被爬」的問題,不是排名懲罰。Google 不會因為你回 403 就扣你分數,但那個頁面確實會從索引消失。排查方向很明確:到 Search Console 的「網址審查」跑即時測試,看 Googlebot 收到的狀態碼;再檢查防火牆規則是否把 Google 的 IP 段或 User-Agent 列入了黑名單。修好後,用 GSC 的「請求重新檢索」把頁面請回來。
451 Unavailable for Legal Reasons:被法律拿下的頁面
451 是相對少見的狀態碼,語意是「因為法律理由,這個頁面無法提供」。它的正式定義來自 RFC 7725,常見情境是政府要求下架、著作權投訴、或特定地區的法規限制。Google 對 451 的處理跟其他 4xx 一致:告知內容不存在,逐步從索引移除。
一般網站幾乎不會主動碰到 451。如果你的站因為收到法律通知而下架某個頁面,回 451 比回 404 更誠實,因為它明確標示了「移除理由是法律」,不是單純的找不到。但從 SEO 角度看,451 和 404 的後果一樣:那個網址的內容不再被索引,你不需要為它做額外的補救動作。
5xx 伺服器錯誤:多久修好才不傷 SEO
5 開頭是伺服器端的錯誤,500、503、504 在 Google 眼裡其實是同一類:抓取的機器人會暫時放慢腳步,過一陣子再來試。已經被索引的頁面會先留著,但如果錯誤一直不修,Google 最終會把它從索引裡拿掉。

關鍵是「持續」這兩個字。伺服器跳電兩分鐘、資料庫重啟個十秒,這種短暫的 5xx,Google 重試幾次就過去了,不會立刻把你的頁面踢出索引。真正會出事的,是那種掛著好幾天、好幾週都不修的持續性錯誤。Google 官方在文件裡用的字眼是「最終」和「數天」這類概略描述,沒有給一個精確的天數閾值,所以凡是跟你保證「第 X 天一定掉索引」的說法,都是過度簡化。
500 Internal Server Error:查 log 找根因
500 代表伺服器端遇到了未預期的錯誤,可能是程式例外、資料庫連線斷掉、或 PHP 記憶體耗盡。Google 收到 500 會先放慢抓取頻率,保留已索引的頁面,然後改天再來。如果只是偶發,修掉就好,影響可控。
排查 500 的第一步永遠是看 error log,不是瞎猜。log 裡通常會告訴你是哪一行程式碼、哪個資料庫查詢、或哪個外部服務掛了。找到根因、修掉,再回 Search Console 請求重新檢索,Google 通常會在幾天內恢復正常抓取。
503 Service Unavailable:正確的維護回應
這裡有個反直覺的重點:網站要維護、要下線的時候,正確的回應是 503 Service Unavailable,不是把伺服器關掉,更不是回一個 200 的「維護中」頁面。503 告訴 Google「我只是暫時休息,晚點再來」,它就會乖乖暫停抓取、保留索引。配上一個 Retry-After 標頭說明預計恢復時間,效果更好,這是 HTTP 標準的用法。
關掉伺服器或用 200 假裝一切正常,反而讓 Google 誤判頁面還在、內容卻變了。回 200 的維護頁尤其危險,因為它會被 Google 當成「這個網址的正常內容就是這張維護公告」,等於你用維護頁覆蓋了原本有價值的內容。簡單講,維護期間請用 503,別用其他任何碼。
504 Gateway Timeout:origin 回太慢
504 Gateway Timeout 通常是 origin 伺服器回應太慢,問題出在效能。常見原因包括資料庫慢查詢、PHP 執行時間過長、或 CDN 的逾時設定太緊。修的方向和 500 類似,都是回 error log 找根因。504 和 500 在 Google 眼裡同屬 5xx,對待方式一致:暫時放慢、稍後重試、持續不修才移除。
處理 5xx 還有個判斷順序:先看是只發生在單一頁面,還是整站都掛。單一頁面多半是程式層級的 bug,整站層級則指向伺服器或資料庫,後者優先級最高,因為它連帶影響所有頁面的可爬性。想在 5xx 出現時及早發現,Search Console 的「網頁索引」報表會標出伺服器錯誤(5xx),定期看一眼就能掌握狀況,嚴重時 Google 還會主動寄信通知。
用 Search Console 診斷狀態碼問題
知道每個狀態碼的影響之後,下一步是找出自己網站到底有哪些問題。Search Console 是免費又權威的工具,重點是你得知道去哪個報表看。

第一步,確認某個網址到底回了什麼碼。別只靠眼睛看頁面長什麼樣,因為 soft 404 在瀏覽器裡跟正常頁面沒兩樣。到 Search Console 的「網址審查」輸入網址,點「測試實際網址」做即時測試,跑完再到「查看檢測網頁」的「更多資訊」分頁,就能看到 Googlebot 當下真正收到的 HTTP 狀態碼。這一步能避免你把一個其實回 200 的 soft 404,誤當成普通 404 處理。
第二步,看全站的狀態碼問題分布。到「網頁索引」報表,你會看到幾個關鍵分類:soft 404、伺服器錯誤(5xx)、已封鎖的網址(因 403 或 robots.txt)。每個分類點進去,都會列出受影響的網址清單和數量。老實說,定期每週掃一次這個報表,比任何第三方工具都來得準,因為這就是 Google 自己告訴你的問題。
第三步,修完之後驗證。不管是修好 403 的防火牆規則、把 soft 404 改回真 404、還是解決 5xx 的根因,修完都回 Search Console 請求重新檢索或驗證修復。Google 不會在你修好的瞬間就知道,你得主動告訴它「再來一次」。
修復優先序:哪些立刻處理、哪些不用慌
手上一堆狀態碼問題不知從哪下手,就照這個優先序來。我的判斷是:先處理正在主動傷害索引品質的問題,再處理斷了連結價值的問題,至於那些其實不用管的,放著就好。

| 優先級 | 問題類型 | 為什麼排這裡 | 動作 |
|---|---|---|---|
| 第一優先 | soft 404 | 主動被判品質問題,浪費爬蟲預算,通常不索引 | 改回真 404,停止批量 301 到首頁 |
| 第二優先 | 重要頁面回 403 | Googlebot 被擋等於直接斷了索引來源 | 排查 WAF/CDN 規則,修完請求重新檢索 |
| 第三優先 | 有外部連結指向的 404 | 浪費得來不易的連結價值 | 有對應新頁就 301,沒有就讓它回 404 |
| 第四優先 | 持續性 5xx | 長期不修會被移出索引 | 查 error log 找根因,修完請求重新檢索 |
| 不用處理 | 沒人連、本來就要刪的 404/410 | 不影響排名,Google 會自然移除 | 不動作,讓它回 404 即可 |
很多人會擔心「爬蟲預算」被 404 吃光。Google 的說法很直接:爬蟲預算這件事,主要影響的是網址量級在百萬以上的大站,一般網站根本不必鑽研這套。你不是那種規模,就不用自己嚇自己。實務上每週定期看一次 Search Console 的「網頁索引」報表就夠了,不必天天盯著。真正會讓排名受損的,是長期沒人理的 soft 404 和持續 5xx;那幾個合理的 404,反而不必操心。
狀態碼也影響 AI 搜尋的能見度
到這裡講的都是 Google,但狀態碼的影響範圍不只傳統搜尋引擎。GPTBot、ClaudeBot、PerplexityBot 這類 AI 爬蟲,本質上也是 HTTP 客戶端,它們對狀態碼的反應跟 Googlebot 邏輯一致:你回 403,它們進不來;你回 5xx,它們會重試;你回 200 但內容是空的,它們拿到的是垃圾。

這意味著,如果你正在關注 AEO(讓 AI 系統正確引用你的內容),狀態碼是同一套地基。伺服器對 AI 爬蟲回 403,不只 Google 抓不到,ChatGPT、Perplexity 也抓不到,你的內容就不會出現在它們生成的回答裡。修好狀態碼問題,等於一次照顧傳統搜尋和 AI 搜尋兩條通路。
不過這類成果會因網站主題和 AI 系統而浮動,我不敢給你一個保證的引用次數。方向是對的:讓所有爬蟲都拿得到正確內容,是 AI 能見度的前提條件。
常見問題
404 頁面會拖累網站其他頁面的排名嗎?
不會。Google 官方多次說明,網站上出現 404 本身不會傷害其他頁面的排名,也不會被當成品質上的負信號,已索引的 404 頁面只會被逐步移除。真正該在意的是 soft 404 和連向 404 的斷鏈,前者是品質問題,後者是浪費連結價值。

soft 404 跟 404 哪裡不一樣?
404 是伺服器老實回報「這頁不存在」,對 SEO 基本無害。soft 404 是伺服器回了 200,內容卻是空的或無關,Google 會主動判定為品質問題,通常不索引還會浪費爬蟲預算。一個是正常現象,一個是真正要修的問題。
301 和 302 哪個對 SEO 比較好?
沒有誰一定比較好,取決於你的情況。頁面永久搬遷用 301,Google 會把索引和連結訊號轉到新網址。暫時性搬遷用 302,Google 保留原網址索引。Google 現在有能力判讀兩者的實際意圖,但最穩的做法是依實際情況選對狀態碼,而不是一律用同一個。
500 錯誤多久修好才不傷 SEO?
短暫的 500 不必緊張,Google 會放慢抓取、稍後重試,已索引頁面會先保留。會出事的是持續不修的錯誤,Google 最終會把那個網址從索引移除,但官方沒有給明確的天數。重點是別讓它掛著不動,修完回 Search Console 請求重新檢索。
410 跟 404 差在哪?
對 Google 來說,處理上沒有實質差別。410 的語意是「永久移除」,比 404 的「找不到」更明確,但 Google 抓取和索引的對待方式是一樣的。頁面確定不再需要,回哪一個都可以。
維護網站時該回什麼狀態碼?
回 503 Service Unavailable。503 告訴所有爬蟲「暫時休息,晚點再來」,它們會暫停抓取、保留索引。配上 Retry-After 標頭說明預計恢復時間,效果更好。千萬別關掉伺服器,更別回一個 200 的維護頁,後者會讓 Google 以為你的正常內容就是那張維護公告。
狀態碼不會直接決定你的排名,但它決定了 Google 和 AI 爬蟲能不能正常讀到你的內容。先把 soft 404 清乾淨、把 403 的防火牆解開、讓持續 5xx 不要拖過週,你的網站在搜尋引擎和 AI 系統面前就會健康很多。現在就花十分鐘到 Search Console 的「網頁索引」報表掃一輪,看看 soft 404 和伺服器錯誤那兩欄有沒有東西。有,就照上面的優先序修;沒有,那恭喜你,地基是穩的。
