搬 WordPress 的教學大多長這樣:匯出資料庫、上傳檔案、匯入、改設定,完成。
如果真的這麼簡單,就不會有人搬到一半放棄了。這篇不重複那三個步驟,只講實際會卡住的六件事。
30 秒總覽
| 項目 | 內容 |
|---|---|
| 最容易出事的一步 | 資料庫舊網址不能用字串取代 |
| 最惡劣的失敗 | 表單信寄不出去,但前台看起來正常 |
| 要提前處理 | 清資料庫、解除外掛授權、調低 DNS TTL |
| 切換後立刻測 | 表單寄信、轉址規則、金流回呼 |
| 舊主機何時退 | 至少留一到兩週 |
一、資料庫比你以為的大很多
很多人第一次匯出就發現:一個只有 50 篇文章的網站,資料庫居然好幾百 MB。
膨脹通常來自三個地方——文章修訂版本(每按一次儲存就多一筆,寫十次的文章就有十份)、過期的 transient(外掛的暫存資料,很多外掛只寫不清)、以及 wp_options 裡累積的孤兒設定(外掛刪掉了,設定還留著)。
搬家前先清一輪,匯出檔會小很多,匯入也快很多。這件事在舊主機上做,不要搬過去再清。
二、外掛授權多半綁網域
付費外掛與佈景主題的授權通常綁定網域或安裝次數。搬到新環境之後,它們會安靜地停止接收更新——**不會跳錯誤,只是不再更新了**,你要幾個月後才會發現自己跑在舊版上。
搬家前先到每一個付費外掛的帳號後台,把舊站的授權解除綁定。這件事沒有人會提醒你。
三、資料庫裡的舊網址不能用取代硬幹
這是最常出事的一項。
網站內容裡到處都是絕對路徑——圖片網址、內部連結、外掛設定。搬家後網域變了,這些全部要更新。
但不能直接用 SQL 做字串取代。WordPress 有大量設定是以序列化(serialize)格式存的,那個格式在字串前面記了長度。你把 old.com 換成 newsite.com,長度數字沒跟著改,整段資料就壞了——通常表現為某個外掛的設定全部消失,而且看不出原因。
要用能處理序列化資料的搬家工具或 WP-CLI 的取代指令,不要自己開資料庫做尋找取代。
四、信會寄不出去
共享主機通常允許用 PHP 內建的 mail() 直接寄信,所以你的聯絡表單一直都能用。
搬到容器化的託管環境之後,這條路多半是關的——原因是防濫發,不是功能缺失。結果就是:網站看起來一切正常,但表單送出後沒有人收到信。
這個問題最惡劣的地方在於前台沒有任何異狀,訪客也以為送出去了。搬完之後第一件該測的就是這個。解法是裝一個 SMTP 外掛,接自己的信箱服務或第三方寄信服務。
五、.htaccess 不一定通用
共享主機幾乎都是 Apache,規則寫在 .htaccess。如果目標環境用的是別的 Web 伺服器(RoamerHost 用 OpenLiteSpeed),大部分規則相容,但不是全部。
特別要檢查你自己加過的:轉址規則、防盜連、IP 封鎖、快取標頭。這些如果失效不會報錯,只是不再生效——舊網址的轉址斷掉,SEO 就開始掉。
六、DNS 切換有空窗期
切 DNS 不是瞬間的。舊的解析結果會在各地的 DNS 快取裡留一段時間,這段期間有些人看到新站,有些人看到舊站。
如果這段期間有人在舊站上留言、下單或填表,那些資料會留在舊站,而你已經匯出過了。
兩個做法可以縮小傷害:切換前先把網域的 TTL 調低(例如降到 300 秒),等舊值過期後再切;以及選在流量最低的時段切,通常是深夜。
另外——舊主機不要馬上退掉。至少留一到兩週,確認沒有東西漏掉。這筆錢是保險費。
一個檢查順序
| 時間點 | 要做的事 |
|---|---|
| 搬家前一週 | 清資料庫、解除付費外掛授權綁定、把 DNS TTL 調低 |
| 搬家當天 | 用能處理序列化資料的工具搬、在新站用 hosts 檔先測過再切 DNS |
| 切換後立刻 | 測表單寄信、測轉址規則、測金流回呼 |
| 切換後兩週 | 確認舊站沒有新資料,才退租 |
什麼情況下不值得搬
要誠實:如果你的站是純內容型、流量不大、共享主機也沒讓你出過事,那搬家的風險可能大於好處。
值得搬的訊號比較具體——網站在特定時段莫名變慢(鄰居效應)、客服解決不了你的問題、或者你開始在站上做生意而停機變得有代價。沒有這些訊號的話,把時間花在內容上比較划算。
常見問題
Q:為什麼不能用 SQL 直接取代網址?
WordPress 有大量設定是以序列化格式存的,那個格式在字串前面記了長度。你把舊網址換成新的,長度數字沒跟著改,整段資料就壞了——通常表現為某個外掛的設定全部消失,而且看不出原因。要用能處理序列化的搬家工具或 WP-CLI。
Q:搬完網站正常,但表單沒收到信?
這是最常見也最惡劣的一種。共享主機多半允許用 PHP 內建的寄信函式,容器化環境為了防濫發通常關閉。前台完全沒有異狀,訪客也以為送出去了。裝一個 SMTP 外掛接自己的信箱服務就好,但一定要主動測。
Q:DNS 切換要多久?
不是瞬間的。舊的解析結果會在各地快取一段時間,這期間有些人看到新站、有些人看到舊站。切換前先把 TTL 調低(例如 300 秒),等舊值過期再切,並選在流量最低的時段。
Q:舊主機可以馬上退掉嗎?
不要。至少留一到兩週,確認沒有東西漏掉——DNS 空窗期如果有人在舊站留言或下單,那些資料你已經匯出過了。這筆錢是保險費。
Q:什麼情況不值得搬?
純內容型、流量不大、共享主機也沒讓你出過事的話,搬家的風險大於好處。值得搬的訊號是:特定時段莫名變慢(鄰居效應)、客服解決不了你的問題、或你開始在站上做生意而停機有代價。
資料來源與延伸連結
WordPress 生態的規格與最佳做法以官方文件為準:
- WordPress 官方使用文件
- WordPress 開發者文件——外掛與佈景主題的技術規格
延伸閱讀
- WordPress 自架 vs 託管:把維護時間算進去的成本表
- 全託管 WordPress 的邊界:哪些事你不能做
- WordPress 綁定自訂網域:DNS 設定與 SSL 憑證
- WordPress 主機常見問題:外掛、PHP 設定與疑難排解
- 用 AI 做網站完整指南 2026:工具怎麼選、步驟、費用、做完誰來顧
- RoamerHost WordPress 託管方案
想找人幫你做?
需求做到外掛做不到的程度時,就需要有人動到程式碼。浪花科技承接 WordPress 高階開發: