網站搬家搞得你心力交瘁?WordPress 匯出匯入終極指南,資深工程師帶你一次搞定!

2025/08/15 | WP 開發技巧

網站搬家搞得你心力交瘁?WordPress 匯出匯入終極指南,資深工程師帶你一次搞定!

嗨,我是浪花科技的 Eric。身為一個天天跟 WordPress 活在一起的工程師,最常被問到的問題之一,除了「網站怎麼又慢了」之外,大概就是「欸 Eric,我要換主機,網站資料要怎麼搬啊?」。網站搬家、資料遷移、從測試站同步到正式站…這些操作聽起來好像很可怕,一不小心就可能讓你好幾個月的心血付之一炬。別怕,今天我就來跟大家聊聊 WordPress 匯出匯入資料的最佳實務,從內建工具、外掛神器,一路講到我們工程師最愛的終極手動大法,保證你看完就能功力大增,告別網站搬家恐懼症。

為什麼我們需要「匯出匯入」?不只是搬家這麼簡單

在我們深入探討「怎麼做」之前,先花點時間搞懂「為什麼要做」。這很重要,因為理解了背後的應用場景,你才能在關鍵時刻選擇最適合的工具和方法。這就是工程師的囉嗦,我們先把地基打穩。

  • 網站伺服器遷移(換主機):這是最常見的理由。可能你的舊主機太慢、太貴,或是你想從共享主機升級到 VPS,這時候就需要把整個網站完整地打包帶走。
  • 建立測試環境(Staging Site):一個專業的開發流程,絕對不會直接在正式網站上修改或安裝新東西。我們會先複製一份一模一樣的網站到測試環境,測試完成後再把變更同步回去。這一來一往,就牽涉到精準的資料匯出匯入。
  • 本機開發到線上部署:很多開發者(像我)喜歡在自己的電腦上(本機環境)開發網站,完成後再一口氣推到線上伺服器。這也需要一套可靠的資料遷移流程。可以參考我們的WordPress Docker 容器化部署教學,打造一個乾淨的本地環境。
  • 定期備份與災難復原:雖然有很多自動備份工具,但手動匯出整站資料也是一種最直接、最安心的備份方式。當災難發生時,你手上的這個「包裹」就是你的救命稻草。

總之,學會 WordPress 匯出匯入資料的技巧,就像是幫你的網站買了一張可以隨時移動的船票,讓你擁有更大的自由度和安全性。

方法一:WordPress 內建工具 – 方便,但充滿陷阱

WordPress 本身就有內建的匯出匯入功能,你可以在後台的「工具」底下找到它們。這大概是所有新手第一個會接觸到的方法。

如何使用內建工具?

操作非常簡單:

  1. 匯出:到「工具」→「匯出」,選擇你要匯出的內容(所有內容、文章、頁面等),然後點擊「下載匯出檔案」。你會得到一個 .xml 檔案。
  2. 匯入:到新網站的「工具」→「匯入」,在最下面的 WordPress 選項點擊「立即安裝」來安裝匯入工具外掛。安裝啟用後,點擊「執行匯入器」,上傳你剛剛下載的 .xml 檔,接著指定文章作者,就完成了。

工程師的真心話:內建工具的致命傷

聽起來很美好對吧?但身為一個資深工程師,我必須告訴你,這個方法只適用於「單純的內容搬移」。如果你想做的是「整站複製」或「網站搬家」,用這個方法你會哭出來。為什麼?

  • 它只匯出「內容」:這個 XML 檔案裡面只包含你的文章、頁面、留言、分類、標籤、選單和一些自訂欄位。
  • 它不包含「設定」:你的網站設定、外掛設定、佈景主題設定,通通都不會被匯出。你需要在新網站全部重新設定一次。
  • 它不包含「檔案」:你的佈景主題、外掛、上傳的圖片和媒體庫檔案,一個都沒動。你需要手動用 FTP 或其他方式把 wp-content 資料夾搬過去。
  • 它不包含「使用者」:除了文章作者可以讓你對應之外,其他使用者帳號(例如會員資料)完全不會被移轉。

結論: 如果你只是想把 A 網站的幾篇文章搬到 B 網站,內建工具是個快速的選擇。但如果是要完整的網站遷移,請直接跳過這個方法,不然你會陷入無止盡的手動設定地獄。

方法二:外掛解決方案 – 大部分人的最佳選擇

既然內建工具不給力,社群大神們早就開發出各種強大的遷移外掛了。這類外掛的原理就是把你的「資料庫」和「所有檔案」打包成一個或多個檔案,讓你可以在新站一鍵還原。

推薦的遷移外掛

  • All-in-One WP Migration:非常受歡迎的一款外掛,操作介面極度友善。它會把整個網站(包含資料庫、媒體、外掛和主題)打包成一個 .wpress 檔案。你只需要在新網站也安裝這個外掛,然後把檔案拖曳上去匯入即可。它會自動處理網址的搜尋取代,超方便。但缺點是,免費版通常有上傳檔案大小的限制(取決於主機設定,通常是 512MB)。
  • Duplicator:另一款老牌神器。它會產生一個安裝包 (zip) 和一個安裝程式 (installer.php)。你需要把這兩個檔案上傳到新主機的根目錄,然後直接訪問 your-new-domain.com/installer.php,它會像安裝 WordPress 一樣引導你完成資料庫設定和還原。它的穩定性很高,比較不受上傳大小限制,但操作上比 AIO 多了幾個步驟。

結論: 對於 90% 的使用者和絕大多數情境來說,使用遷移外掛是效率最高、風險最低的選擇。除非你的網站大到幾十 GB,或是主機環境非常特殊,不然這絕對是你的首選。

方法三:終極手動遷移 – 工程師的浪漫與堅持

好了,來到我們工程師最愛的環節了。為什麼在有方便外掛的情況下,我們有時候還是堅持手動?因為手動給予我們最高的控制權,不受任何外掛限制,而且在處理超大型網站或進行客製化遷移時,手動才是王道。這需要你對伺服器有基本的認識,並且會使用 SSH 和一些指令。

手動遷移的核心就兩件事:遷移檔案遷移資料庫

步驟一:備份與下載檔案

你需要備份的是 WordPress 的根目錄,但說實話,最重要的其實是 /wp-content/ 這個資料夾,因為裡面包含了你的主題、外掛和上傳的媒體。其他核心檔案都可以從官網重新下載。你可以透過 cPanel 的檔案管理員打包下載,或者透過 SSH 連線後,使用 tar 指令打包:

tar -czvf website_files.tar.gz /path/to/your/wordpress/

然後再用 scp 或 FTP 把這個壓縮檔下載回來。

步驟二:匯出資料庫

這是最關鍵也最容易出錯的一步。你可以使用主機商提供的 phpMyAdmin 工具來匯出,選擇「自訂」匯出,確保編碼是 utf8mb4,然後匯出成 .sql.sql.gz 檔案。

但更專業、更推薦的方法是使用 WP-CLI。這是一個 WordPress 的命令列工具,是我們工程師的必備神兵。透過 SSH 連線到你的主機,進入 WordPress 根目錄,一行指令搞定:

wp db export database_backup.sql

這樣匯出的資料庫檔案最乾淨,也最不容易出錯。

步驟三:在新主機建立環境並上傳

在新主機上,你需要:

  1. 建立一個新的空資料庫,記下資料庫名稱、使用者名稱和密碼。
  2. 將剛剛下載的網站檔案壓縮包上傳到新主機的網站根目錄並解壓縮。
  3. 修改 wp-config.php 檔案,填入新的資料庫連線資訊。

步驟四:匯入資料庫與執行網址替換

首先,將 .sql 資料庫檔案上傳到新主機。接著,一樣推薦使用 WP-CLI 來匯入:

wp db import database_backup.sql

匯入完成後,還沒結束!你的資料庫裡面所有的網址都還是舊的。這時候千萬、千萬、千萬不要直接用文字編輯器打開 .sql 檔去搜尋取代,這會毀了你的網站!因為 WordPress 有很多資料是序列化儲存的,直接改會造成資料結構損壞。

正確的做法是再次請出我們的神兵 WP-CLI:

wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables --dry-run

