近期的專案中,我們協助一位從事房地產的客戶從 WordPress.com 搬遷到新的主機。每個物件介紹平均包含超過 10 張照片,加上 WordPress.com 是不會自動產出縮圖或是壓縮,且對圖片數量上並無限制,所以客戶有些圖片一張可能要 5MB 以上,整站圖片數量超過一萬張。
WordPress 網站搬家的時候 XML 匯入匯出是一個非常方便的工具,但是只要匯入媒體 (圖片、照片、影片、音檔) 的時候往往等來的是 504 Gateway Timeout,雖然重新整理系統會再跑一次,或是重新匯入從中段的地方繼續跑,但難道不能一次匯入成功嗎?
當然可以!使用 WP-CLI 匯入即可避免因為 PHP 執行上的時間限制讓匯入一次完成。
WP-CLI 是什麼呢?
WP-CLI 是一個可以用指令管理 WordPress 網站的工具,像是更新外掛主題、修改使用者帳密、資料庫搜尋並且取代字串,等等。WP-CLI 特別適合用於處理網站搬家和高效處理大量媒體檔案匯入,還能避免常見的網站錯誤,如 504 Gateway Timeout。如果想要了解更多可以查看官方文件手冊。
如何使用 WP-CLI 呢?
- 確保主機有安裝 WP-CLI 相關套件。
- 使用 SSH 連線到主機。(如有疑問,請諮詢主機商)
- 網站資料很大時, XML 檔案會切分成多個檔案,把所有匯入檔案例如
example.000.xml
、example.001.xml
上傳到網站的根目錄下。 - 請依序執行下方指令匯入:
$ wp import example.000.xml --authors=create --skip=image_resize
$ wp import example.001.xml --authors=create --skip=image_resize
--authors=create
代表自動建立文章的使用者--skip=image_resize
匯入的時候不要產生縮圖
WP-CLI 指令列表:https://developer.wordpress.org/cli/commands/
等所有指令執行完就大功告成囉!
覺得太難或是遇到其他搬家問題嗎?歡迎聯絡我們協助。