技術架構 WordPress

WordPress 從共享主機搬過來:實際會遇到的六件事

搬 WordPress 的教學都在講「匯出、上傳、匯入」三步驟,但真正卡住人的從來不是那三步。這篇列出六個實際會出事的地方,以及每一個該怎麼先處理。

RoamerHost 營運團隊 6 分鐘閱讀
想直接開始?WordPress 主機,60 秒自動部署 主機+網站+AI 三合一,年繳平均每月 NT$999 全包 — 60 秒上線。 立即訂閱 WordPress
本文目錄

搬 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 了嗎

完成訂閱後 60 秒,系統自動幫你裝好 WordPress——獨立容器、資源硬性上限不與他人共用、HTTPS 開箱即用。

年繳・無違約金・隨時可取消續約

嗨,我是小浪!有任何問題都歡迎點我詢問,我來幫你解答。

小浪

小浪 - AI小助手

在線中
小浪

有任何問題都歡迎隨時詢問我,我會盡力為你解答!

Powered by RoamerHost AI