我做 SEO 超過二十年,看過太多網站在改網址這件事上摔跤。有的是換系統、有的是併網域、有的只是想把一堆亂七八糟的舊路徑整理乾淨,結果動工後第三週流量掉了四成,客戶打電話來問是不是被 Google 懲罰了。多數時候不是懲罰,是搬家的過程沒有把「舊網址的權重」好好接到新網址上。這篇我把換網址不掉排名的準備、對應清單、要閃開的重導陷阱,以及搬完後怎麼盯 GSC,一次講清楚。

1. 我決定動網址之前,會先逼自己回答的三件事

換網址是一種高風險動作,收益不見得比風險大。我通常會先把「為什麼要改」講到自己都被說服,才會排時程。以下三個判斷,能幫你把不必要的遷移擋在門外。

1.1 這次改動,是結構問題還是心理問題

很多人想改網址,其實是覺得舊網址「看起來不夠漂亮」。但 Google 排名看的是內容與連結訊號,不是網址好不好看。如果你的舊路徑只是英文有底線、或帶了一段無意義參數,卻仍然穩定被索引、有排名,那動它的效益很低、風險卻很高。真正值得改的是結構性問題:例如同一篇內容有三四個網址在互相稀釋、階層深到首頁點五次才到得了、或整個網域要從子網域搬到主網域。這種情況不改,問題會一直複利。

1.2 我能不能把「一對一」關係畫出來

換網址最怕的是舊新之間對不上。動工前我會要求自己先做一件事:把每一個有流量或有排名的舊網址,畫一條線連到一個明確的新網址。如果有舊網址找不到對應的新頁,代表內容規劃還沒想清楚,這時候不該急著搬。搬家的成敗,八成在這張對應表畫得完不完整,而不是在轉址指令下得漂不漂亮。

1.3 我留了多少緩衝時間給 Google 反應

搬網址不是當天上線就結束。Google 需要時間重新抓取、重新評估標準網址、把舊網址的訊號轉移過去,這個過程依網站規模不同,可能是數週到一兩個月。我經手過一家工業儲存品牌的多語系網域整併,光是等搜尋引擎把舊語系路徑的權重收攏到新結構,就花了將近六週才穩定。所以我不會把遷移排在旺季前一週,也不會排在團隊要放長假之前,因為搬完之後的監控期,比搬家本身更需要人盯著。

2. 遷移前該備齊的清單,比動工當天更關鍵

我帶專案的習慣是把八成力氣放在前置準備。動工當天如果還在臨時找資料,通常就是災難的開始。這一段是我實際會列進交付清單的東西。

2.1 先把全站舊網址抓成一份可核對的名單

動工前我會用爬蟲把全站抓一次,再搭配 GSC 的頁面報告與伺服器記錄,湊出一份「目前真的存在、且真的有人在用」的網址清單。這一步的重點不是求多,是求真。很多網站有一堆歷史殘留路徑,例如帶 index.php 的舊結構、大小寫混用的重複網址、或早就沒在維護的參數頁。我看過一個案例,同一則新聞在四種網址下都能打開:帶斜線、不帶斜線、帶 index.php、還有一個舊語系前綴,四個網址在 GSC 裡互相競爭標準網址。這種在遷移前就該先辨識出來,決定哪一個留、其餘全部收斂。

2.2 標出「有價值」與「可以放生」的頁面

不是每個舊網址都值得被搬。我會把清單分成三類:有排名或有自然流量的頁面(一定要一對一轉址)、沒流量但有外部連結指入的頁面(也要轉,因為連結權重要接)、以及既沒流量也沒連結的頁面(可以直接回傳 404 或 410,不必勉強找對應)。Google 官方的原則也是這樣:頁面若已不存在、也沒有替代內容,回傳 404 或 410 是正常做法;只有真的搬家或有明確替代頁時,才該用 301 永久轉址。硬把沒對應關係的舊頁全部轉到首頁,反而會製造一堆軟性 404,稀釋掉搬家的效果。

2.3 把 canonical、sitemap、內部連結一起排進工項

轉址只是搬家的一半。新頁上線後,每一頁都要有指向自己的 canonical,不能還殘留指向舊網址的標準網址標籤,否則等於自己告訴 Google「請去看那個已經被我轉走的舊網址」。同時 sitemap.xml 要換成全新網址、附上 lastmod、狀態碼維持 200,並重新提交到 GSC。全站內部連結也要一次改成直接指向新網址,不能讓內部連結還在指舊網址,再靠轉址繞一圈,那會憑空製造一整層重導。下面這張表是我實際的交付檢核。

