如何更換新的虛擬主機?8 個步驟完成 WordPress 搬家

你是否受夠了目前又慢又貴的虛擬主機,但是因為擔心在幫 WordPress 搬家的過程中不小心損壞你的網站而遲遲無法下定決心遷移到另一個更可靠的虛擬主機?想要請專業的 WordPress 服務,一時之間又不知道哪一家公司比較可以信賴?

其實更換 WordPress 網站的虛擬主機一點都不困難,只需要花一些時間準備,任何人都可以自己動手將 WordPress 網站搬遷到另一個虛擬主機。

本篇文章將會與你分享 WordPress 網站遷移到新主機所需要的步驟,但在我們開始之前,你應該要知道其實有許多優質的虛擬主機供應商有提供免費搬家的服務,所以如果你剛剛購買了一個新的虛擬主機方案,你應該先看看他們是否有提供這項服務,當然如果你願意,也歡迎按照下面的教學,自己動手做。

你也可以利用 All-in-One WP Migration 之類的 WordPress 網站一鍵搬家外掛來更換你的主機,使用外掛搬家和本篇手動搬家教學的最大不同是:

  • 外掛搬家需要在新的主機安裝好 WordPress 和同一款搬家外掛程式才可以
  • 免費搬家外掛通常會有檔案大小限制
  • 手動搬家可以確保整個網站百分之百的還原

WordPress 手動搬家總共有 8 個步驟:

  1. 備份你的 WordPress 網站
  2. 匯出 WordPress 的 MySQL 資料庫
  3. 在新的虛擬主機上創建資料庫
  4. 編輯 wp-config.php 檔案
  5. 匯入資料庫
  6. 將 WordPress 檔案上傳到新的虛擬主機
  7. 更換域名和網址
  8. 重新配置 DNS 設定

步驟 1:備份你的 WordPress 網站

不意外的,第一步就是備份你的網站,有很多外掛可以幫助你執行備份,像是「UpdraftPlus」但是我更建議使用 FTP 或是 cPanel 的「File Manager」來執行這個步驟。

你需要將所有在根目錄(public_html)底下的檔案全部下載到你的電腦上,包含.htaccess這種可能會被隱藏起來的檔案。

記得選擇「Show Hidden Files」才能看到隱藏的檔案
記得選擇「Show Hidden Files」才能看到隱藏的檔案
全選之後全部下載下來

下載所需要花費的時間會取決於網站的大小,可能會需要一些時間。在下載的過程中,我們可以繼續開始第二個步驟。

步驟 2:匯出 WordPress 的 MySQL 資料庫

我們需要使用 cPanel 的「phpMyAdmin」來匯出 WordPress 網站的資料庫。

進入 phpMyAdmin 後,從左方的選單中選擇 WordPress 網站的資料庫,如果你只有一個 WordPress 網站應該不會選錯,如果你有多個資料庫的話,可以到wp-config.php檔案中查看DB_NAME來確認資料庫的名稱。

/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name' );

然後選擇「Export」分頁,再按下「GO」按鈕將資料庫給下載下來,就完成資料庫的備份了。

步驟 3:在新的虛擬主機上創建資料庫

在我們開始搬遷到新的虛擬主機之前,我們需要為 WordPress 建立一個新的資料庫,然後將剛剛步驟 2 匯出的 SQL 檔案匯入到新的資料庫裡頭。

建立新的資料庫很簡單,我們同樣使用 cPanel 來示範如何建立新的 MySQL 資料庫。

首先,點擊新的虛擬主機上 cPanel 的「MySQL Database」。

進入後,輸入新的資料庫名稱(或是保持舊的名稱也可以),然後建立新的資料庫。

建立新的資料庫使用者名稱和密碼,並且將新的使用者加入剛剛建立的資料庫。

選擇擁有全部的權限後點擊「Make Change」就完成資料庫的建立了。

你應該記下資料庫名稱、用戶名稱和密碼,我們很快就會需要它們。

步驟 4:編輯 wp-config.php 檔案

正常情況下,步驟 1 的 WordPress 檔案應該都下載完了,請在下載下來的檔案中找出名為wp-config.php的檔案(就是剛剛我們查看DB_NAME的那個檔案)。

我們必須要修改此檔案中有關資料庫的數據,才能讓 WordPress 重新連接上新的資料庫。(你可以下載安裝 Notepad++ 來編輯程式檔案)

找出下列程式碼並且用剛剛建立的新資料庫名稱替換舊的資料庫名稱。

/** The name of the database for WordPress */
define( 'DB_NAME', 'newDatabasrName' );

同樣的,更換用戶名稱和密碼。

/** MySQL database username */
define( 'DB_USER', 'newUser' );

/** MySQL database password */
define( 'DB_PASSWORD', 'newPassword' );

檢查hostname的值是否為localhost。(DB_HOST的值可能並不總是localhost,根據主機供應商的不同,它也許也會有所不同,但是大部分的主機商像是,HostGator、BlueHost、SiteGround 都是採用localhost。)

/** MySQL hostname */
define( 'DB_HOST', 'localhost' );

完畢後,請檢查沒有任何拼寫上的錯誤後儲存並關閉wp-config.php檔案。

步驟 5:匯入資料庫

在新的虛擬主機上的 cPanel 啟動 phpMyAdmin,從左側列表中選擇新的數據庫,選擇「Import」頁面然後選擇之前備份下載的 SQL 檔案。

接下來,取消勾選「Partial import」能確保匯入過程中有問題發生的時候系統會通知我們並且不會自行完成匯入。

匯入所需的時間取決於資料庫的大小,在完成匯入之後,你會收到成功匯入的通知。

步驟 6:將 WordPress 檔案上傳到新的虛擬主機

你已經準備好新的資料庫,並且重新修改了wp-config.php檔案,現在是時候開始上傳 WordPress 的檔案到新的主機上了。

你可以使用 FTP 連接到新的虛擬主機或是使用新主機上的 cPanel 將檔案上傳到public_html文件夾(根目錄)底下,就像在舊的主機一樣。

上傳完成後,建議你保留 WordPress 檔案的備份在你的電腦上,直到你確定新的網站可以正常運行為止。

步驟 7:更換域名和網址

如果你打算繼續使用舊的域名,那你可以跳過此步驟。

如果你打算在更換虛擬主機時一起更換 WordPress 網站的域名,你可以參照下面方法:

進入新主機的 phpMyAdmin,選擇剛剛建立好的新資料庫,點擊「SQL」頁面,然後執行以下指令(記得替換資料庫的前綴值wp_和網址

UPDATE wp_options SET option_value = replace(option_value, 'https://www.oldurl', 'https://www.newurl') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'https://www.oldurl','https://www.newurl');
UPDATE wp_posts SET post_content = replace(post_content, 'https://www.oldurl', 'https://www.newurl');
UPDATE wp_postmeta SET meta_value = replace(meta_value,'https://www.oldurl','https://www.newurl');

這些 4 個 SQL 指令會將舊的域名和網址替換成新的。

步驟 8:重新配置 DNS 設定

最後一個步驟是在你購買或是管理域名的地方,用新的虛擬主機的名稱伺服器(Name Server)替代舊的。

如下圖,在 GoDaddy 的 DNS 設置中,使用 SiteGround 的名稱伺服器。

DNS 的更改最多有可能需要 48 小時才能完全變更,但是通常遠少於這個時間就能完成,在 DNS 完成變更之後,新的主機和網站應該就能正常運行了。

最後再分享幾個完成後需要留意的地方

  • 注意舊網站在瀏覽器、CDN 或是 Local 伺服器留下來的快取,在這些快取消失之前,你很有可能會看不到新網站的變動。
  • 檢查 WordPress 檔案權限,所有檔案權限應該要是 644,資料夾權限是 755。
  • 保留網站備份直到確定新主機的一切運作正常。
  • 如果搬家之後有遇到任何問題請不要猶豫直接聯絡新的虛擬主機供應商,它們一定會很樂意協助新客戶解決遷移網站的問題。

結論

更換 WordPress 的虛擬主機並沒有想像中的困難,虛擬主機的好壞會有很大的程度影響 WordPress 的效能表現,如果真的不喜歡現在的虛擬主機供應商就趁早換了吧。

延伸閱讀:Kinsta 主機推薦:詳細評價、比較和教學

如果你喜歡這篇文章,請記得用電子郵件訂閱本網站,有新文章發佈時,我會在第一時間通知你,也別忘了到我的粉絲專頁幫我按個讚喔。

如果你對本篇文章有任何問題,歡迎你在下方留言,我會盡快回覆你。

精選文章:

Last Updated on:

Subscribe.

讓最新文章的通知直接送達你的郵件信箱

學習更多有關 WordPress 的技巧以及佈景主題和外掛的最新折扣優惠通知

在〈如何更換新的虛擬主機?8 個步驟完成 WordPress 搬家〉中有 7 則留言

  1. 大大您好:
    我是架站新手,目前的狀況是剛購買Godady的虛擬主機,已經將按照文章操作步驟資料更新完成,,不過在刷新wordpress後台的時候還是跳出:建立資料庫連線發生錯誤 /home/ihntonli/domains/ihnt.online/public_html/wp-content/plugins/query-monitor/wp-content/db.php ,發現問題似乎出在路徑的地方,想請問讀取資料的路徑似乎參雜舊的主機資料路徑,關於這部分我該從哪裡修改? 我的正確讀取資料應該長 /home/現在主機id/public_html/wp-content/plugins/query-monitor/wp-content/db.php

    1. 可以檢查一下 wp-config.php 當中
      是不是有舊的 database 名稱沒有被修改到
      或是聯絡新的主機商 他們應該可以幫助到你

  2. 大大您好,

    我是重新在siteground購買網域及主機。依照您教學的方式將原本網站的資料庫匯入及修改網址。
    將原本的wordpress資料以FTP上傳完畢,不過輸入網址開啟網頁後出現下列的字樣
    Your PHP installation appears to be missing the MySQL extension which is required by WordPress.
    不知道是有哪個環節出錯,或是有什麼沒安裝到?

    謝謝您。

  3. 請問大大
    上面提到換網址時要(記得替換資料庫的前綴值wp_和網址)
    要把那一段換成前綴值wp_和網址呢

    1. “wp_options”、”wp_posts”、”wp_postmeta” 當中的 “wp_”,有時候會長得不一樣,像是”wpo9_”,所以要替換成新伺服器的前綴。
      ‘https://www.oldurl’ = 舊網址
      ‘https://www.newurl’ = 新網址

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *