多數人想到換主機,擔心的都是技術面——資料搬不搬得動、網站中間會不會掛掉。真正讓人措手不及的,其實是時間。自己想換主機,時程完全由自己排,慢慢測試、慢慢切換都沒關係;但如果收到的是一封服務即將終止的通知信,情況就完全不同,你手上握有的緩衝期不是自己訂的,舊主機的後台隨時可能打不開,連原本想不緊不慢核對的網域、DNS、Email 設定,都得在很短的時間內一次盤點清楚。
這就是被迫搬家跟主動優化搬家最根本的差別:主動搬家在乎的是新方案快不快、貴不貴;被迫搬家在乎的是時間夠不夠、東西找不找得到、切換的那一刻會不會斷線。WordPress 換主機本身的技術步驟其實不難,真正決定搬家順不順利的,反而是搬家開始之前的準備工作,以及切換當下每一個容易被忘記的細節。
搞懂被迫搬家跟主動搬家的落差在哪裡,才知道為什麼盤點帳號權限這件事,得排在找新主機之前做。

迫使網站搬家的三種外部情況
如果是自己主動想換主機,時間表完全掌握在自己手上,現在的方案速度不夠快,慢慢比較、挑好時間點,一步一步搬也不會有太大風險。但被迫搬家完全是另一回事,外力先給了一個期限,選擇權早就不在自己手上,能不能順利銜接上,取決於你在期限內做對了多少事。這篇後面談到的時程安排、切換順序、驗證清單,全部都是為了因應這種時間壓力大、容錯空間小的情境。
被迫搬家常見的成因大致可以分成三種類型,情況不同,能爭取到的緩衝期也不一樣。
國外主機商片面停止對台服務
第一種是主機商本身仍在正常營運,只是基於法規遵循、市場策略或風險考量,片面對特定地區的既有客戶發出停止服務的通知,台灣的客戶剛好落在被停止服務的名單裡。這類情況通常還算溫和,主機商會給一段緩衝期讓客戶把資料搬走,問題只在於這段緩衝期夠不夠長、通知有沒有被當成廣告信忽略掉。
因為主機商本身還在運作,這種情境下最需要注意的反而是心態上的鬆懈。收到通知的當下,網站看起來完全正常,很容易先擱著,等真的快到期限才動手,結果把原本充裕的緩衝期硬生生壓縮成最後幾天的手忙腳亂。
主機商停業、被併購或服務被迫終止
第二種比第一種更急迫,主機商是真的經營不下去、被其他公司併購後整併掉舊產品線,或者因為其他原因被迫停業。這種情況下,資訊往來通常更零散、緩衝期也可能更短,甚至會出現後台隨時可能打不開的風險,客服信箱沒人回、控制台功能一個個失效,能不能順利把檔案跟資料庫匯出來,某種程度上要跟時間賽跑。
跟第一種相比,這種情境更需要優先處理備份。與其花時間去確認什麼時候會完全關站,不如先假設隨時可能斷線,把能備份的先備份起來,再回頭處理搬家的其他步驟。
原方案停售或續約條件大幅惡化
第三種比較特別,主機商本身沒有停業,只是把讀者原本使用的那個方案下架停售,或是把續約規則整個改掉,例如舊方案不再開放續約,只能被迫升級到條件明顯變差的新方案。跟前兩種不同的地方在於,理論上讀者還能繼續用一陣子,不是立刻斷線的緊急狀況,但長期看下去,不划算或風險升高的問題遲早要面對,因此多半會決定趁早搬家。
這種情境最容易讓人猶豫不決,因為沒有明確的關站日逼著你動作,反而容易一拖再拖。實務上比較穩妥的做法,是把它當成跟前兩種一樣的被迫情境來準備,先盤點好、先排時程,真正決定搬家的那天,才不會又是從零開始。
先盤點網域、DNS、檔案與 Email 四項,再談新主機
收到期限通知後,最容易犯的錯是馬上去找新主機、開始搬檔案,卻沒先確認手上握有哪些帳號的登入權。WordPress 換主機真正的難處,往往不是技術操作本身,而是這個設定要去哪裡改都還沒搞清楚就急著動手。
搬家的第一步不是動手搬,是先把網域、DNS、網站檔案與資料庫、Email 這四塊資產各自掌握在誰手上盤點清楚。這四項缺一塊,都可能讓後面的步驟卡死,例如發現要改 DNS,卻登不進網域註冊帳號;或是網站都搬好了,才想起客戶的信件還卡在舊信箱裡收不到。
主機商兼任網域註冊機構會讓轉移流程多跑一關
很多人以為網域跟主機是同一件事,其實網域註冊(registrar)跟主機代管(hosting)在制度上是兩種分開的服務,只是不少人當初圖方便,在同一家業者一次買齊。如果讀者的網域註冊機構,正好就是即將停業或片面停止服務的那家主機商,問題就不只是換主機這麼單純,還得把網域本身轉出到另一家註冊機構,多一道手續、多一段等待期。反過來說,如果網域原本就註冊在另一家、跟主機無關,這一整段轉移程序都可以整個跳過,只需要改 DNS 設定就好,速度快非常多。這也是被迫搬家跟一般優化搬家最容易搞混、也最該優先確認清楚的分界點。
國際頂級網域(像是 .com、.net)的轉移機制由 ICANN 訂定規則,要把網域從一個 ICANN 認證的註冊機構轉到另一個,需要一組授權碼(Auth-Code,也叫 Authorization Code、AuthInfo Code、EPP Code、transfer code),這組密碼由目前的註冊機構產生,用來確認轉移確實是網域持有人本人發起的。如果註冊機構後台沒有讓使用者自行產生這組密碼,就必須直接聯絡註冊機構索取;ICANN 規定,註冊機構有義務在使用者提出請求後的 5 個日曆天內提供這組密碼。註冊機構在幾種情況下可以合法拒絕轉出,包括:有詐欺跡象、對申請人身分有合理爭議、網域因欠費或信用卡拒付而被停權、持有人書面明確反對、網域處於鎖定狀態(但註冊機構必須提供可行的解鎖管道)、距離初次註冊不滿 60 天,或距離上一次轉移不滿 60 天。另外有幾種情況註冊機構必須拒絕轉出、沒有裁量空間:網域正捲入網域爭議程序、有法院命令,或網域正處於改過持有人資料後的 60 天變更鎖定期內。網域過期本身不能成為拒絕轉移的理由,但如果網域已經進入刪除前的贖回寬限期,得先請原註冊機構復原,可能還要另外支付贖回費用才能轉移。不確定目前的註冊機構是誰,可以透過 ICANN 提供的網域查詢工具查一次 WHOIS 資料,看 Registrar 欄位是哪一家。
台灣的 .tw 網域則由財團法人台灣網路資訊中心(TWNIC)擔任註冊管理機構,實際受理註冊與移轉作業的是底下各家受理註冊機構。要把 .tw 網域從原受理註冊機構轉出,一樣得先向原機構申請網域轉出設定、取得等同 Auth-Code 的移轉密碼,邏輯跟國際機制平行,系統上也提供取消轉出功能,讓原註冊人能在轉移正式完成前自行中止,避免非本人發起的轉移得逞。
名稱伺服器掛在舊主機底下會讓網域解析跟著斷線
另一個容易被忽略、但在被迫搬家情境下風險特別高的細節,是網域的名稱伺服器(Name Server,簡稱 NS)設定。如果 NS 指向的是舊主機商自己的 DNS,一旦舊主機真的關站或服務中止,連 DNS 解析本身都會跟著失效,不只是網站打不開,而是整個網域從外部看起來就像消失了,因為連該去哪裡查這個網域對應到哪個 IP 這件事都問不到人。這比檔案沒備份完更急迫,因為它會讓後面所有補救動作都失去著力點。網站就算早就搬到新主機,只要 NS 還指著已經斷線的舊主機,外界照樣連不進來。
判斷方式並不困難,先確認自己的 NS 目前設定成什麼,如果看到的是類似 ns1.舊主機商網域 這種格式,代表 NS 掛在舊主機底下。這時第一時間該做的,是把 NS 改成不依賴舊主機的 DNS 服務,可以是網域註冊機構自己提供的 DNS,也可以是獨立的第三方 DNS 服務,讓網域先脫離對舊主機的依賴,再從容進行後面的搬家步驟。這個動作理想上要排在整個搬家流程最前面做,而不是等到檔案都搬完才想到 NS 還沒處理。
網站檔案與資料庫的完整備份範圍,不能只信搬家外掛預設值
完整備份實際上要包含哪些東西,很多人只匯出了文章內容,卻漏掉真正會讓網站看起來不一樣、或功能壞掉的部分。至少要涵蓋三塊:整個 wp-content 資料夾(佈景主題、外掛、上傳的媒體檔案)、完整的資料庫匯出,以及 wp-config.php 裡除了資料庫連線資訊之外,自己額外加進去的自訂常數或設定。時間壓力大的時候最容易漏掉的,往往不是資料庫,而是這些散落在設定檔裡的客製內容。
WordPress 官方的遷移文件明講,搬到新伺服器只要資料庫名稱、使用者名稱不變,多半只需要複製檔案與資料庫;但只要資料庫名稱、使用者或密碼有變動,就必須回頭編輯 wp-config.php 裡對應的資料庫連線常數(DB_NAME、DB_USER、DB_PASSWORD、DB_HOST)。文件也提到搬遷後,wp_options 資料表裡除了網站網址(siteurl、home)之外,像上傳路徑這類選項值也可能需要一併檢查更新,這些都不是搬家外掛預設會自動處理的項目,得靠人工核對一遍。
Email 帳號與尚未處理的舊信,是最容易被忘記的一塊
如果讀者的公司信箱也是掛在同一家即將關閉的主機商底下,這件事的急迫性其實不亞於網站本身。網站頂多幾天沒更新,但信箱斷線意味著客戶寄來的信會直接退信或石沉大海,而且往往要等對方回報怎麼都沒收到回信才會被發現,發現的時候通常已經漏接了一段時間的往來。
這裡要先強調,Email 要搬去哪裡跟網站要搬去哪裡是兩件獨立的事,不能因為網站的搬家計畫排好了,就順手假設信箱也會一起跟著處理好。實際動作之前,先確認舊信箱裡有沒有還沒處理完、需要先備份下載的重要往來信件;真正的切換時程,留到後面時間表與技術細節兩節具體展開,這裡先把 Email 要單獨盤點這件事放進清單。
提前排定的時間表,決定切換當下的空窗長短
這節把什麼時候該做什麼按時間先後排出來,核心觀念是,被迫搬家最大的敵人不是技術難度,是太晚才開始動作。DNS 快取需要時間才會在全球更新,如果等到最後一刻才調整設定,就算網站本身早就搬好了,仍然會有一段時間有人連到已經關閉的舊主機。
TTL 至少提前一週調降,讓 DNS 快取先鬆動
TTL(Time to Live)是 DNS 紀錄裡的一個欄位,控制這筆紀錄會被快取多久,也就決定了紀錄更新後,要多久才會傳遞到所有終端使用者手上。Cloudflare 官方文件說明,TTL 越長,查詢速度越快,但更新生效越慢;TTL 越短,更新生效越快。使用 Cloudflare 代理(Proxied)的紀錄,TTL 固定為自動值,等於 300 秒,也就是 5 分鐘,沒辦法自訂;純 DNS、不透過代理的紀錄則可以自訂,範圍最短 30 秒到 60 秒(視方案而定),最長可以設到 1 天。
Google 官方文件針對網址不變、只換主機基礎設施這種情境明白建議,正式搬家前,至少提前一週把 DNS 紀錄的 TTL 調降到保守的低值,例如幾個小時,讓後續正式切換時,新設定能更快在各地網路服務商之間生效。這一步必須提前排進時程表,等到真正要切換那天才想到調降 TTL 就已經太晚,因為舊的、較長的 TTL 快取還沒過期,調降的效果要等它自然到期才會反映出來。

