雖然 WordPress更換主機且保留網域(俗稱:搬家)的工具五花八門,很多照著無腦操作就完事了,但壞處是無法了解網站目錄和資料庫的建立,對於非WordPress網站也不一定通用。所以我這想教學想採用cPanel為主要工具,手動WordPress搬家,萬一不幸碰到網站掛掉,也能夠善用備份讓網站恢復運作。
什麼是 cPanel?
cPanel 主要用於 Linux 系統的虛擬主機環境,常見於使用共享主機或 VPS ,是一個圖形化的網頁主機管理控制台,即便你沒有很熟悉指令,也能方便地管理網站、資料庫、檔案等虛擬主機資源,而多數虛擬主機商都提供 cPanel 或類似工具,非常值得學習。
一、網站備份
搬家前準備,先將網站目錄和資料庫備份起來,如果平日做了備份,請跳過這個步驟。
找到你的主機商的cPanel進入按鈕,不同主機商的畫面會不一樣。
▼圖 打開cPanel管理界面(以 A2 Hosting為例)

▼圖 cPanel畫面長這樣

▼圖 找到【備份】

圖中的【主目錄】就是Linux的家目錄,通常你在這個主機的資料在裡面,還有【資料庫】是WordPress的依賴資源請一併下載。
▼圖 按圖下載【主目錄】及【資料庫】

順道提網站備份,有事沒事請去備份「主目錄」和「資料庫」,這樣無論你是碰到玩WordPress外掛有問題、更新出包、被駭客篡改,若是給衰碰到 SugarHosts虛擬主機直接跑路,網站還能換一個虛擬主機商浴火重生。
二、註冊網站
再來去找你的網站新家,中文圈裡比較火的GoDaddy、戰國策,碰到問題有中文客服;還有常見的Bluehost、Hostinger,我之前用過的A2 Hosting和我的新家Fastcomet[1]。
▼圖 Fastcomet 方案展示頁面

▼圖 選擇你的網域

▼圖 輸入方案

*通常一次買3年比較划算
▼圖 輸入信用卡資料用於付帳

三、搬家
第三章分為2小節,分別對應搬家 WordPess 的2個部分【檔案搬家】和【資料庫搬家】,都要搬去新網站才能正常運作。
3-1 檔案搬運
找到新家主機的 cPanel,以Fastcomet示範。
▼圖 打開cPanel

*可能要在輸入一次密碼
▼圖 找到【檔案管理員】

▼圖 於使用者的家目錄建一個資料夾,等等用於檔案解壓縮。

▼圖 跟下圖操作,在剛剛建的資料夾內點選【上傳】,上傳完成後,點選該檔案,按【解壓縮】。

有帶【.】開頭的為隱藏檔案、目錄,打開顯示隱藏檔案,確保接下來的操作可以選取的到。
▼圖 勾選【顯示隱藏檔案】

▼圖 將所有解壓縮後的檔案全部複製到/public_html

*public_html是用於網站運作的目錄。
3-2 資料庫搬運
因為資料庫需要【資料庫名稱】、【使用者】、【密碼】3個參數才能運作,去備份檔案裡面 -> /public_html目錄 -> 找到 wp-config.php,照下圖己記下3個字串,接下來會用到。
▼圖 請記下'DB_NAME'、'DB_USER'、'DB_PASSWORD' 後面的字串

▼圖 回到 cPanel 點 Manage My Database

▼圖 輸入【資料庫名稱】就是剛剛記下的'DB_NAME'

▼圖 再來輸入剛剛記下的【使用者】'DB_USER'和【密碼】'DB_PASSWORD',並將其【新增使用者到資料庫】

▼圖 賦予資料庫使用者權限,勾選【所有權限】->【執行變更】

▼圖 再回到 cPanel 點 phpMy 管理

▼圖 要匯入資料庫了, 點選【你的資料庫名稱】-> 匯入(頁籤) -> 選擇檔案 -> 匯入(按鈕)

到這裡資料庫的部分就完成了。
四、驗證網站結構
雖然WordPress【檔案】和【資料庫】都已經搬運完成,但謹慎起見,建議變更【網域】指向新主機前先用cPanel工具檢查一下,確保我們的WordPress搬家成功,網站可以正常運作。
當然,若你有絕對的把握,或是認為網站短時間掛點不影響事業,也可跳過此章節。
▼圖 到 cPanel 點 WordPress Management

▼圖 如果你看到都是綠勾勾✅,代表搬家成功

▼圖 再來看這預覽頁面,如果沒什麼報錯,代表搬家成功

*如果出現了任何錯誤,可能要檢查【檔案】是否有缺,【資料庫】帳密是否有誤,以及【資料庫】有沒有匯入、新增使用者…等等,嘗試排除後將家目錄底下的.wp-toolkit-identifier(這是隱藏檔)刪除,再掃描一次。
五、網域指向與SSL憑證申請
接下來要做網域解析指向,由原本的舊主機商指向新主機商。
找到你新的主機商給的兩組 Name Server 將它記錄下來。
▼圖 範例Fastcomet 的 Name Server

回到你的網域名稱提供商,我們要自定義 DNS;找到 Name Server -> Custom DNS -> 填下上述兩組 Name Server
▼圖 以NameCheap 為例

*修改DNS後不會馬上生效,讓你可以連去新家網站,網域名稱記錄需要在全球多個區域的DNS 伺服器清單進行比對廣播,全球傳播可能需要 48 小時,但經我在實測結果,大概不到2小時就可上新家,可以用 DNS Checker 檢查廣播進度。
等連上新家後,還有最後一件事要做【申請SSL】
▼圖 回到 cPanel ,找到【安全性】,點 SSL/TLS

▼圖 來到 SSL/TLS Status,點下 Run AutoSSL

如果看到全都綠色的鎖就告一段落,網站搬家的任務算是完成了~
參考資料
[1] 如何把 WordPress 網站搬家到新主機(保留原來的網域)?
[2] Fastcomet 五年親身使用評價 | 2023仍是我第一推薦的WordPress Hosting嗎?
[3] Fastcomet 主機教學:便宜+速度優良的高 CP 值主機!
[4] How to Install an SSL Certificate via cPanel
[5] DNS Checker


