WordPress搬家原理、心得與工具整理

WordPress搬家原理、心得與工具整理

傑克經常會需要做WordPress搬家,有些時候是幫客戶從虛擬主機搬到VPS,有時候是自己測試VPS主機需要搬,測完VPS主機覺得不錯,那更要搬(用shell script)。所以傑克將WordPress搬家的一些心得跟工具整在這篇文章裡頭,希望可以幫助到一些有需要的人。

WordPress搬家原理

  • 在這裡講的搬家,包括了同域名、不同域名、同主機以及不同主機的WordPress網站搬家。(在找英文資料的時候,migrate 這個用語講的多半是不同域名的搬家。)
  • WordPress搬家需要搬檔案跟資料庫(很多人不知道要搬資料庫),都搬到新網站之後要在wp-config.php裡頭寫上正確的資料庫讀取設定,這樣就可以搬好。
  • 若是不同域名,則需要修改資料庫裡頭的網址。(下面有介紹修改的工具)
  • 搬家前務必先做好備份,以免造成無法挽救的遺憾。

檔案搬移(手動搬家)

  • 你可以把原本WordPress網站所有檔案都搬到新網站。也可以在新的網站那邊下載並解壓縮WordPress官方的安裝檔案,那就只要搬原本WordPress網站的wp-content資料夾就可以。
  • 若要壓縮原本網站的檔案,最好可以選.tar.gz的格式,有些.zip的壓縮工具,如cPanel的檔案管理員,中文名稱的檔案在壓縮成zip檔案再解開之後名稱會變亂碼,所以網頁圖片顯示會有問題。
  • 檔案傳輸最原始的方式就是從舊的網站下載到自己電腦然後再上傳,若是檔案很大,有可能會有下載出錯或是上傳有檔案大小限制的問題。若是新網站那邊可以用SSH的方式,則可使用wget或是curl的指令來抓取。(兩邊都是vps還可以用scp 或是 rsync)。若不能用SSH,檔案又太大,也可以提供備份壓縮檔的網址,請新主機商的客服幫你下載放到某個位置。(一般主機商應該都會幫忙,如果不幫忙,那就考慮換主機商吧。傑克推薦Cloudways)

資料庫搬移(手動搬家)

  • 備份跟還原可以透過cPanel的PhpMyadmin這個圖形介面工具來操作,建議選擇用壓縮檔案來匯出與匯入,匯出的檔案會小一點,但匯入也要注意有沒有檔案大小限制。傑克自己是偏愛用WP-CLI工具來匯出,又快又方便。
  • WordPress備份資料庫的外掛,推薦這套:WP Migrate DB
  • 若是不同域名搬家需要修改資料庫,同樣可以使用 WP Migrate DB 來完成,WP-CLI 也可以搜尋與取代字串,若是要取代的字串有特殊的字元,則可以參考這套:https://interconnectit.com/products/search-and-replace-for-wordpress-databases/。(修改資料庫之前請務必先備份)

使用外掛搬家

  • 同域名搬家,推薦用免費的UpdraftPlus外掛,先將檔案備份在Dropbox,然後安裝一個新的WordPress並裝上Updraftplus,就可以從新網站將Dropbox的備份還原回來。
  • 不同域名搬家:推薦用 All-in-One WP Migration(同域名也可以用)。
  • 付費外掛:
    1. UpdraftPlus:有付費的搬家模組https://updraftplus.com/migrator/
    2. BackupBuddy:https://ithemes.com/purchase/backupbuddy/ (但看到蠻多人後來改用UpdraftPlus)
    3. 付費的搬家外掛傑克都沒用過,傑克偏好自己手動搬。
  • 其實搬家的外掛很多,但搬家失敗的原因通常不是因為外掛本身的問題,而是受限於主機資源(CPU、記憶體)、PHP缺乏所需模組、PHP設定問題(如:執行時間不足)或是網站檔案過大,就容易失敗。

使用線上服務搬家

  • 這類型的服務都是以備份為主,搬家則是衍生的功能。
  • VaultPress:WordPress母公司的產品
  • BlogVault:Cloudways的搬家外掛就是整合他們的服務,這個影片有示範:WordPress網站搬家到Cloudways 
  • ManageWP:主要服務是讓人透過他網站的後台去管理多個WordPress網站,備份與搬家則是付費的加值服務。

搬家常見問題

  • 上述之解壓縮後之中文檔名變亂碼的問題: 請選對壓縮格式或工具。
  • 檔案太大無法上傳: 請修改php.ini(教學),若有些虛擬主機無法修改,請詢問主機商客服。
  • 上傳後解壓縮失敗: 下載或上傳時因網路連線不佳導致檔案不完整,請重新下載或上傳。
  • 資料庫匯入失敗:
    1. 匯出(下載)時因網路連線不佳導致檔案不完整,請重新下載。
    2. 匯入(上傳)因網路連線不佳導致檔案不完整,請重新上傳。
    3. 先清空要匯入的資料庫,再重新匯入檔案。
  • 外掛搬家失敗:主機資源不足(CPU、記憶體)、PHP缺乏所需模組、PHP設定問題(如:執行時間不足)或是網站檔案過大。
  • 搬家完成後出現404:通常是因為.htaccess檔案沒有搬到,因為他是隱藏檔案。不需要特別再去搬這個檔案,只要在後台設定的固定網址再按下一次確認就會自動產生該檔案,問題也就解決。

總結

  • 其實WordPress搬家並不難,以前傑克搬過Discus論壇,那個才真的是麻煩。
  • 手動搬家是最不會有問題的,就算有問題,也比較知道是哪個環節出錯,容易找到對應的解決方式。
  • 以上建議的外掛或服務,請自行斟酌使用,並務必先行備份,以免造成無法挽救的遺憾。

延伸閱讀

訂閱文章更新電子報

透過WordPress.com平台(jetpack功能)訂閱文章更新電子報

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料