WP-CLI

WP-CLI 教學

WP-CLI 是 WordPress 的命令列管理工具,適合用在 VPS、CI/CD、排程維護與大量站台管理。熟悉 WP-CLI 後,可以把原本需要進後台點選的工作變成可重複、可記錄、可自動化的流程。

什麼時候該用 WP-CLI

WP-CLI 特別適合需要穩定重複執行的管理工作,例如更新核心、批次啟用外掛、建立使用者、匯出資料庫、清快取、跑 cron 或大量搜尋取代。

正式站使用 WP-CLI 前,應先確認執行身分、網站路徑與備份策略。命令列操作很有效率,但錯誤指令也會很快影響整站。

  • 多站台或多環境需要一致化維護時。
  • 需要在排程中自動備份、更新或清理資料。
  • 後台無法登入但主機 SSH 還能使用時。
  • 要把部署流程寫成腳本或 CI/CD 步驟時。

常用管理指令

進入 WordPress 根目錄後,可以用 wp core、wp plugin、wp theme、wp user、wp option、wp db 等子命令管理網站。執行前先用 wp core version 或 wp option get siteurl 確認自己操作的是正確站台。

更新前務必先備份資料庫與檔案。若是正式站,建議先在 staging 環境測試更新,再把相同步驟套到正式站。

  • wp core version:確認 WordPress 版本。
  • wp plugin list:列出外掛狀態與版本。
  • wp plugin update --all:更新全部外掛。
  • wp theme list:列出主題與啟用狀態。
  • wp user list:檢查使用者與角色。
  • wp db export backup.sql:匯出資料庫備份。

資料庫與搜尋取代

搬站、換網域或修正網址時,WP-CLI 的 search-replace 很實用,因為它理解 WordPress 序列化資料,比手動 SQL replace 安全。

正式執行前先加上 --dry-run 看會影響多少筆資料,確認無誤再移除 --dry-run。換網域後也要檢查 canonical、媒體連結、選單與快取。

  • wp search-replace old.example.com new.example.com --dry-run
  • wp search-replace old.example.com new.example.com
  • wp db check:檢查資料庫表。
  • wp transient delete --all:清除暫存資料。

自動化與安全注意事項

WP-CLI 腳本應保留日誌,讓每次更新、備份與清理都有紀錄。對正式站來說,自動化不是省略檢查,而是把檢查流程固定下來。

不要把資料庫密碼、API key 或管理員密碼寫死在公開 repo。若要從排程執行,應限制執行帳號權限,並確認備份檔不會放在公開目錄。

  • 重要指令前先備份。
  • 腳本輸出寫入 log 檔方便追蹤。
  • 用 --path 明確指定 WordPress 目錄。
  • 避免用 root 執行不必要的網站維護指令。