準備項目 上線前狀態 常見疏漏
舊網址完整清單 爬蟲+GSC+伺服器記錄三方比對完成 只用爬蟲,漏掉沒被連到但仍被索引的孤島頁
301 一對一對應表 每個有價值舊網址都有唯一新網址 多個舊頁全部指向首頁
canonical 標籤 新頁自我指向 沿用舊模板,仍指向舊網址
sitemap.xml 換新網址、狀態 200、重新提交 忘了更新,仍列舊網址
內部連結 全站直指新網址 連結仍指舊址,靠轉址繞一層

3. 一張 301 對應表,決定你搬家後掉不掉排名

301 是永久轉址,作用是把舊網址的訊號盡量交棒給新網址,同時把使用者與搜尋引擎帶到正確的地方。這一段講我怎麼寫這些規則,以及怎麼避免寫出會反咬自己的規則。

3.1 用 301 而不是 302,除非你真的只是暫時

301 告訴搜尋引擎「這個網址永久搬走了,請把它記成新的」;302 是「暫時挪一下,舊的還會回來」。搬家用的是 301。我看過有人整站用 302,結果 Google 一直把舊網址當標準網址,新網址遲遲拿不到權重,排名卡在半空中。除非你是活動頁這種真的會回來的暫時性挪移,否則遷移一律用 301。下面是幾種常見伺服器的寫法範例。

# Apache .htaccess 單頁對應
RewriteEngine On
RewriteRule ^old-services/aircon-install/?$ /services/aircon-install/ [R=301,L]

# Apache 整段目錄搬移(保留後段路徑)
RewriteRule ^blog/(.*)$ /articles/$1 [R=301,L]

# Nginx 單頁對應
location = /old-services/aircon-install {
    return 301 /services/aircon-install/;
}

# 強制 https 與 www 收斂(避免同內容多網址)
server {
    server_name example.com;
    return 301 https://www.example.com$request_uri;
}

3.2 把「規則型」和「逐筆型」分開處理

對應表通常有兩種。一種是規則型:整個目錄照同樣邏輯搬,例如 /blog/ 全部搬到 /articles/,後段保留,一條規則搞定。另一種是逐筆型:舊網址跟新網址沒有規律,必須一行一行對。我的做法是先用規則型把能批次處理的搬掉,剩下對不上的再逐筆列出來。這樣清單短、好維護,也比較不會寫出互相打架的規則。逐筆清單我會維護成一張表,方便驗收與日後查核。

舊網址 新網址 轉址類型 處理方式
/blog/aircon-guide /articles/aircon-guide 301 規則型(目錄批次)
/product/558 /services/aircon-install 301 逐筆對應
/index.php/tw/news/A /news/A 301 收斂重複網址
/old-promo-2019 (無替代內容) 410 直接下架,不轉址

3.3 上線前先在測試環境跑一遍規則

對應表寫完不要直接推正式站。我一定會在測試環境或用工具批次打一遍,確認每條舊網址回應的是 301、而且最終落點就是預期的新網址、狀態碼是 200。這一步能抓出兩種致命錯誤:一是規則順序寫錯,讓某些網址被前面的規則先攔截;二是新網址本身其實是 404,等於把使用者從一個死頁送到另一個死頁。花半天做這件事,能省掉上線後兩週的救火。

4. 重導鏈與循環:排名在半路被吃掉的地方

轉址規則越堆越多,最容易出的問題就是「鏈」跟「圈」。這是我在遷移後追流量異常時,最常挖到的根因。

4.1 重導鏈:每多繞一站,就漏掉一點權重

重導鏈是指 A 轉到 B、B 又轉到 C。使用者最後是到得了 C,但搜尋引擎每多繞一站,抓取效率就低一點,權重傳遞也會折損。這種情況常發生在網站搬過不只一次:第一次搬家留下的舊規則沒清掉,第二次搬家又疊上新規則,於是舊網址先被轉到上一代的新址,再被轉到這一代的新址。我的原則是永遠讓舊網址「一步到位」直接指向最終網址,把中間那些歷史規則攤平。每次做新遷移,我都會回頭把上一輪的鏈打斷、改成直達。

4.2 重導循環:整頁打不開的隱形殺手

循環比鏈更糟:A 轉到 B、B 又轉回 A,瀏覽器會直接顯示錯誤,頁面根本打不開。最常見的成因是 http 與 https、www 與非 www 的收斂規則互相打架,例如一條規則把非 www 轉成 www,另一條又把 https 轉回 http,兩條一夾就成了無限迴圈。收斂網域時,我會確保所有規則都指向同一個最終型態(例如一律 https + www),而且只保留一組收斂規則,不讓重複邏輯散在不同設定檔裡。

