3 min. 読む

WP-CLI:コマンドラインからWordPressを管理するための完全ガイド

WP-CLIは、ブラウザを開かずにターミナルから直接WordPressのインストールを管理するための公式コマンドラインツールです。複数のサイトのプラグインを更新するためにWordPressの管理ダッシュボードをクリックして午後を過ごしたことがあるなら、このツールの存在理由はもうお分かりだろう。

このガイドでは、Linux、macOS、WindowsへのWP-CLIのインストールから、スクリプトと設定ファイルによる複雑なメンテナンスタスクの自動化まで、すべてを学ぶことができます。一つのブログを管理している場合でも、何十ものクライアントサイトを管理している場合でも、WP-CLI をマスターすることで WordPress での作業方法が根本的に変わります。

何を学ぶか

  • 異なるオペレーティング・システム間でのWP-CLIのインストールと設定方法
  • プラグイン、テーマ、ユーザー、コンテンツの管理に不可欠なコマンド
  • エクスポート、インポート、安全な検索置換を含むデータベース操作
  • スクリプト、エイリアス、クーロンジョブを使った自動化テクニック
  • ターミナルで仕事をする際に陥りがちな落とし穴を避けるためのベストプラクティス

WP-CLIとは?(最初に簡単な説明)

WP-CLIはWordPress Command Line Interfaceの略で、ターミナルからWordPressサイトを完全に管理できるオープンソースのツールだ。wp-adminにログインしてメニューをナビゲートする代わりに、wp plugin update --all のようなコマンドを実行し、プラグインスタック全体が数秒で更新されるのを見ることができます。

このプロジェクトは2011年頃に始まり、WordPressを大規模に管理するための高速な方法を求めていた開発者たちによって作られた。2017年にはWordPress.orgの公式傘下に移行し、現在はAlain SchlesserやDaniel Bachhuberを含む献身的な貢献者チームによってメンテナンスされている。

WP-CLIについて知っておくべきことは以下の通りです:

  • 現在の安定版WP-CLI 2.xシリーズ
  • WordPressとの互換性:WordPress 5.xから6.xまで(歴史的には3.7まで遡る)で動作します。
  • PHPの要件PHP 7.4+または8.xを推奨(セキュリティとパフォーマンスのため
  • コマンドエコシステム:WordPressのほぼすべての操作をカバーする40以上の親コマンド
  • 主なユーザー開発者、代理店、DevOpsエンジニア、複雑なサイトや複数のサイトを管理するパワーユーザー
  • 配布:PHARファイル、パッケージマネージャ、または多くのマネージドWordPressホストにプリインストールされています。

WP-CLIを使用する主な利点

なぜWP-CLIが存在するのかを理解すれば、学習曲線を正当化するのはずっと簡単になります。このセクションでは、このツールがあなたの時間を費やす価値がある具体的な利点を説明します。

繰り返しタスクの時間節約
WordPressダッシュボードを通して20のプラグインを更新することは、20のページロード、20のクリック、20のプログレスバーを見ることを意味します。WP-CLIを使えば、wp plugin update --all 。複数のクライアントサイトを管理する代理店にとって、この違いは毎週節約できる時間になります。

一括操作と自動操作
ブラックフライデーに向けて15のWooCommerceストアを準備するシナリオを考えてみましょう。各サイトでプラグインを更新し、キャッシュをクリアし、データベースの整合性を検証する必要があります。WP-CLIを使えば、この一連の作業をスクリプト化し、すべてのサイトで数時間ではなく数分で実行できます。主な自動化機能は以下の通りです:

  • 1つのスクリプトで複数のインストールにまたがるすべてのプラグインを更新する
  • 定義済みのロールを持つユーザーを一括作成する
  • cronによる毎晩のメンテナンスの実行(データベースの最適化、一時的なクリーンアップ)
  • 同一のWordPress設定を新しい環境にデプロイする

ブラウザベースの操作に対する信頼性
ブラウザ操作はHTTPタイムアウトに見舞われる。大規模なデータベースのインポートが途中で失敗する。生のSQLで検索置換操作を行うと、シリアライズされたデータが破損する。WP-CLIは、タイムアウトの制約を受けずにサーバ上で直接実行され、search-replaceコマンドがシリアライズされたデータ構造を正しく処理するため、これらの問題をすべて回避できます。

WordPressのコアシステムを直接コントロール
一つの端末から、以下のことが可能です:

  • WordPressデータベースのエクスポートとインポート
  • wp-config.php 設定の変更
  • wp-cronイベントの検査とトリガー
  • メンテナンスモードのオンとオフを切り替える
  • WordPressのコンテキストで任意のPHPコードを実行する

wp-adminの負荷を軽減
忙しい本番サーバーでは、管理ダッシュボードのページをロードするたびにリソースが消費されます。WP-CLI経由でメンテナンス操作を実行することで、ウェブサーバーへの負荷が軽減されます。

WP-CLIの要件とサポート環境

WP-CLIをインストールする前に、サーバーまたはローカル環境が基本的な要件を満たしていることを確認する必要があります。良いニュースは、ほとんどの最新のWordPressセットアップがすでに適格であるということです。

PHPのバージョン要件:

  • 最低限PHP 5.6(これは古いですが)
  • 推奨PHP 7.4、8.0、8.1、8.2、8.3、8.4、または8.5(2026年のセキュリティとパフォーマンスのために

WordPressのバージョン互換性:

  • 歴史的なサポート:WordPress 3.7以降
  • 最新のターゲット:WordPress 5.0~6.7+(現在のプロジェクト用

オペレーティングシステムへの期待:

  • 最高のサポートUNIX系システム(Ubuntu 22.04 LTS、Debian 12、CentOS Stream、macOS)
  • Windows:WSL (Windows Subsystem for Linux)またはネイティブPHPインストールでサポート

その他の条件

  • PHP をコマンドラインから利用できる (php のバイナリが PATH に入っている必要があります)
  • wp-cli.phar ファイルをダウンロードするための cURL または wget
  • リモートサーバーへのSSHアクセス(ほとんどのマネージドWordPressホスティングプランにはデフォルトで含まれています。)

Kinsta、SiteGround、DreamHostのような多くの人気のあるホストは、現在WP-CLIがプリインストールされて出荷されています。WordPress.comにも、SSHアクセスが有効なサイト用のWP-CLIが含まれています。

LinuxとmacOSにWP-CLIをインストールする方法

標準的なインストール方法は、公式のPHAR(PHPアーカイブ)ファイルを使用します。このプロセスは、Ubuntu、Debian、CentOS、Fedora、macOS端末で動作します。

ステップ1:PHARファイルのダウンロード
ターミナルを開き、curlを使ってwp-cli.phar

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

あるいは、wgetを使う:

wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

ステップ2:ダウンロードの検証(オプションだが推奨)
ダウンロード中にファイルが改ざんされていないことを確認するために、WP-CLIドキュメントで公開されている公式値とSHA-256チェックサムをチェックする:

sha256sum wp-cli.phar

WP-CLIの公式サイトに記載されているチェックサムと出力を比較してください。

ステップ 3: PHARファイルのテスト
phpファイルが動作することを確認する:

php wp-cli.phar --info

WP-CLIのバージョン、PHPのバージョン、システム情報が出力されるはずです。

ステップ4:実行可能にし、PATHに移動する
ファイルを実行可能としてマークし、システムPATHのディレクトリに移動する:

chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

/usr/local/bin はシステム・ディレクトリなので、sudo コマンドは通常必要です。WP-CLIを主に一般ユーザーとして実行する場合は、rootとしてインストールすることは避けてください。

ステップ 5: グローバルインストールの確認
WP-CLI がグローバルに利用可能になったことを確認します:

wp --info
wp cli version

wp cliのバージョン、PHPバイナリの場所、オペレーティング・システムの詳細を確認する出力が表示されるはずだ。この時点で、WP-CLIがインストールされ、使用する準備ができています。

WindowsにWP-CLIをインストールする方法

Windowsユーザーには、Windows Subsystem for Linux(WSL)を使うか、Windowsネイティブ・インストールをセットアップするかという2つの主要な道がある。WSLはよりLinuxに近い体験を提供し、一般的に推奨される。

オプション1:WSLを使用する(推奨)
まず、Windows 10または11でWSLを有効にします:

wsl --install

Microsoft StoreからUbuntuをインストールし、Ubuntuターミナルを起動する。そこから、前のセクションで説明したLinuxのインストール手順とまったく同じ手順で、pharファイルをダウンロードし、実行可能にして、/usr/local/bin/wp

オプション2: Windows ネイティブインストール
ネイティブセットアップを行うには、Windows 用の PHP がインストールされ、php の実行ファイルがシステムの PATH に存在する必要があります。

  1. PHP for Windowsの公式サイトからPHPをダウンロードし、インストールする。
  2. PHPディレクトリをWindowsのPATH環境変数に追加します。
  3. コマンドプロンプトを開き、PHPが動作することを確認する。 php -v

次に、WP-CLI PHARファイルをダウンロードする:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Windowsには2018年以降、デフォルトでcurlが含まれているので、追加設定なしで動作するはずだ。WP-CLI用のフォルダ(例:C:\wp-cli )を作成し、ダウンロードしたファイルをそこに移動します。

次に、同じフォルダにwp.bat という名前のバッチラッパーファイルを作成する:

@echo off
php "C:\wp-cli\wp-cli.phar" %*

システムのPATH環境変数にC:\wp-cli 。新しいコマンドプロンプトまたはPowerShellウィンドウを開き、確認してください:

wp --info

WP-CLIのバージョンと環境の詳細が表示され、WP-CLIが正しくインストールされていることが確認できます。

WP-CLIの基本的な使い方とヘルプの取得

WP-CLIをインストールしたら、特定の操作に入る前に基本的なコマンドパターンを理解する必要があります。すべてのWP-CLIコマンドはこの構造に従っています:

wp <command> <subcommand> [options]

コマンドはWordPressのインストールディレクトリ(wp-config.php を含むフォルダ)から実行されます。他の場所であれば、--path=/var/www/html/mysite でパスを指定できる。

環境の確認
セットアップの確認から始めましょう:

wp --info

WP-CLIのバージョン、PHPのバージョン、PHPのバイナリ・パス、オペレーティング・システム、その他の環境の詳細が表示されます。WP-CLIのバージョンだけを表示するには:

wp cli version

利用可能なコマンドの探索
利用可能なすべてのwp cliコマンドを一覧表示するには:

wp help

特定のコマンドに関するヘルプ:

wp help plugin
wp help core update

また、どのコマンドにも--help

wp user --help

ヘルプ出力は、Unixのmanページに似たページャーで表示される。終了するにはq を押してください。

最初に試すべきコマンド

  • wp core version – WordPressのバージョンを表示する
  • wp plugin list – インストールされているすべてのWordPressプラグインとそのステータスを表示します。
  • wp theme list – インストールされているテーマを表示
  • wp user list – サイト上の全ユーザーをリストアップ

これらの読み取り専用コマンドを使えば、何も変更することなくWordPressサイトを探索できるので、インターフェイスに慣れるのに最適だ。

WP-CLIを使ったWordPressのインストールと設定

WP-CLI は、従来のウェブベースのインストーラよりも高速に WordPress の完全な新規インストールを実行できます。これは、開発環境をスピンアップしたり、新しいサイトをプログラムでデプロイしたりする場合に特に価値があります。

前提条件
インストール・コマンドを実行する前に、MySQLまたはMariaDBデータベースの準備が必要です。この例では、以下を作成したと仮定する:

  • データベース名 wpsite_db
  • データベースユーザー: wpsite_user
  • パスワード securepassword123
  • ホストだ: localhost

ステップ 1: WordPressコアファイルのダウンロード
インストールしたいディレクトリに移動し、WordPressコアをダウンロードする:

wp core download

これはWordPressの最新バージョンを取得します。バージョンやロケールを指定するには

wp core download --version=6.4.2 --locale=fr_FR

完了後、WordPressが正常にダウンロードされたことが確認できます。

Step 2: wp-config.phpの生成
wp config createを使用して設定ファイルを作成します:

wp config create --dbname=wpsite_db --dbuser=wpsite_user --dbpass=securepassword123 --dbhost=localhost

これは、あなたのデータベース認証情報と自動的に生成されたセキュリティソルトを含む完全なwp-config.php

ステップ3:インストールを実行する
さて、あなたのサイトの詳細でWordPressをインストールします:

wp core install --url=https://example.com --title="My New Site" --admin_user=admin --admin_password=strongpassword [email protected]

WordPressのインストールに成功しました」というメッセージが表示され、サイトが使えるようになります。

マルチサイトインストール
WordPressのマルチサイトネットワークには、マルチサイトのバリアントを使用してください。WP-CLIはマルチサイトインストールを設定できます:

wp core multisite-install --url=https://example.com --title="My Network" --admin_user=admin --admin_password=strongpassword [email protected]

WP-CLIでテーマを管理する

WP-CLIは、WordPressの管理ダッシュボードにアクセスすることなく、すべてのテーマ操作を処理します。テーマの一覧表示、インストール、有効化、更新、削除をターミナルから直接行うことができます。

インストールされているテーマのリスト
現在インストールされているすべてのテーマを見るには:

wp theme list

サンプル出力:

名称ステータス更新バージョン
トゥエンティトゥエンティフォーアクティブnone1.0
トゥエンティトゥエンティースリー不活発none1.2
アストラ不活発利用可能4.5.0

テーマの有効化
別のテーマに切り替える:

wp theme activate astra

これでアクティブなテーマが即座に変更される。デフォルトのテーマに戻すと、テーマに関連する問題のトラブルシューティングに便利です:

wp theme activate twentytwentyfour

新しいテーマのインストール
WordPress.orgのリポジトリからテーマをインストールします:

wp theme install astra

インストールとアクティベーションを1つのコマンドで:

wp theme install astra --activate

テーマの更新
特定のテーマを更新します:

wp theme update astra

または、すべてのテーマを一度に更新します:

wp theme update --all

テーマの削除
不要になったテーマを削除します:

wp theme delete twentytwentythree

WP-CLIでプラグインを管理する

プラグイン管理はWP-CLIが最も時間を節約するところである。ダッシュボードで何十回もクリックするような一括操作が可能です。

プラグインのリスト

wp plugin list

サンプル出力:

名称ステータス更新バージョン
ウーコマースアクティブnone8.5.1
ヨースト・ソアクティブ利用可能21.0
エレメンタ不活発none3.18.0

プラグインのインストール
プラグインをスラッグでインストールします:

wp plugin install woocommerce

インストールしてアクティベートする:

wp plugin install yoast-seo --activate

プラグインの有効化と無効化
プラグインを有効化します:

wp plugin activate elementor

プラグインを無効にする(デバッグに便利):

wp plugin deactivate elementor

すべてのプラグインを一度に停止する(「死の白画面」デバッグの救世主):

wp plugin deactivate --all

プラグインの更新
特定のプラグインを更新します:

wp plugin update yoast-seo

すべてのプラグインを更新する:

wp plugin update --all

特定のプラグインを一括アップデートから除外することもできます:

wp plugin update --all --exclude=woocommerce

WordPressコアの更新と修復

WordPressをアップデートし続けることは、セキュリティ上非常に重要です。WP-CLIはこのプロセスを透過的かつ制御可能にします。

アップデートのチェック

wp core check-update

WordPressのアップデート
最新バージョンにアップデートしてください:

wp core update

コア・アップデートの後、データベース・スキーマを更新するのは良い習慣だ:

wp core update-db

チェックサムの検証
サイトがハッキングされた疑いがある場合、コアファイルが変更されていないことを確認できます:

wp core verify-checksums

これはWordPressの公式リポジトリのチェックサムとファイルを比較します。

コアの再インストール
ファイルが破損している場合、コンテンツに影響を与えることなく強制的に再インストールすることができます:

wp core download --force --skip-content

コンテンツ、ユーザー、データベースの管理

WP-CLIを使用すると、サイトのデータを直接操作することができます。

ユーザー管理
ユーザーをリストアップする:

wp user list

新しい管理者を作成する:

wp user create newadmin [email protected] --role=administrator --user_pass=securepass123

ユーザーパスワードを更新する:

wp user update 1 --user_pass=newpassword

ユーザーを削除し、そのコンテンツを再割り当てする:

wp user delete 5 --reassign=1

データベース操作
データベースをファイルにエクスポートする:

wp db export backup.sql

ファイルからデータベースをインポートする:

wp db import backup.sql

データベースを最適化する:

wp db optimize

WordPressデータベースに直接接続したMySQLコンソールを開く:

wp db cli

検索と置換(正しい方法)

WordPressサイトを手動で新しいドメインに移動するのは、データがデータベース内でシリアライズされていることが多いため、リスクが高い。単純なSQLの検索と置換では、ウィジェットやテーマオプションが壊れてしまいます。WP-CLIはシリアライズを正しく処理します。

標準検索-置換

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

ドライ・ラン(プレビュー)
コマンドを実行する前に、何が変更されるかを常にチェックする:

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

置換を伴うエクスポート
ライブデータベースはそのままに、ファイル内で置換されたデータベースをエクスポートすることができます:

wp search-replace 'old.com' 'new.com' --export=migrated-db.sql

高度なメンテナンスクロンとオブジェクトキャッシュ

Cron ジョブの管理
スケジュールされたイベントを表示します:

wp cron event list

すべてのcronイベントを直ちに実行する:

wp cron event run --due-now

トランジェントとキャッシュの管理
オブジェクトキャッシュをクリアする:

wp cache flush

期限切れのトランジションをすべて削除する:

wp transient delete --expired

スクリプトによるタスクの自動化

WP-CLIコマンドをBashスクリプトに組み合わせて、自動メンテナンスを行うことができます。

例週次メンテナンススクリプト
maintain.sh という名前のファイルを作成する:

#!/bin/bash
# Update everything
wp core update
wp core update-db
wp plugin update --all
wp theme update --all

# Cleanup
wp transient delete --expired
wp cache flush
wp db optimize

echo "Maintenance complete."

実行可能なファイル(chmod +x maintain.sh )を作成し、それを実行すると、数秒でサイトの完全なメンテナンスを実行できます。

SSH経由でWP-CLIをリモートで使用する

エイリアスを設定すれば、コマンドを実行するためにサーバーにログインする必要はない。

ローカルのwp-cli.yml

@prod:
  ssh: [email protected]/var/www/html
@dev:
  ssh: [email protected]/var/www/html

これで、ローカルマシンからリモートサーバー上のコマンドを実行できるようになった:

wp @prod plugin list
wp @dev core version

ベストプラクティス

  • 常にバックアップ:一括更新や検索置換コマンドを実行する前に、wp db export を実行してください。
  • ドライランを使用する:検索置換の場合は、常に最初に--dry-run
  • Rootとして実行しないでください:WP-CLIはrootとして実行すると警告を発します。ウェブサーバーユーザー(例:www-data )または特定のユーザーアカウントで実行する方が安全です。
  • ステージングでテストする:WP-CLIを使用して本番サイトをステージングにクローンし、そこで更新スクリプトをテストしてから本番サイトに適用します。

結論

WP-CLIは、WordPressの管理をクリックの連続から、スクリプト可能な合理化された操作に変えます。バージョンのチェックやプラグインの一覧表示といった簡単なコマンドから始めることで、高度な自動化の基盤が構築されます。今すぐ WP-CLI をワークフローに組み込むことで、WordPress プロジェクト全体で数え切れないほどの時間を節約できます。