網站搬家搞得你心力交瘁?WordPress 匯出匯入終極指南,資深工程師帶你一次搞定!
嗨,我是浪花科技的 Eric。身為一個天天在 WordPress 世界裡打滾的工程師,最常被問到的問題之一,大概就是「Eric,我的網站要搬家,到底該怎麼做才不會炸掉?」或是「我只是想把測試站的資料弄到正式站,為什麼弄完圖片都破圖了?」
每次聽到這些問題,我都能感受到螢幕另一端的焦慮。網站搬家、資料同步,聽起來簡單,但魔鬼全藏在細節裡。一個小失誤,輕則網站跑版、圖片遺失,重則資料庫毀損、整站癱瘓,那可不是開玩笑的。今天,我就來當一次領航員,帶你完整走一遍 WordPress 匯出匯入資料最佳實務 的全流程,從最基礎的內建工具,到工程師愛用的指令工具,一次把所有眉眉角角都講清楚。
為什麼你需要搞懂 WordPress 匯出匯入?
在我們深入探討「怎麼做」之前,先花點時間理解「為什麼做」很重要。這不是多餘的囉嗦,而是建立正確心態的第一步。搞懂使用情境,你才能在關鍵時刻選擇最適合的工具與方法。
- 網站搬家 (Migration): 這是最常見的場景。你可能要從舊主機換到新主機,例如從虛擬主機搬到 Cloudways 或其他 VPS,或是更換網域名稱。
- 開發流程 (Staging to Production): 專業的開發團隊,絕對不會直接在正式站上修改東西。我們會在一個稱為「測試站」或「預備站」(Staging) 的地方開發、測試新功能,確認沒問題後,再將變動同步到「正式站」(Production)。這個過程就大量依賴資料的匯出與匯入。
- 建立開發環境 (Production to Local): 有時候,我們需要將正式站的最新資料拉回本地電腦,建立一個一模一樣的開發環境,以便除錯或開發新功能。
- 定期備份與災難復原: 雖然市面上有很多自動備份外掛,但手動執行一次完整的匯出,也是一種驗證備份有效性的方式。當災難發生時,你才會知道如何從容地把資料匯入,讓網站起死回生。
看吧,這件事跟你想的很不一樣,它不只是一個「搬家」動作,而是貫穿整個網站生命週期的核心技能。
方法一:WordPress 內建工具 – 新手的起點
好,讓我們從最簡單的開始。WordPress 後台本身就內建了「匯出」與「匯入」工具,它藏在「工具」選單底下。這是最基本的方法,適合非常單純的情境。
如何使用內建工具?
操作非常直觀:
- 匯出:到「工具」 > 「匯出」,你可以選擇要匯出所有內容,或是只匯出文章、頁面或媒體。按下「下載匯出檔案」後,你會得到一個
.xml檔案。 - 匯入:到新網站的「工具」 > 「匯入」,在最下方找到「WordPress」,點擊「立即安裝」來安裝官方的 Importer 外掛。安裝並啟用後,就可以上傳你剛剛下載的
.xml檔案,並依照指示將文章對應給正確的作者。
工程師的小囉嗦:內建工具的致命傷
坦白說,這個方法我幾乎沒在正式專案上用過。為什麼?因為它有幾個致命的缺點:
- 它只匯出「內容」:這個 XML 檔案只包含了你的文章、頁面、留言、分類、標籤等。它不包含外掛、佈景主題、網站設定、小工具等核心配置。這意味著你搬完家後,還得手動安裝所有外掛、上傳主題、重新設定一次網站,這簡直是惡夢。
- 媒體檔案問題:雖然它可以選擇匯入媒體庫的附件,但它只是記錄了媒體的 URL。如果你的舊站關了,新站的圖片連結也就斷了。你需要勾選「下載及匯入檔案附件」才能把圖檔抓過來,但當檔案一多,失敗率就奇高無比。
- 檔案大小限制:當你的網站內容一多,產生的 XML 檔可能會非常大,超過主機的上傳大小限制,導致匯入失敗。
結論:這個方法只適合你想把 A 站的「幾篇文章」搬到 B 站的超單純情境。對於整站搬移,請直接跳過它。
方法二:外掛解決方案 – 大部分人的最佳選擇
既然內建工具不給力,我們就得求助於強大的外掛生態系。這類型的「搬家外掛」非常多,它們的原理就是把你的整個網站——包含 WordPress 核心檔案、外掛、佈景主題、上傳的檔案以及最重要的資料庫——打包成一個檔案,讓你輕鬆在新環境中還原。
推薦外掛:All-in-One WP Migration
這是我個人很推薦的一款外掛,免費版在大部分情境下就非常好用,操作介面也極度友善。
- 在舊站安裝並啟用 All-in-One WP Migration。
- 到側邊欄選單點擊「All-in-One WP Migration」 > 「匯出」。
- 在「匯出至」的選項中選擇「檔案」(File),外掛會開始打包你的網站。完成後,下載那個
.wpress檔案。 - 在新站(一個全新、乾淨的 WordPress 安裝)同樣安裝並啟用此掛。
- 這次點擊「All-in-One WP Migration」 > 「匯入」。
- 將剛剛下載的
.wpress檔案拖曳進去或選擇檔案上傳。 - 接下來,外掛會跳出警告,告訴你這個操作會覆蓋掉目前的網站資料。勇敢地按下「繼續」。
- 等待它跑完,過程中它會自動處理資料庫的網址替換,這點非常重要!
- 完成後,你會被提示需要重新儲存「固定網址」設定兩次。這是為了確保你的網址結構能正確刷新。登入後台(帳號密碼會變成舊站的),到「設定」 > 「固定網址」,不用做任何修改,直接按兩次「儲存設定」即可。
工程師的小囉嗦:外掛的注意事項
雖然外掛很方便,但還是有幾個坑要注意。最常見的就是上傳檔案大小限制。免費版的 All-in-One WP Migration 通常會受限於主機的 PHP 設定(例如 upload_max_filesize)。如果你的 .wpress 檔案太大,上傳時會失敗。你可以透過修改 php.ini、.htaccess 或是尋求主機商協助來調高這個限制,或者……考慮下面這個更硬核的方法。
方法三:WP-CLI + 資料庫工具 – 工程師的瑞士刀
如果你不喜歡被外掛綁手綁腳,或者你需要進行大規模、頻繁的資料遷移,那麼學習使用 WP-CLI (WordPress Command-Line Interface) 絕對是你的最佳投資。這是在終端機底下操作 WordPress 的工具,速度快、限制少、穩定性高,是所有專業開發者的標配。
完整流程拆解
這個流程分為兩個主要部分:檔案和資料庫。
第一步:處理檔案
你的網站檔案包含 WordPress 核心、wp-content 目錄(外掛、主題、上傳的媒體檔)。最簡單的方式就是用 FTP 全部下載再上傳,但效率很差。我推薦使用 rsync 或 scp 指令,或是直接在伺服器上打包成 .zip 或 .tar.gz 檔案再傳輸。
# 在舊主機的網站根目錄下,打包所有檔案
tar -czvf site_backup.tar.gz .
然後將這個壓縮檔下載,並上傳到新主機解壓縮。
第二步:處理資料庫(核心中的核心)
這就是 WP-CLI 大顯身手的地方了。
- 在舊主機匯出資料庫:
透過 SSH 連線到你的舊主機,進入 WordPress 根目錄,執行以下指令:wp db export database_backup.sql這會產生一個名為
database_backup.sql的 SQL 檔案,這就是你完整的資料庫備份。 - 在新主機建立資料庫並匯入:
在新主機上,你需要先建立一個新的空資料庫,並修改新網站的wp-config.php檔案,填入新的資料庫名稱、使用者和密碼。然後,將剛剛的.sql檔案上傳到新主機的 WordPress 根目錄,執行匯入指令:wp db import database_backup.sql - 執行網址替換(最關鍵的一步):
資料庫搬過來了,但裡面所有的網址都還是舊的!這會導致你的網站樣式全失、圖片全破。千萬不要直接用文字編輯器打開 SQL 檔做「尋找與取代」,這會毀了 PHP 的序列化資料 (Serialized Data),導致網站掛點。我們必須使用 WP-CLI 的專屬指令:wp search-replace 'http://old-domain.com' 'https://new-domain.com' --all-tables --dry-run這個指令會搜尋整個資料庫,將舊網址換成新網址。
--dry-run參數非常重要,它會先模擬執行一次讓你看結果,但不會真的修改資料庫。確認報告中的替換數量無誤後,再執行正式指令:wp search-replace 'http://old-domain.com' 'https://new-domain.com' --all-tables - 最後的收尾:
跟外掛一樣,建議執行一次 flush rewrite rules 的指令,效果等同於後台儲存固定網址:wp rewrite flush
工程師的小囉嗦:為什麼堅持用 WP-CLI?
因為它繞過了所有網頁伺服器的限制。沒有 PHP 執行時間超時的問題,沒有上傳檔案大小的限制。對於一個幾十 GB 的大網站,用外掛搬家簡直是災難,但用 WP-CLI 卻是輕而易舉。它給了你完全的控制權,雖然門檻高一些,但絕對值得。
總結:如何選擇最適合你的方法?
講了這麼多,我們來做個總結,幫你建立一個決策框架:
- 如果你只是想搬運幾篇文章:使用 WordPress 內建工具。
- 如果你是個普通站長,要進行一次性的全站搬家,且網站大小在主機限制內:使用 All-in-One WP Migration 這類外掛是最省心省力的選擇。
- 如果你是開發者、網站管理員,或是你的網站非常龐大,需要頻繁進行資料同步:請務必學習使用 WP-CLI。這是最專業、最可靠、最高效的方法。
無論你選擇哪種方法,請永遠記住WordPress 匯出匯入資料最佳實務的第一條金科玉律:在動手前,永遠先做一次完整的備份!確保你的備份是完整且可以還原的,這才是你最大的保障。
希望這篇完整的指南能幫助你擺脫網站搬家的惡夢。記住,選對工具、理解原理、謹慎操作,你也能像資深工程師一樣,優雅地完成每一次的資料遷移。
延伸閱讀
- 你的 WordPress 網站有保險嗎?終極自動備份與還原策略,從 UpdraftPlus 到 WP-CLI 全解析
- 告別FTP手動上傳惡夢!資深工程師手把手搞懂 WordPress CI/CD,從 GitHub Actions 到資料庫遷移全攻略
- 終結滑鼠手!資深工程師的 WP-CLI 神兵利器,讓你的 WordPress 管理效率原地起飛!
如果你在網站遷移或任何 WordPress 技術問題上需要更專業的協助,浪花科技的團隊隨時準備好為你服務。我們處理過各種複雜的網站架構與資料遷移挑戰,能為你提供最穩定、高效的解決方案。
歡迎點擊這裡,填寫表單與我們聯繫!
常見問題 (FAQ)
Q1: 對於新手來說,最推薦的 WordPress 網站搬家方法是什麼?
A: 對於新手或是一般站長,最簡單且不容易出錯的方法是使用搬家外掛,例如「All-in-One WP Migration」。它能將整個網站(包含檔案與資料庫)打包成單一檔案,並在新網站上一鍵還原,自動處理惱人的網址替換問題,大幅降低手動操作的風險。
Q2: 為什麼我不能直接用文字編輯器去修改 SQL 檔案裡的網址?
A: 千萬不要這麼做!WordPress 的資料庫中,許多設定(特別是小工具、選單和部分外掛的設定)是透過 PHP 的「序列化 (Serialization)」格式儲存的。這種格式會記錄字串的長度。如果你直接替換網址(例如從 `http://a.com` 換成 `http://b.com`),字串長度改變會導致序列化資料結構損壞,造成網站設定遺失甚至直接崩潰。務必使用專門的工具如 WP-CLI 的 `search-replace` 指令或搬家外掛來處理。
Q3: 對於專業開發者或大型網站,最可靠的匯出匯入方法是什麼?
A: 最可靠且最高效的方法是組合技:使用 `rsync` 或 `tar` 處理檔案的遷移,並搭配 `WP-CLI` 來進行資料庫的匯出 (`wp db export`)、匯入 (`wp db import`) 以及最重要的網址替換 (`wp search-replace`)。這個流程完全在命令列環境下執行,不受網頁伺服器(如 PHP、Nginx)的執行時間或上傳大小限制,穩定性與效能都是最佳的。
Q4: 在執行任何網站匯出匯入操作之前,最重要的一件事是什麼?
A: 備份!備份!還是備份!在進行任何可能影響網站資料的重大操作前,請務必建立一個完整的、可驗證的網站備份(包含所有檔案和完整的資料庫)。這份備份是你唯一的保險,萬一遷移過程中發生任何意外,你才有辦法將網站恢復到原始狀態。






