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 執行不必要的網站維護指令。