上面這個指令會掃描所有資料表,把舊網址換成新網址。--dry-run 參數非常重要,它會先模擬執行一次讓你看結果,但不會真的修改資料庫。確認無誤後,拿掉 --dry-run 再執行一次,就大功告成了!

wp search-replace 'https://old-domain.com' 'https://new-domain.com' --all-tables

最後一步:收尾工作

完成上述步驟後,登入新網站的後台,到「設定」→「固定網址」,不用做任何修改,直接按「儲存設定」。這個動作會幫你重建 .htaccess 檔案,確保網址結構正確。最後,別忘了清除所有快取外掛的快取,然後仔細檢查網站前後台功能是否都正常。

結論:選擇最適合你的那條路

總結一下,WordPress 的匯出匯入沒有絕對最好的方法,只有最適合當下情境的方法:

  • 新手 & 單純內容搬移:用內建工具,但要清楚它的極限。
  • 大多數使用者 & 整站遷移:請愛用 All-in-One WP Migration 或 Duplicator 這類外掛,省時省力。
  • 進階使用者 & 超大型網站 & 追求極致掌控:WP-CLI + 手動操作是你的不二之選。

網站資料是公司最重要的資產之一,謹慎處理絕對是必要的。希望今天的分享,能幫助大家未來在面對 WordPress 匯出匯入資料時,能夠更有信心、更有條理。搞定這些基礎建設,你才能更專注在真正能創造價值的內容和行銷上。

如果你在網站遷移的過程中遇到了棘手的問題,或者希望由專業團隊來為你的網站架構和效能進行健檢與優化,歡迎隨時與浪花科技的團隊聯繫。我們很樂意提供專業的協助!

延伸閱讀

常見問題 (FAQ)

Q1: WordPress 內建的匯出工具和遷移外掛(如 All-in-One WP Migration)最大的差別是什麼?

A1: 最主要的差別在於匯出的內容完整性。內建工具只匯出「內容資料」(文章、頁面、留言等),形成一個 XML 檔,但它不包含外掛、佈景主題、網站設定和媒體檔案。而遷移外掛則是將整個網站,包括資料庫、所有檔案(外掛、主題、上傳內容)打包成一個完整的包裹,可以做到一鍵還原,更適合用於整站搬家或複製。

Q2: 為什麼不能直接用文字編輯器打開 .sql 檔案來取代舊網址?

A2: 這是新手的超級地雷!因為 WordPress 在資料庫中儲存了很多「序列化(Serialized)資料」,這些資料的格式中包含了字串長度的紀錄。如果你直接用文字編輯器取代網址(通常新舊網址長度不同),就會破壞這個長度紀錄,導致序列化資料損毀,網站會立刻出現各種奇怪的錯誤甚至直接掛掉。正確的方式應該使用像 WP-CLI 的 `search-replace` 指令或 Better Search Replace 外掛,它們能正確地處理序列化資料。

Q3: 對於一個超過 10GB 的大型網站,最推薦用哪種方式遷移?

A3: 對於大型網站,非常不建議使用外掛的瀏覽器上傳方式,因為很容易因為主機的逾時(Timeout)或記憶體限制而失敗。最穩定可靠的方法是「手動遷移」,特別是透過 SSH 和 WP-CLI。你可以用 `tar` 指令在伺服器端直接打包檔案,用 `wp db export` 匯出資料庫,然後再透過 `scp` 或 `rsync` 高效率地傳輸檔案到新主機,最後再用 `wp db import` 和 `wp search-replace` 完成還原。這個方法雖然技術門檻較高,但穩定性和成功率是最高的。

Q4: 搬家的時候,舊網站的 `wp-config.php` 檔案需要一起搬過去嗎?

A4: 需要,但搬過去之後「一定要修改」。`wp-config.php` 檔案包含了資料庫的連線資訊(資料庫名稱、使用者、密碼)和安全金鑰。當你搬到新主機時,通常會建立一個新的資料庫,所以你需要將這個檔案中的資料庫連線資訊更新成新主機的設定,網站才能正常運作。安全金鑰則可以保留舊的,但如果想提升安全性,也可以重新產生一組新的。

 
立即諮詢,索取免費1年網站保固