
搞錯重定向碼,代價是舊網址累積的排名訊號帶不過去。截至 2026 年 11 月,Google 的 Gary Illyes 同 Cherry Prommawin 在一次對談中講清楚了這件事:301 永久重定向會把舊網址的排名訊號轉到新網址,302 臨時重定向不會。想守住 seo排名 的人,改網址之前要知道自己揀的是哪一種。下面按「先決定意圖、再揀狀態碼、最後驗證」三步講,每一步都配一個可以查的機制。
Illyes 與 Prommawin 的討論由一個前提開始:無論站方用邊種重定向,頁面都仍然會被 Google 索引,也會成為 AI 訓練資料的一部分。Prommawin 的說法是,技術上有正確的選擇,但揀錯了不是世界末日,Google 仍然會收錄頁面,只是要決定邊個網址出現在搜尋結果。
真正的分野在之後。Googlebot 本身對 301 同 302 的分別沒有反應,兩者都把用戶帶到新頁面。會計入排名與 canonical 決定的,是索引流程怎樣解讀這個狀態碼,而不是爬蟲會唔會跟住跳轉。這件事對規劃時間表很實際:爬蟲行為是幾分鐘到幾日,索引層的改寫是幾星期到幾個月。
兩個碼的分別講的是意圖。301 告訴爬蟲網址變動是永久的,搜尋索引應該用新網址取代舊網址。302 告訴爬蟲網址變動是暫時的,舊網址日後會恢復。
實際判斷只有一個問題:這個頁面半年之後仍然會在新網址,還是會搬返去?
| 情況 | 意圖 | 建議狀態碼 | 舊網址的訊號 |
|---|---|---|---|
| 換域名、合併兩個網站、改 URL 結構 | 永久 | 301 或 308 | 轉到新網址 |
| 頁面改版但舊版會回來 | 暫時 | 302 或 307 | 留在舊網址 |
| 產品季節性下架,日後再上架 | 暫時 | 302 或 307 | 留在舊網址 |
| 付款伺服器故障,暫轉備用頁面 | 暫時 | 307 | 留在舊網址 |
用 301 處理季節性頁面,等於告訴 Google 舊地址永遠不會回來,日後再上架就要重新建立索引與訊號。用 302 處理真正的遷移,新網址就基本被忽略,站方花幾個月做的新架構收不到舊頁的累積。兩邊都是同一件事:狀態碼寫錯,之後要再改一次,時間與流量成本都要重付。用錯狀態碼造成的 seo 排名 損失,通常要兩三個月後才會在個別查詢詞上浮現,那時舊網址的訊號已經斷開。

308 是 301 的現代版本,307 是 302 的現代版本。日常由 GET 讀取的頁面,改用 308 或 307 與 301、302 的效果一樣。分別出現在有表單提交的流程。
用 302 重定向一個正在提交 POST 資料的請求,資料會遺失。用 307,瀏覽器會保留資料,維持 POST 請求,把同一份資料轉去新地址。Illyes 舉的例子是結賬時主付款伺服器過載,系統把請求轉去備用伺服器:用 307,用戶仍然完成交易;用 302,信用卡與送貨資料要在重新載入的頁面上再填一次。
香港的電商與預約類網站,改動付款或表單網址時要先查這一段,再查 SEO 那一段。兩件事用的是同一個狀態碼,伺服器端改一個 header 就同時處理了。
Google 處理相似頁面的流程叫 deduplication:先把主內容相近的頁面聚類,再在每一組裡揀一個代表網址,這一步叫 canonicalization。Illyes 形容這是「真正的戰場」。
Prommawin 指出,301 同 302 都會影響相似頁面的聚類,但只有 301 有 canonicalization 的效果。這是兩個碼最容易被混淆的地方。以為兩個網址落在同一組就等於合併完成,做 seo 排名 的人經常在這裡出錯:其實只是被看見是同一件事,代表哪一個還未決定。用 302,Google 知道這兩個網址可能講同一件事,但不會把新網址定為代表,舊網址繼續是索引裡的那一個。
這裡也解釋了一個流傳很久的說法。內容蠶食(content cannibalization)是 2000 年代初為了說明頁面為何不被收錄而出現的概念,它假設相似頁面會互相分薄訊號。Google 實際的做法是聚類,然後把訊號集中到被選中的那一個網址。頁面不被收錄,通常要另找原因,例如內容單薄或缺乏獨特性。想深入理解這種技術判斷,可以看 Google SEO 的運作方式。處理完 canonical 之後,下一步通常是把新網址的內容接回原本的搜尋意圖,這部分可參考 SEO 內容製作。
Google 的文件把重定向方法按「被正確解讀的機會」排序,伺服器端的 HTTP 重定向排最高,meta refresh 次之,JavaScript 只在前兩者都做不到時才用。
伺服器端重定向是一句即時的指令,要處理 seo 排名 的技術問題,先從這裡開始最省事。JavaScript 與 meta refresh 要瀏覽器先下載頁面、解析程式碼、等腳本執行,然後才跳轉,中間任何一步失敗,重定向就不會發生。用 JavaScript 做的跳轉,如果 Googlebot 渲染頁面時出錯,Google 可能從來看不到那個跳轉。這是三個方法裡唯一會令整個重定向失效的做法,等於新舊網址同時存在,而 Google 揀了舊的那一個。
meta refresh 有一個容易漏掉的細節。0 秒的即時版本,Google 當作永久重定向;超過 0 秒的延遲版本,Google 當作臨時重定向。站方以為自己寫了一個過渡頁,Google 讀到的可能是「這個網址已經搬定」。