新主機測試完成前不急著把網域指過去
正確的順序是先把新主機環境建好、測試過確認沒問題,再動 DNS,而不是先改 DNS,才在新主機上邊測邊修。後者一旦邊改邊出錯,讀者連到的就是一個還沒準備好的網站。
Google 同一份官方文件建議,搬家前先把內容完整複製或匯入新主機並徹底測試,可以搭配一個暫時的網址,搭配 noindex 規則,讓外部(包括搜尋引擎)不會在正式切換前就把測試站當成正式內容索引;也可以先用 IP 限制的方式,讓測試環境只有自己看得到。測試期間可以用 Search Console 的網址檢查工具,確認 Googlebot 已經能夠正常存取新主機上的內容。
測試環境確認無誤才能正式切換 DNS 指向
什麼時候才算可以真的切換,不是新主機裝好 WordPress 就算完成,而是要實際核對過網站的關鍵功能,不只是首頁看起來正常,還包括表單能不能送出、購物流程等牽涉會員或交易的功能,都在新環境跑得動,才進到下一步改 DNS。
延續同一份 Google 官方文件的流程順序,整個搬遷大致分四步:先準備並測試新主機、接著開始搬家(更新 DNS 設定指向新主機)、然後監控流量、最後確認舊主機流量歸零後才關閉舊主機。切換 DNS 是這四步裡的第二步,前提是第一步的測試已經做完,順序顛倒過來風險就會提高不少。
Email 的 MX 紀錄,跟著網站分開排進時程表
MX 紀錄(決定信件要送到哪台伺服器)跟網站的 A 紀錄是兩組獨立的 DNS 設定,會被個別快取、個別生效,不會因為網站的 DNS 切好了,Email 就自動跟著切過去。這一點很容易被忽略,搬家的心力多半都花在網站上,信箱反而是搬完網站才想到還沒處理。
MX 紀錄跟其他 DNS 紀錄一樣受 TTL 機制影響,如果讀者的信件也架設在同一台即將關閉的主機上,MX 紀錄同樣需要在切換前提前調降 TTL,道理跟前面 TTL 提前調降 那一節完全相同。把 Email 的切換時間明確排進同一張時程表,而不是等網站都搬完才想到信箱還沒處理,是這一節最重要的提醒。
搬遷過程中,四個容易被忽略的技術細節
時程表排對了先後順序,但真正容易出包的,是每個動作裡站在讀者角度看、在時間壓力下最容易漏看的細節。

