在獨立站的起步階段,為了控製成本,大多數人會把外貿站放在共享主機上——這完全沒問題,Ryan我也是這麼做的。但隨著內容增加、資料庫變大、訪客上漲,網站逐漸變卡,這就是一個明確訊號:該升級主機了。
為選出真正適合外貿網站的方案,我先後用過Hostinger、HostGator、SiteGround(共享主機),以及DigitalOcean、Vultr(非託管VPS)和Cloudways(託管VPS)。
橫向對比的目的,是看實際表現與官方宣傳的差距,最後選擇一個優先解。若依優先排序,在我使用過的這些服務商中,我更推薦DigitalOcean和Cloudways。
共享主機由於其CPU和記憶體都被硬性限額,其效能確實很受限,所以並不建議作為獨立站的長期生產環境。
升級主機離不開網站遷移這一步。託管型主機通常提供清晰的遷移教學與付費(有時免費)代遷服務;非託管主機則需要自己動手,步驟更複雜、配置也更多。
鑑於各家教學口徑不一,我整理了一套通用遷移流程,無論是共享主機、託管VPS,還是非託管VPS,都能按這套步驟完成遷移,最大限度地節省時間。
*在進行網站搬家之前
- 在網站搬家之前,你需要準備合適的升級主機,你也可以看我這篇外貿主機教學來輔助你做出合適的選擇並配置好WordPress初始化網站。
- 做好網站備份,可以用主機服務商提供的快照/備份功能建立一份目前版本的網站備份。
我們使用WordPress搬家外掛程式為網站遷移時,大體步驟如下:
- 在舊主機中將安裝搬家插件,將網站檔案匯出
- *透過非網站網域的方式存取新主機
- 在新主機安裝WordPress和相同的搬家插件,導入網站文件
- 將網域解析從舊主機指向新主機,完成網站遷移
當然有些線上的搬家插件,這裡篇幅有限,就先不展開說。
第一步:使用WordPress搬家外掛程式匯出網站文件
選項一:使用UpdraftPlus外掛(建議)
我們在舊主機中安裝並啟用UpdraftPlus插件後,點選「Backup Now」立即備份。

點擊該按鈕後會跳出一個彈跳窗,詢問我們的備份選項,預設會給我們勾選備份資料庫和網站文件,我們將最後一個勾選起來,代表該備份只能被手動刪除。

再點擊“Backup Now”即可開始備份。
備份完成後,還是在同一個介面,我們可以看到有一個備份記錄:

UpdraftPlus將我們的網站檔案備份分成資料庫、外掛程式、主題以及其他類型的備份,這裡我們點擊對應的按鈕即可將備份下載到本地。
因為我們是在進行網站搬家,所以要將所有的檔案下載下來到本地。
上面這種是免費的網站搬家方式,缺點是需要我們將文件下載到本地然後再上傳到新主機。如果你想省事的話,可以使用Updraft Migrator(也是他們家的產品),可以直接實現遠端雲端WordPress網站搬家,超級省事。
選項二:使用搬家外掛程式All-in-One WP Migration
在舊主機中安裝All-in-One WP Migration and Backup插件,啟動後從WP儀錶板左側標籤進入。

在舊的主機中,透過「All-in-One WP Migration」 –> “Export”–> “FILE”匯出WordPress整站的打包檔。

這個外掛也提供了一些匯出選項,有些不必要的內容,你可以選擇不匯出,透過這個操作可以減少匯出檔案的大小。

打包好以後下載到本地。

第二步:透過臨時網域存取新主機
因為我們的網域還是解析到舊主機上,沒有做DNS更新,所以我們現在只能透過非網域存取的方式來存取我們的新主機,然後在新主機中安裝WordPress和All-in-One WP Migration插件,才能夠完成網站遷移。
我們不同的主機類型有不同的臨時存取方式:
SiteGround主機臨時域名
SiteGround給我們提供了一個臨時網域來存取我們的主機,它的臨時網域格式類似:xxxxx.sg-host.com

透過這種方式我們能夠直接造訪新主機上的WordPress網站,後台登入面板路徑都是一樣的:xxxxx.sg-host.com/wp-login.php
Cloudways主機提供的臨時域名
使用Cloudways給我們提供的臨時網域(wordpress-xxxxxxx-xxxxxxx.cloudwaysapps.com)來存取新主機