4.3 用工具定期掃,別靠肉眼

鏈跟圈用眼睛看設定檔很難抓全,我習慣用爬蟲工具定期掃全站的回應狀態,把凡是「301 之後又接 301」的路徑全部列出來,逐條攤平。遷移後第一個月我至少掃兩次,之後每季一次,因為網站只要持續改版,新的鏈就會不知不覺又長出來。這是維護,不是一次性工程。

5. 搬完網址,我盯 GSC 的四週節奏

上線只是開始。搬家後的四到六週,是排名會不會平穩接軌的關鍵期。我有一套固定的觀察節奏。

5.1 第一週:確認 Google 有看到新網址

上線後我第一件事是把新的 sitemap 提交到 GSC,然後用網址檢查工具抽驗幾個重要新頁,確認它們可被索引、抓到的內容完整。同時盯「頁面索引」報告裡的 404 與伺服器錯誤數字,如果 404 突然爆量,通常代表有一批舊網址沒被轉址接住,要立刻補進對應表。這一週我看的是「有沒有漏接」,不是排名。

5.2 第二到四週:看排名與流量的轉移曲線

搬家後短期內排名有小幅波動很正常,Google 需要時間重新評估。我會在 GSC 的成效報告裡,用「頁面」維度分別看舊網址與新網址的曝光、點擊曲線:健康的搬家應該看到舊網址的曝光逐步下降、新網址逐步接上,兩條線像交棒一樣交叉。如果新網址遲遲不上來、舊網址也沒退場,多半是 canonical 或轉址哪裡出了問題,要回頭查。我幫那家工業儲存品牌看轉移曲線時,就是靠這個交叉點確認整併有沒有真的生效。

5.3 別在監控期同時改別的東西

搬家後的監控期,我會盡量不動其他變數。如果這時候又順手改了標題、又調了內容、又換了模板,等排名波動時你根本分不清是搬家造成的、還是別的改動造成的。把變數控制住,資料才讀得懂。我通常會請團隊在遷移後至少一個月內,把非必要的改版先壓著,等曲線穩定、確認搬家成功,再回到正常的優化節奏。

6. 常見問題

6.1 改網址一定會掉排名嗎

不一定。如果每個有價值的舊網址都有一對一的 301 對應、canonical 正確、內部連結與 sitemap 都同步更新,多數網站在數週內就能把排名平穩接過去,波動通常是暫時的。真正會掉排名的,往往是對應沒做全、或製造了重導鏈與循環,讓權重在半路漏掉。

6.2 301 的權重多久會轉移到新網址

沒有固定天數,取決於網站規模與 Google 的重新抓取速度,小站可能一兩週、大站可能一兩個月。我的觀察是,只要轉址與 canonical 都正確,你會在 GSC 看到舊網址曝光下降、新網址曝光上升的交叉曲線,那就是權重正在轉移的訊號。

6.3 舊網址的 301 要保留多久

建議至少保留一年以上,能長期保留更好。搜尋引擎需要時間把訊號完全轉移,外部網站與書籤也還會用舊網址進來。太早把 301 拿掉,等於把還沒轉完的權重和既有外部連結一起丟掉。這些規則佔的資源很小,沒必要急著清。

6.4 沒有替代內容的舊頁,要 301 到首頁還是回傳 404

如果找不到主題相符的替代頁,回傳 404 或 410 才是正確做法。硬轉到首頁會被 Google 視為軟性 404,既幫不到排名,還會讓使用者到了一個跟他預期無關的頁面。只有真的有對應替代內容時,才用 301。

6.5 換網址和換網域的做法一樣嗎

原理相同,都是靠 301 一對一把舊接到新,但換整個網域時我會多做一件事:在 GSC 使用網站搬家工具通知 Google 網域已變更,並確認新舊網域的驗證都完成。網域搬遷牽涉的頁數通常更大,前置的對應清單和監控期也要拉得更長。

6.6 遷移後發現流量掉了,我第一步該查什麼

先查三件事:新網址是不是可被索引(用 GSC 網址檢查工具看)、是不是有一批舊網址回傳 404 沒被轉址接住(看頁面索引報告)、以及有沒有出現重導鏈或循環(用爬蟲掃回應狀態)。這三個是搬家後流量下滑最常見的根因,先排除它們,再談其他優化。