只靠搬家外掛預設匯出會遺漏伺服器層級的自訂設定
很多搬家工具的預設匯出範圍,只涵蓋 WordPress 資料庫與 wp-content,但自己手動加進 wp-config.php 的自訂常數、或伺服器層級的 .htaccess 自訂轉址規則,不一定會被這類工具自動帶走,需要額外人工核對、手動搬過去。
這件事呼應前面網站檔案與資料庫的完整備份範圍那節提到的內容,WordPress 官方遷移文件明確提醒,.htaccess 裡自己加過的自訂轉址規則,要先另外複製存成一份文字檔備份,換到新環境後再核對、貼回新的 .htaccess,不能假設搬家外掛會原封不動帶走。wp-config.php 裡額外加的自訂常數雖然官方文件沒有專門著墨,但道理相同,同樣不在搬家外掛的預設處理範圍內,一樣得靠自己列清單、逐項核對有沒有補回新環境。
網域註冊機構的登入信箱失效,之後改不了 DNS
網域註冊帳號的密碼救援信箱、雙重驗證裝置這些找回帳號用的管道,也要一併確認還能不能用。如果當初註冊時留的是即將關閉的舊主機商提供的信箱地址,一旦那個信箱先掛掉,之後要改 DNS 卻登不進註冊帳號,會卡在一個比技術問題更難處理的死結。
這裡呼應前面 ICANN 官方說明提到的機制,註冊機構的聯絡資料如果需要更新(例如更換持有人 email),會觸發一次 60 天的變更鎖定期,這段期間內網域無法轉出。提前把救援信箱換成一個長期可控的地址,可以避免搬家當下才發現帳號回不去,還得先熬過鎖定期的窘境。
用資料庫搜尋取代網址時容易誤動 GUID 欄位
把資料庫裡舊網址通通取代成新網址,是很多人搬家時的直覺做法,但如果做得不夠小心,反而會把不該動的欄位一起改壞。WordPress 官方遷移文件明確警告,絕對不要更動 wp_posts 資料表裡的 guid 欄位,GUID 是用來讓 RSS 或 Feed 閱讀器判斷這篇文章之前讀者是不是已經看過的識別碼,一旦被改掉,訂閱者的閱讀器可能會把所有舊文章當成全新內容重新推播一次。
文件同時提醒,直接對整個資料庫做大範圍的網址取代,可能會破壞佈景主題或外掛儲存資料時使用的 PHP 序列化格式,因為序列化字串裡記錄了原始文字的長度,網址一改長度就跟著變,資料就讀不回來。官方建議只對 wp_posts 這張表做取代,其餘部分改用能正確處理序列化資料的方式進行,官方提供的 WP-CLI 指令 search-replace 就是為了處理這個問題而設計,它會正確處理 PHP 序列化資料、不會更動資料表的主鍵值,也支援用參數排除特定欄位,可以用來明確排除 guid 欄位。搬遷完成後,wp_options 資料表裡以 _transient_ 開頭的暫存資料可以整批安全刪除,讓 WordPress 之後自動重新產生,避免這些殘留的暫存值裡還記著舊網址,造成奇怪的顯示問題。
MX 紀錄比網站慢半拍切換,造成退信、漏信
前面提過,Email 的 MX 紀錄要跟著網站分開排進時程表;沒排的話,只顧著切網站的 DNS,卻忘了 MX 紀錄也要跟著調整或提前處理 TTL,就會出現一段時間有些信件送到已經關閉的舊信箱伺服器,直接退信或消失。
這種漏信往往要等對方回報怎麼都沒收到回信才會被發現,比網站打不開更難察覺。網站打不開,自己隨時打開瀏覽器就能發現;信件漏接卻要等客戶主動反映,中間已經耽誤了一段時間。正因為漏信這麼晚才會被發現,MX 紀錄才必須跟網站的 DNS 切換分開排時程、各自提前處理,不能當成同一件事一起等。
切換完成後,用四個檢查點確認網站與 Email 都已到位
搬家不是把 DNS 改完就結束,這節列出切換之後應該實際去核對的幾件事,確認全世界看到的都是新主機,而不是只有自己這邊看起來正常。
多地 DNS 查詢工具能確認全球解析是否一致
切換後不能只靠自己電腦打開網站確認正常,因為不同地區的 DNS 快取更新速度不一樣,自己這邊可能因為快取已經過期,早就看到新主機的內容,但另一個地區的使用者連到的可能還是舊主機。
這時候需要用能查詢多個地區解析結果的公開工具,一次確認各地的 DNS 查詢結果是不是都已經指向新的 IP。如果發現某些地區還沒更新,通常代表那個地區的 DNS 快取還沒過期,只要耐心等它自然到期就會跟著更新,不需要額外動作;真正該提高警覺的,是超過原本設定的 TTL 時間之後,還有地區持續解析到舊 IP。
Search Console 裡的流量走向,看出搬遷進度
要客觀判斷搬家真的完成了沒,而不是憑感覺猜,Google 官方文件建議搬遷期間同時盯著新、舊兩台伺服器各自的存取紀錄,理想的走勢是舊主機的流量逐漸降到零、新主機的流量對應上升。
同時可以在 Search Console 觀察檢索涵蓋率的變化,確認新主機沒有出現異常的檢索錯誤。文件也特別提醒,換主機之後,Googlebot 的檢索速度通常會先出現短暫下滑,接下來幾天內逐步回升,這是正常現象,只要新主機沒有明顯錯誤或速度過慢,就不必太擔心。
寄一封測試信,確認新設定真的能收發
不要只信任 MX 紀錄改好了就代表信箱正常運作,設定看起來對,實際卻收不到信的狀況並不少見,原因可能出在新主機的郵件伺服器設定,或是垃圾信過濾規則。
實際寄一封測試信,並請外部朋友或客戶端也寄一封進來雙向確認,才能真正排除這種設定沒錯、但信收不到的狀況。如果測試信有延遲或退信,趁著還在觀察期及早處理,總比等到客戶反映寄了好幾天都沒回音才發現問題來得從容。
流量真正歸零前不急著關閉舊主機或刪除備份
舊主機的完整備份,不管是檔案還是資料庫,都不要在切換完當下就急著刪除或讓帳號到期。至少要等到新主機流量穩定、確認沒有殘留問題之後,再考慮真正結束舊主機的合約或帳號。
這呼應前面 Google 官方四步驟流程的最後一步,確認舊主機的流量真正歸零、確定所有使用者(含 Googlebot)都已經正常從新主機取得內容之後,才關閉舊主機基礎設施,這才算完成整次搬遷。萬一新環境後來才發現遺漏了什麼,至少還有舊主機的備份可以回頭核對,而不是已經沒有退路。
被迫搬家最讓人措手不及的,從來不是任何一個單一步驟的技術難度,而是這些步驟得在很短的時間內一次到位,還不能有僥倖心態。真的收到停止服務的通知時,與其把心力全部押在趕快找到新主機,不如先花一點時間把網域、DNS、備份、Email 這幾塊資產盤點清楚,知道自己手上握有哪些帳號的登入權、哪些設定改了會立刻生效、哪些改了要等快取過期——搬家的每一步,才不會變成臨時抱佛腳。等到流量真的穩定轉移過去,舊主機的合約與帳號才是最後才該收尾的那一件事,不必急著在切換當下就一次結束。