寶塔+VPS搭建的網站
如果你是寶塔+VPS搭建的網站,可以使用 IP+連接埠號 來訪問新主機的,等到新主機導入你的網站以後,再進行網域解析,然後把 IP+連接埠號 刪掉。
格式類似:192.xxx.xxx.xxx:90xx ,但是不建議非專業人士使用這種方法來做我們的臨時域名來訪問,有可能會因操作不當而產生各種問題。
修改主機Host文件
很多教學會建議先修改PC 的hosts 文件,把你的網域臨時解析到新主機的IP。這樣只有你這台電腦會把網域指向新主機,其他訪客還是會造訪舊主機;你就能在新主機上看到“白板站”,安裝插件、導入數據,確認無誤後再把域名真正指向新主機,避免用戶看到空白頁。
需要強調的是:這種方式對大陸使用者來說是行不通的,除非的你的主機位置在香港,這樣你才能夠直連目標IP。使用魔法會讓Host檔案失效。
具體的操作方法:
- Windows系統以管理員身分開啟下列路徑的檔案:
C:\Windows\System32\drivers\etc\hosts - 然後在文件末尾加入這一行:203.xx.xx.xxx (替換成你的新主機IP) yourdomain.com www.yourdomain.com,保存
- 按住Win + R鍵調出「運行」窗口,輸入cmd,回車
- 在跳出來的命令列中輸入ipconfig /flushdns 刷新DNS緩存
- 然後用該電腦訪問你的域名,即可訪問新主機,如仍然不行,確保你的電腦能直連新主機IP,且開無痕模式訪問
如果你用這些方法都沒辦法取得到臨時存取新主機的臨時域名,那麼你只能:透過更改DNS記錄,將其指向新主機然後再進行網站存取和資料匯入了。
但使用這種方式的話,在你完成網站搬家之前,使用者造訪你的網域都是會指向新主機的白板網站的,可能會讓使用者產生疑慮。建議在用戶量少的進行網站遷移,如果是新網站就完全不用擔心。
第三步:在新主機安裝相同外掛程式並上傳備份文件
如果我們在第一步驟中使用的什麼搬家插件匯出,那麼我們現在就在新主機安裝相同的插件來完成匯入環節:
如果是使用UpdraftPlus匯出
在新主機安裝UpdraftPlus插件,來到UpdraftPlus的介面,點擊“Upload backup files”,然後選擇上傳我們的UpdraftPlus備份文件,再點擊“Restore”即可還原我們的網站。

然後勾選全部選項,繼續按說明繼續進行下去即可完成網站搬家。

如果是使用All-in-One WP Migration搬家
All-in-One WP Migration免費版對於能夠上傳的網站大小有限制,如果你的網站檔案大於256MB,那麼需要在他們官網額外購買付費的All-in-One WP Migration Unlimited Extension版本($69)進行網站遷移。如果你有需要,你可以聯絡我幫你進行網站搬家。
在新主機中,安裝All-in-One WP Migration Unlimited Extension。

我們會發現最大的檔案上傳限制變成了25GB。這時候就沒有導入限制了。點選IMPORT FROM,選擇FILE。
選擇匯入我們之前在舊主機匯出的wpress檔案。

導入中。

等到進度條變成100%後點選「PROCEED」 即可開始匯入。

導入成功。

現在我們就可以看到我們的網站運行在新的主機上啦,匯入新主機之後的WP後台帳號密碼還是跟你匯入之前的一樣。
第四步:將網域解析從舊主機指向新主機
第三步驟匯入完成後,此時新主機只能透過臨時位址存取。要讓網站真正上線,讓其他使用者能夠造訪我們的新網站,還需要把網域名稱解析到新主機的IP位址。
如果你有在使用Cloudflare CDN管理網域解析,那就直接進入Cloudflare 的後台修改DNS記錄即可。我其實更推薦使用Cloudflare來管理網域解析,原因是我們能夠享受額外的效能優化,開啟CDN 後,可以加快網站在不同地區的存取速度。而且也能獲得Cloudflare提供基礎的防護功能,能減少惡意攻擊和垃圾流量。
如果你沒有使用CDN,那就在網域名稱註冊商後台直接修改DNS 記錄,把A 記錄指向新主機的IP位址即可。不同註冊商介面不一樣,但流程基本上相同:找到網域的DNS管理入口→ 編輯A記錄和CNAME記錄(CNAME 記錄是否需要,取決於你是否希望使用者透過www子網域存取) → 輸入新主機IP → 儲存並等待解析生效。
如果你使用Cloudflare來管理網域解析,那我們在Cloudflare修改兩個DNS記錄:@和www
- @ 代表主域名,如@ 就表示ecomools.com。修改這條A記錄,指向我們的新主機的IP。
- www 代表有www. 字首的網域(如www.ecomools.com)。修改CNAME記錄,指向主域名(也就是ecomools.com)。
這樣設定後,無論使用者造訪ecomools.com 或www.ecomools.com,都能正確跳到我的伺服器和網站內容。像下圖這樣:

我們可以看到這兩張A記錄旁邊都有一朵橘色的雲,寫著「已代理」。表示已經開啟了CDN,Cloudflare會幫忙我們加速保護流量。