WordPress 匯入程式 Import 搬家遷移、備份還原網站常見問題


在 WordPress 內建工具選項中,提供幾種網站備份、搬家遷移的服務「匯入程式(Import)」,可針對 Blogger、LiveJournal、Movable Type、Typepad、RSS、Tumble 等常見內容平台的文章和媒體可以快速匯入網站(需要另外安裝專用外掛程式)。

而且 WordPress 自家系統當然也有相對應官方版本的備份用外掛程式「WordPress Importer (WordPress 內容匯入程式)」,讓網站主可透過插件進行 WP 網站搬家與備份。

這套 WordPress Importer 官方外掛提供的備份與還原功能,可針對 WP 網站的文章、頁面、留言、自訂欄位、分類及標籤等標準內容進行完整備份與還原,對一般部落客使用者而言已經足夠使用。

WordPress 內容匯入程式「WordPress Importer」需要我們自行安裝,它對應的則是 WP 系統內建的「匯出程式(export)」。匯入程式與匯出程式都位在系統後台側欄的「工具」選單裡頭。我們需要先匯出檔案(XML)後,才能在新網站中執行匯入程式。

All-in-One WP Migration 與 WordPress Importer

先前我在《WordPress 網站搬家、備份外掛程式「All-in-One WP Migration」替代方案》這篇文章中介紹過幾種 WP 網站搬家、備份的外掛程式用法,當中最推薦的一套是「All-in-One WP Migration」,它也是許多 WordPress 伺服器供應商(例如:Bluehost),可以完整備份整個網站內容和資料庫,還原時也幾乎是無差別還原。

即使如此,在一些時刻還是會想用一下最天然的 Importer,例如感覺網站資料庫出現一堆垃圾數據,拖慢網站效能時。我們就能夠過最單純的文章內容來進行還原。

504 Gateway Time-Out 閘道逾時

有用過 WordPress Importer 的用戶可能多少有一些抱怨,因為在匯入過程往往會發生一些狀況,導致網站搬家、還原的過程錯誤百出。

WordPress Importer 匯入逾時

上圖就是我最常遇到的一個狀況,匯入過程發生「504 Gateway Time-Out」。

一般來說,網站如果出現 HTTP 504 狀態碼(閘道逾時),代表原始伺服器未在請求過期之間回應。這一點可以透過修改伺服器 PHP.INI 設定檔裡面的執行時間值來獲得更大處理時間。

不過不同網站都有不同的對應時間,實際上有一個簡單的方式可以解決這個問題,就是在上圖的網頁完全停止運作時,按壓「F5」按鍵,或是點擊網頁瀏覽器上工具列「重新載入此網頁」按鈕,讓該 HTTP 504 頁面直接再次重新執行。

之後等網頁又停止運作時再重複上面步驟,一直到匯入工作完全成功後就會自動跳回正常網站頁面,這時候才算是真正完成匯入工作。

媒體庫(Media)備份問題

一個網站裡頭除文章外,最麻煩的就屬文章中引用的各式照片、文件、影片、聲音等等媒體檔案,經年累月下來,檔案庫中存放著幾百MB、幾GB的容量都很常見。要想完整備份網站又不能缺少這些媒體檔案。

實際上 WordPress 內建的匯出功能無法直接匯出媒體檔案,但是可以被匯入。

聽起來是不是很神奇?

實際工作原理是我們在執行匯入過程中,匯入程式會從原始網站中自動抓取媒體檔案。

不過這時候又產生一個新問題,如果是異地複製網站倒也還好(例如複製 A 域名網站到 B 域名網站),但如果只是單純更換伺服器,自然無法取得舊伺服器內的來源檔案。

因此比較安全的做法是在匯入過程中,不要勾選「匯入媒體檔案」這個選項。

我們可以先匯入文章、使用者、分類、標籤等內資訊,先將網站大致雛形建立起來,避免使用者體驗受到太大影響。接著,將原伺服器內的媒體庫資料夾「uploads」轉移到新伺服器內的相同位置(提示指令:tar、wget),之後再一次執行匯入程式,這一次才勾選「匯入媒體檔案」選項。

媒體檔案無法新增問題

在匯入媒體檔案過程,可能會發生個別檔案匯入失敗、無法建立的問題,這種狀況會導致媒體庫無法產生正確的對應資料,變成少照片或無法連結的錯誤。

這時候你可以登入伺服器,檢查網站根目錄中「wp-content\uploads」資料內的檔案和資料夾的權限是否設置正確,例如資料夾存取權限設置為 775、媒體檔案設置成 664(提示指令:chmod、chown)。

參考文獻
  1. 常用 Linux 進階指令、程式語法介紹(自架 WordPress 可用)
分享這篇文章:

作者:

發表時間:

修改日期:

使用 Email 訂閱 最新消息不漏接

我們尊重您的隱私,隨時可取消訂閱。

留言

發佈留言

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