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 に存在する必要があります。
- PHP for Windowsの公式サイトからPHPをダウンロードし、インストールする。
- PHPディレクトリをWindowsのPATH環境変数に追加します。
- コマンドプロンプトを開き、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
サンプル出力:
| 名称 | ステータス | 更新 | バージョン |
|---|---|---|---|
| トゥエンティトゥエンティフォー | アクティブ | none | 1.0 |
| トゥエンティトゥエンティースリー | 不活発 | none | 1.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
サンプル出力:
| 名称 | ステータス | 更新 | バージョン |
|---|---|---|---|
| ウーコマース | アクティブ | none | 8.5.1 |
| ヨースト・ソ | アクティブ | 利用可能 | 21.0 |
| エレメンタ | 不活発 | none | 3.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 プロジェクト全体で数え切れないほどの時間を節約できます。