這篇是〈Zeabur 搬家前先換金鑰〉的 WordPress 專篇。停止營運的時程、退款、網域轉出的共通部分,請看那篇;這裡只講 WordPress 特有的地方。
文中 Zeabur 模板的內容引自模板頁公開的原始 YAML,WordPress 的做法引自 WordPress 官方文件,查詢日期都是 2026 年 10 月 18 日。
先看你的 WordPress 在 Zeabur 上長什麼樣
2026 年 10 月 18 日查詢時,Zeabur 模板市集裡跟 WordPress 有關的模板有 4 個,最多人用的是官方模板〈WordPress〉(代碼 CV344X,頁面顯示部署 7,045 次),其次是〈WordPress with Redis〉(代碼 Y4U42V,739 次)。以官方模板公開的 YAML 為例:
| 服務 | 映像 | 資料存在哪(Volume) | 搬家時要帶走什麼 |
|---|---|---|---|
| WordPress | wordpress:6-php8.3 | /var/www/html | wp-content(佈景、外掛、上傳的檔案) |
| MariaDB | mariadb:11 | /var/lib/mysql | 整個資料庫(用匯出,不要直接複製資料夾) |
WordPress 用環境變數 WORDPRESS_DB_HOST、WORDPRESS_DB_NAME、WORDPRESS_DB_USER、WORDPRESS_DB_PASSWORD 連資料庫,值是從 MariaDB 服務帶過來的。資料庫名稱預設是 zeabur、帳號預設是 root。網站網址存在資料庫裡,wp-config.php 沒有另外寫死。
Y4U42V 的結構相同,多一個 Redis 服務(Volume 在 /data)。Redis 只存快取,不用搬,新主機重新建立即可。
先到 Zeabur 主控台確認你的專案是哪幾個服務、各自掛了哪些 Volume,再往下做。
第一件:換掉 WordPress 相關的金鑰
Zeabur 狀態頁寫明,10 月事件可能外洩服務的環境變數。對 WordPress 來說,環境變數裡至少有資料庫密碼。另外有兩樣要特別看:
1. 資料庫密碼:WORDPRESS_DB_PASSWORD 在環境變數裡,要換。換法是在資料庫裡改密碼,再更新新環境的 wp-config.php。搬到新主機時,直接用新密碼建資料庫帳號即可。
2. WordPress 的登入金鑰(salt):wp-config.php 裡的 AUTH_KEY、SECURE_AUTH_KEY 等 8 個值,是 WordPress 用來簽登入 cookie 的。官方模板 CV344X 的 YAML 裡,wp-config.php 是這樣寫的(2026 年 10 月 18 日查詢;值只列前 12 碼):
define( 'AUTH_KEY', getenv_docker('WORDPRESS_AUTH_KEY', 'b5703d7e2fff…') );
意思是:有設定環境變數 WORDPRESS_AUTH_KEY 就用它,沒有另外設定時,就用 YAML 裡寫好的這組預設值,其他 7 個值也是同樣寫法,Y4U42V 也一樣。設在環境變數的,在這次外洩範圍內;用預設值的,值本身就公開在模板原始檔裡。兩種情況都一樣處理:搬到新主機時,到 WordPress 官方的產生器(api.wordpress.org/secret-key/1.1/salt/)拿一組新的,換掉之後所有人要重新登入一次。
3. 存在資料庫裡的金鑰:寄信外掛的 SMTP 密碼、金流外掛的 API key、表單外掛的 reCAPTCHA 金鑰,通常存在 WordPress 資料庫裡。狀態頁第一則更新寫明,這次最早確認遭未授權存取的,是仍跑在已淘汰共享叢集上的 PostgreSQL 與 MySQL。你的 WordPress 資料庫如果跑在共享叢集上,這些金鑰也一起換,並檢查後台有沒有陌生的管理員帳號。
每類金鑰去哪裡換,見〈Zeabur 金鑰外洩後要換哪些?〉。
第二件:匯出資料庫
用 MariaDB 自己的工具,從 Zeabur 服務頁看到的連線資訊匯出(模板在服務頁的說明裡列了主機、埠號、帳號與密碼):
mariadb-dump --single-transaction --default-character-set=utf8mb4 \
-h 主機 -P 埠號 -u root -p zeabur > wordpress.sql
如果你用的是 MySQL 服務,把 mariadb-dump 換成 mysqldump;資料庫名稱不是 zeabur 的,換成你自己的。
付費方案也可以用 Zeabur 主控台的備份,官方文件寫明 MySQL、MariaDB 備份成 .sql 檔、只保留 7 天,按完一定要下載。
匯出後,在新主機匯入一次,比對資料表數量和文章數量。WordPress 的資料表預設是 wp_ 開頭,文章數可以用下面這行比對新舊兩邊:
SELECT post_type, post_status, COUNT(*) FROM wp_posts GROUP BY post_type, post_status;
第三件:搬走 wp-content
WordPress 服務的 Volume 掛在 /var/www/html,裡面是整個網站的檔案。真正要帶走的只有 wp-content:佈景主題、外掛和上傳的圖片檔案。WordPress 核心檔案在新主機重新安裝即可;wp-config.php 不要整份搬,在新主機重新產生(理由見第一件)。
依 Zeabur 官方文件,Volume 的備份要先暫停服務,再到服務的「備份」分頁按備份,完成後下載,內容是整個 Volume 資料夾。官方〈檔案管理〉文件寫明,檔案管理只能一個檔案一個檔案下載,不能整個資料夾下載,所以要整包帶走,用 Volume 備份比較實際。
暫停服務期間網站會停,排在離峰時間做。下載回來後,確認 wp-content/uploads 的檔案數量和大小跟後台媒體庫對得上。
第四件:網域與 HTTPS
網域沒換、網址也沒換:WordPress 官方文件寫明,資料庫和網址都不變的話,只要複製檔案和資料庫就能搬。把網域的 DNS 指到新主機即可,切換前一兩天先把 TTL 調低。
原本用 Zeabur 給的子網域(例如 xxx.zeabur.app):網址會改,資料庫裡存的舊網址要換掉。WordPress 官方文件提醒兩件事:
- 不要在 SQL 檔裡直接全文取代。WordPress 有些設定用「序列化」格式存,裡面記了字串長度,直接取代會讓這些設定壞掉。
- GUID 欄位不要改。官方原句是「Never, ever, change the contents of the GUID column, under any circumstances.」改了會讓訂閱器把舊文章當成新文章。
官方建議用 WP-CLI 的 search-replace,它會正確處理序列化資料。先加 --dry-run 看會改幾筆,確認後再正式執行:
wp search-replace 'https://舊網址.zeabur.app' 'https://你的網域' --skip-columns=guid --dry-run
wp search-replace 'https://舊網址.zeabur.app' 'https://你的網域' --skip-columns=guid
舊的 zeabur.app 網址在 Zeabur 關閉後就連不到,沒辦法設轉址。外部網站、社群貼文、Google 商家檔案上用的是舊網址的,要一個一個改。
HTTPS:兩個模板的 wp-config.php 裡都有一段,依 X-Forwarded-Proto 判斷是不是 HTTPS。新主機如果前面也有一層代理(例如 Cloudflare 或負載平衡器),要保留類似的設定;少了它,常見的症狀是後台登入無限轉址,或頁面混雜 http 與 https 的資源。
搬完要驗的 10 件事
| 檢查 | 怎麼看 |
|---|---|
| 1. 首頁、文章、分類頁都打得開 | 抽 5 個舊網址,都要回 200 |
| 2. 固定網址正常 | 文章網址不是 404;不行就到「設定 → 固定網址」按一次儲存 |
| 3. 後台登得進去 | 用新設定的密碼登入 |
| 4. 媒體庫圖片都在 | 抽 5 張舊圖片網址 |
| 5. 能上傳新圖片 | 上傳一張,檢查 wp-content/uploads 的寫入權限 |
| 6. 表單寄得出信 | 送一封測試信,主旨標「測試請忽略」,收到就刪 |
| 7. 沒有殘留舊網址 | 頁面原始碼搜 zeabur.app |
| 8. HTTPS 正常 | 沒有混合內容警告,後台不會無限轉址 |
| 9. 外掛與佈景能更新 | 後台更新頁不出錯 |
| 10. 搜尋引擎 | Search Console 送一次 sitemap |
搬去哪:WordPress 的三種去處
- WordPress 主機或虛擬主機:不需要自己管伺服器,搬家工具與教學多,最適合只有一個站、沒有客製程式的情況。
- 雲端主機加 Docker 自己架:可以沿用同一個官方 WordPress 映像,最接近 Zeabur 上的結構,但更新、備份、監控要自己負責。
- 交給別人代管:適合不想再管主機、但有客製外掛或多個站的團隊。
我們自己的官網就是 WordPress,跟我們經營的另外幾個 WordPress 站一起跑在我們自己管的主機上,每天自動備份。搬 WordPress 時最常出問題的,是網址替換和 HTTPS 代理設定這兩處,搬完照上面的表驗一次最保險。
揭露
火曜領航有提供 WordPress 搬家與主機代管服務。這篇的步驟不需要找任何人也能自己做。
如果您的服務還在 Zeabur 上,需要人幫忙盤點、搬遷或輪換金鑰,可以到〈PaaS 停運搬家與資安檢查服務〉看四種做法,或直接填寫詢價表單,我們會在一個工作日內回覆搬遷順序建議。
常見問題
搬家會不會影響 Google 排名?
網域和網址都沒換的話,對搜尋引擎來說只是換了一台主機,切換時注意不要讓網站停太久即可。網址有換(例如從 zeabur.app 換到自己的網域),就要把舊網址的連結一一更新,並在 Search Console 加入新網域。
我在 Zeabur 上用的是 zeabur.app 子網域,可以設轉址嗎?
Zeabur 關閉後舊網址就連不到,沒辦法在那邊設轉址。建議盡快換成自己的網域,並把外部連結改掉。
可以用搬家外掛一鍵搬嗎?
可以,很多搬家外掛能把資料庫和 wp-content 打包。但要注意兩點:上傳大小可能受新主機的限制;打包檔裡的 wp-config.php 和舊的登入金鑰不要原封不動帶過去。
Redis 要一起搬嗎?
不用。Redis 只存快取,新主機重新建立即可。要繼續用的話,在新主機重新安裝 Redis 並設定 Redis Object Cache 外掛。
搬完後,Zeabur 上的服務什麼時候停?
新主機確認正常、DNS 也切換完成後再停。停之前再匯出一次資料庫留存,避免切換期間有新的留言或訂單沒帶過去。
參考來源
- Zeabur 模板:WordPress(原始 YAML)
- Zeabur 模板:WordPress with Redis(原始 YAML)
- Zeabur 文件:檔案管理(2026-05-08 更新)
- Zeabur Status:Unauthorized Access to Zeabur Infrastructure and User Data(2026 年 10 月事件)
- Zeabur 文件:備份與還原(2026-05-08 更新)
- Zeabur 文件:搬遷專案(2026-06-22 更新)
- WordPress:Moving WordPress
- WP-CLI:wp search-replace
- WordPress:Secret key 產生器
以上資料皆於 2026 年 10 月 18 日查詢。
最後更新: