WordPress 網站搬家 – 從 Cloudways 搬家到 ServerAvatar
在自架站的旅程中,我們會因為許多原因想要將 WordPress 網站從現在的託管商轉移、搬遷到其他主機託管商或是改為使用伺服器控制面板自行託管。
網站搬家的過程可能很花時間、很複雜、有些困難,讓人不想面對。
為了讓大家能夠輕鬆地面對網站搬家這件事,在這篇文章中,我們跟大家分享:
- WordPress 網站搬家的幾大原因
- 網站搬家步驟
- 網站搬家前置準備
- 如何將 WordPress 網站從 Cloudways 搬家到 ServerAvatar 的八大步驟
按照這個教學,小型網站也能在 30 分鐘之內順利的搬遷到新的主機託管商或伺服器控制面板!
WordPress 網站搬家的幾大原因
為什麼會想要把網站搬到其他託管商,或是使用伺服器控制面板自行託管呢?以下是最常見的原因。
想要獲得更好的效能
不時我們都會在社群討論中看到某些託管商的使用者出來抱怨 WordPress 網站後台卡死,完全無法進行設定,或是訪客造訪網站時發現頁面載入卡頓,無法提供良好的使用者體驗。
轉換到能夠提供更好主機硬體、架構、功能的主機提供商、託管商,就能提升網站的效能與穩定性。
主機託管費用
偶爾也會在社群討論中看到有使用者詢問託管商的特價期間結束,續約的費用三級跳,亦或是託管商的服務費用提高,詢問是否有價格更優惠的選擇。
不少使用者也會因為成本考量而選擇將網站搬到其他託管商或是使用伺服器控制面板自行託管。
缺乏功能
一分錢一分貨,從前可能為了成本選擇的方案提供的功能較少,現在業務擴大需要能夠提供更多彈性與功能的主機託管商。例如:更多儲存空間、頻寬、安全防護功能、快取功能等。
客服支援
遇到問題無人聞問,這大概是新手站長們最害怕的事了。
願意為「客服支援」付出多少費用,這對不同的站長而言答案都是不一樣的。
主機服務商的改變
主機服務商面臨組織變革、收購了其他公司,都有可能為了組織成本結構的改變而更動服務方案的費率與範圍。而這些變化可能對你的網站、預算會造成負面影響。
網站搬家步驟
那麼,要將 WordPress 網站搬家到其他託管商、伺服器控制面板容易嗎?
以下我們整理了一般網站搬家的建議步驟,通常適用於手工搬家或是透過 SSH、WP-CLI 等方式進行網站搬家。而這些步驟或多或少涉及的技術知識較高,對一般站長來說也較難上手。
當然也可以使用一些 WordPress 網站搬家外掛,但一般的搬家外掛多少還是會有失敗的可能性,而操作過程中也是需要具備較多的網站後台知識。
從國外社群的討論中,我們得知了 Migrate Guru 網站搬家外掛,可以簡單的透過「搬家金鑰」、無須紀錄新、舊網站的帳號密碼,就能夠輕鬆地將 WordPress 網站搬到其他主機託管商或是伺服器控制面板,相當方便。
一般網站搬家建議步驟
- 備份網站
- 選擇新的主機服務商
- 建立預備環境
- 導出 WordPress 網站
- 導入 WordPress 網站
- 測試 WordPress 網站
- 更新 DNS 設定
- 設定 SSL
使用 Migrate Guru 網站搬家外掛步驟
- 在 ServerAvatar 建立預備環境
- 安裝 Migrate Guru 網站搬家外掛
- 在預備環境中取得金鑰
- 原網站進行網站搬家
- 登入並測試新網站
- 更新 DNS 設定
- 設定 SSL
使用 Migrate Guru 網站搬家前置準備
為了避免主機、網站的安全防護功能阻擋網站搬家,在開始搬家之前,我們需要停用相關的安全防護功能。
- 停用網站的 2FA 設定
- 停用額外的安全性設定,例如:
- Cloudways 的 Bot Protection
- Site Grounds 的 Security Optimizer
- 移除託管商安裝的外掛
- 停用 Wordfence 或其他安全性外掛
一切準備就緒之後,我們就開始進行 WordPress 網站搬家吧!
步驟一:在 ServerAvatar 建立預備環境
首先,我們需要先在 ServerAvatar 帳號中建立好網站搬家的「目的地」或「預備 (Staging)」網站。
可以參考我們之前的文章在 ServerAvatar 中先將主機與 WordPress 網站建立好。
參考文章 – 「ServerAvatar – 10 分鐘完成 DigitalOcean 主機佈署、安裝 WordPress 網站」。
步驟二:安裝 Migrate Guru 網站搬家外掛
接著,我們需要在 Cloudways 的原網站以及 ServerAvatar 的預備網站都安裝好 Migrate Guru 外掛。
安裝並啟用外掛
在 WordPress 後台外掛 > 安裝外掛搜尋 Migrate Guru。
點擊「立即安裝」並「啟用」外掛。
使用 Migrate Guru 外掛進行網站搬家相當方便,只需要在預備網站中取得搬家金鑰,並在原網站中輸入金鑰就能直接進行站對站的複製。
步驟三:在預備網站中取得金鑰
Migrate Guru 外掛啟用之後,我們到剛剛在 ServerAvatar 中建立的預備網站,從 WordPress 後台管理頁面找到 Migrate Guru。
按下 Copy Key 按鈕將金鑰複製保存下來。
步驟四:原網站進行網站搬家
停用安全性外掛
如同前置準備中所說的,為了避免網站的安全防護功能阻擋網站搬家,我們先將 Cloudways 上原網站中安裝的 Bot Protection (MalCare) 外掛停用。
如果你有安裝 Wordfence、All in One Security 等安全防護外掛,記得要先停用。(搬完之後別忘了重新啟用)
開始搬家
接著,從 WordPress 後台管理頁面找到 Migrate Guru。
- 輸入電子郵件
Migrate Guru 會在搬家開始與搬家完成時,寄送電子郵件通知。 - 勾選確認同意相關條款
完成以上操作之後,按下 Migrate 按鈕就會開始搬家手續了。
選擇目標主機託管商、控制面板
接下來要選擇網站要轉移的目標主機託管地,市面上的主機託管商、伺服器控制面板品牌都可以透過 Migrate Guru 進行網站搬家。
沒有列在畫面上的我們就點選 Other Hosts。
在原網站輸入金鑰
在 Other Hosts 頁面中,可以看到 FTP 搬家的選項,雖然使用這方法不需要在預備網站上安裝 Migrate Guru 外掛,但因為這需要使用原網站與預備網站的帳密資訊較為麻煩,所以我們採用的方式只需要有搬家金鑰就能夠快速進行網站搬家了。
在 MigrateGuru Migration Key 欄位中輸入步驟三中儲存的金鑰,然後按下 Migrate 按鈕開始搬家。
網站搬家開始
視網站的大小而定,小型網站 10~15 分鐘就能完成網站搬家 (複製);1GB 左右的網站則需要約 30~60 分鐘的時間。
搬家完成
Migrate Guru 的運作機制與其他網站複製、搬家外掛不同,不需要下載網站的備份檔案,透過搬家金鑰,Migrate Guru 就可以認得要進行搬家的原網站與目的網站,而檔案的複製與轉移都是直接在雲端站對站進行。
看到以下畫面,就表示搬家完成了!
同時也會收到電子郵件,通知網站搬家已經完成。
注意事項
建議可以將預備網站的 SSL 先設定好,透過 https 進行資料傳輸較為安全且傳輸速度穩定。
如果原網站已經一段時間沒維護,請先確認佈景主題、外掛都更新到最新版,並且運作正常之後再進行網站搬家。
如果是以未維護的狀態進行搬家,預備網站在搬家完成之後有可能會無法登入 (遭遇重大錯誤訊息),這時候可以到 wp-content 下的 plugins 目錄將目錄名稱修改為 plugins-temp,接著進入 WordPress 後台的外掛頁面「https://domain.com/wp-admin/plugins.php」,系統在找不到外掛時會自動將所有外掛停用。
之後就可以正常登入網站了,先將 plugins 目錄名稱改回來,後續再一一調整網站內容、外掛設定,更新外掛版本。
步驟五:登入並測試新網站
這樣我們就把 Cloudways 的網站複製、搬遷到使用 ServerAvatar 自行管理的主機上了,因為是整個網站檔案、資料庫的全面複製,所以要使用跟原網站一模一樣的帳號與密碼登入預備網站。
可以到 Cloudways My Applications 原網站的 Access Details 頁面查看管理員的帳號與密碼,使用這一組帳密登入預備網站。
一般來說,如果搬家的網站平常都有定時維護且運作正常,搬到新的主機上幾乎都可以直接正常運作。
如果是年久失修的網站,就需要多花點心思重新測試網站的功能了。
步驟六:更新 DNS 設定
網站功能、內容都測試沒問題之後,可以決定一個良辰吉日將原網站的網域名稱指定給預備網站使用。我們需要將網站的 Domain 重新指定到新主機的 IP 位址。
在這個步驟中,首先要到你的 Domain 網域註冊商的管理頁面中,選擇 DNS 管理。並將原本 DNS 中 A record 的 IP 位址從舊主機的 IP 改為新主機的 IP。
修改設定之後,靜待一段時間等候 Domain 與 IP 位址的對應資訊同步到全球。可以利用 whatsmydns 網站進行確認。
完成後就能看到網站的 IP 位址已經是新主機的 IP 位址了。
步驟七:設定 SSL 與其他網站管理
設定 SSL
接著,就是將網站的 SSL 安全加密設定好,並檢視相關的網站設定是否需要調整即可。
可以參考「ServerAvatar – 10 分鐘完成 DigitalOcean 主機佈署、安裝 WordPress 網站」文章的管理網站章節。
檢查網站連結是否更新
到目前為止,網站的網址應該如預期的應該為 https://domain.com 了,但是每個人架設網站的方式不同,安裝的外掛總類也有很大的差異,部分外掛可能沒有完整的同步到更新的正式網址,所以我們再多做一些檢查。
- 到 WordPress 後台設定 > 一般,查看「WordPress 位址 (網址)」、「網站位址 (網址)」是否已經從預備網站 (Staging Site) 網址更新為正式網址、網址中的傳輸通訊協定是否為 https,如果還沒就手工改為正式網址。
- 到設定 > 永久連結,再次點擊「儲存設定」按鈕,可以修正常見的文章、頁面的 404 錯誤問題。
- 安裝更新網站網址 (URLs) 外掛,如 Better Search Replace,可以檢查資料庫表格中的網站連結是否已經從預備網站 (Staging Site) 網址更新為正式網址。如果沒有,可以執行更新、替代網址。
注意:因為會修改到資料庫的紀錄,記得先進行備份唷!
最後,別忘了將原網站的網域名稱改回 Cloudways 提供的暫時網域名稱 (如果還要使用),這樣後續就還能使用暫時網域名稱繼續維護、瀏覽舊網站。
新網站一段時間運作正常之後,就可以把 Cloudways 上的舊網站移除掉囉,可以釋放出主機資源讓其他網站使用。
步驟八:其他設定
跟著以上七個步驟我們很快就把 Cloudways 上好幾個 WordPress 網站都搬家轉移到使用 ServerAvatar 伺服器控制面板自行管理的主機上,也宣告我們自架站的旅程往下一個階段邁進。
在取得更多自主權的過程中我們當然也得要承擔更多的責任,脫離 Cloudways 主機託管服務所需面臨的第一件事就是:
針對 Cloudways 提供的功能,我們需要找到適合的替代方案!
而這一般也是大家選擇 Cloudways 的主要原因了,因為在其託管服務方案中已經包含了許多安全防護、網站效能提升、網站自動備份、客服服務等相當實用的功能,端看大家是否覺得需要託管商提供這些功能服務。
而實際上 ServerAvatar 在這幾年的發展下功能相對成熟,對於不排斥學習自行管理主機的站長來說,ServerAvatar 可以提供更多的選擇、彈性與自由度。
使用 ServerAvatar 伺服器控制面板管理主機,在安全防護方面我們可以自行設定更細緻的防火牆規則、Fail2Ban 阻擋未經授權的存取。
網站備份可以使用 ServerAvatar 控制面板上的立即備份、排程備份功能,可以定期對網站進行備份,也可以在需要測試或改版時快速即時備份網站,備份檔案更可以儲存在自己的雲端空間上。
那麼,我們就來聊聊網站的快取 (Caching)。
安裝物件快取
Cloudways 的使用者應該都有發現,主機上預設安裝了 Redis,而 Cloudways 上架設的 WordPress 網站也都預設安裝了 Redis Object Cache 的進階版外掛 Object Cache Pro。
在 ServerAvatar 上也安裝了 Redis 服務,我們同樣也可以啟用 Redis Cache 功能,只需要參考這篇文章中的教學步驟即可:
教學文章 – 「ServerAvatar 教學 – 如何在 WordPress 網站上安裝、設定 Redis Object Cache」。
Nginx 快取設定 (各種快取外掛皆適用)
完成了物件快取設定之後,頁面快取的選擇就多了,大家可以使用自己熟悉的網站最佳化、快取外掛。
因為我們有 Clearfy Pro 外掛的 LTD 終生授權方案,接下來的說明我們以 Clearfy 為例。
從 WordPress 後台管理頁面的設定中找到 Clearfy,在效能選單下的快取完成相關設定之後,Clearfy 會提醒頁面快取雖然可以透過外掛的設定達成,但是如果直接將 Nginx 規則放到主機的設定檔中,可以有最好的效能表現,直接透過網站伺服器處理,無須再呼叫 WordPress 或執行 PHP 指令。
我們按下 NGINX configuration 按鈕。
Clearfy 會提供符合剛剛快取設定的 Nginx 設定規則內容,接著我們把設定檔放到主機上。
在 ServerAvatar 控制面板中,進入這個網站 Application 的管理頁面,從選單中點選 File Manager 功能。
建立 .conf 檔案
在檔案管理員頁面,直接在網站目錄下的 /conf/nginx/ 目錄中創建設定檔,副檔名為 .conf,主檔名可自由決定。
編輯 .conf 檔案
點擊進入 .conf 設定檔的編輯頁面,將剛剛 Clearfy 提供的 Nginx 設定規則複製貼上,完成後點擊 Save Changes 按鈕儲存檔案。
重啟 Nginx 服務
回到網站所屬的主機管理頁面,從選單中點選 Services 功能。
從正在執行的服務清單中找到 Nginx,點擊最右邊的 Restart 圖示重啟服務。
這樣就完成設定囉。
注意事項
- 如果你使用的是其他外取快掛,同樣可以參考以上步驟,以 Swift Performance 的快取設定來說,這個設定檔可以在外掛頁面下的 Integration > NGINX 中找到。
- 在設定時要注意各家外取外掛提供的 Nginx 設定規則內容是否會發生衝突,如果發生衝突 Nginx 可能會重啟失敗,主機網頁伺服器停止時所有網站也會無法存取。
這個時候把 .conf 檔移除再次重啟 Nginx 服務即可,需要排除錯誤找到發生衝突的規則,必要的時候聯絡快取外掛的客服處理。
結語
跟著上面的步驟,我們完成了從 Cloudways 到 ServerAvatar 的 WordPress 網站搬家,使用 Migrate Guru 搬家外掛之後,整個網站搬家的流程變得簡單很多了。
希望透過這個教學文章能讓大家更熟悉 WordPress 網站搬家的細節。
如果有什麼心得、想法或建議,也歡迎大家加入社團一起討論唷!