改動之後要知道訊號有沒有保住,靠的是同一個口徑的前後比較,不是改完之後睇一次排名。想穩定監察 seo排名 的變化,基準數據要在上線前一周就固定好,之後每星期用同一組條件重跑一次。
第 4 點最容易出事。遷移期間通常同時改了標題、改了內鏈、加了一批新內容,如果只看總體排名升跌,沒法分辨是哪一項起作用,下次也就沒法重複。要把這幾筆分開記錄,最少要有四星期的基準數據;沒有基準,任何結論都只是猜。
Topkee 的 SEO 站內審計把頁面重定向與網站遷移列作兩個獨立的檢查項,檢查範圍同時覆蓋網站結構、標題與元描述、網站速度、網站地圖、Robots.txt 可用性,檢查完會提出具體改進建議與行動計劃。重定向在這裡屬於「技術審計、出建議、執行修改、複檢」流程內的其中一項工作,並非獨立發售的模組。
Topkee 在重定向相關工作上做的具體動作有幾項:找出並修復 4xx 與 5xx 壞鏈,處理 HTTPS 問題;為錯誤頁面提供重定向建議,並把指向失效地址的內鏈改到有效目標;之後更新網站地圖,確認 Robots.txt 沒有遮住重要頁面,再重新抓取與重新索引標題及元資料。技術 SEO 方面則按網站架構優化,擴大 Google 爬蟲的索引範圍。
需要講明界線的地方:Topkee 的知識庫對 canonical 的處理方式沒有任何記載,301 與 302 的選擇、重定向鏈與循環、canonical 與分頁或多語言頁的組合,都不在現有服務說明之內。這些應該在報價單之前逐項問清楚,也可以一併對照 SEO 成效保證條款 的寫法,看清楚哪些屬於承諾、哪些屬於工作範圍。
驗證方式同樣有界線。Topkee 的報告包含關鍵詞排名變化、頁面表現與索引狀態,週期可以按日、週、月設定。報告頁面明示樣例是模擬資料,不是真實客戶成果,也不以同期變化證明因果。所以要判斷重定向有沒有保住訊號,要看的是同一批查詢詞在固定條件下的前後對比,而非報告上的單一數字。

要換掉一個做得久、有自然流量的網址,建議按這個次序做,每一步都有交付物。
揀 seo 優化公司 時,可以把這五步拿去問對方:映射表由誰出、舊網址保留幾耐、會不會檢查重定向鏈、上線之後怎樣做前後對比。答不到具體做法的,這部分工作大概率會落在你的團隊身上。
新網址仍然可能被索引,但 Google 主要把舊網址留在搜尋結果,排名訊號不會轉過去。如果這是一個永久的變動,用 302 等於把新頁面放在一個收不到舊頁累積的位置。
對於一般由 GET 讀取、沒有表單提交的頁面,兩者都代表永久搬遷,對搜尋的意義一樣。分別在 POST 資料:308 要求瀏覽器保留方法與資料再轉發,301 在部分舊實作中會改為 GET。結賬與表單流程用 308 較穩。
沒有統一的等待期,要看新網址的收錄速度與改動範圍。可以做的判斷是分開記錄:先確認新網址已收錄、舊網址顯示已轉移,再看同一批查詢詞在固定條件下的排名變化。四星期是一個可以參考的觀察點,但不要把它當成保證。
有可能。Google 會追蹤重定向的來源與目標,其中一個會成為 canonical,另一個會成為它的替代名稱。用戶的查詢顯示他們更信任舊網址時,舊網址仍然可能偶爾出現,隨住用戶習慣新網址,這種情況會逐漸減少。
可以,但舊網址累積的連結與使用訊號不會有任何東西承接,用戶由外部連結進來會見到錯誤頁。如果新頁面已經存在、而且講的是同一件事,用 301 把舊網址指過去,是保留這些累積的做法。