検証環境:WordPress 6.9.4 / PHP 8.2 / WP-CLI 2.12.0 / Xserver / macOS Tahoe 26.4
WP-CLIとは?何ができて何が嬉しい?
WP-CLIは、WordPressをコマンドライン(ターミナル)から操作するための公式ツールであり、プラグイン全更新・DB一括バックアップ・URL置換など、管理画面で何十回もクリックしていた作業をコマンド1行で実行できます。
普段、WordPressの管理画面でマウスをクリックして行っている作業を、wp ...というコマンドを入力するだけで実行できるようになります。「黒い画面に文字を打つ」と聞くと難しそうに感じるかもしれませんが、実際に使ってみると、その便利さと効率の良さに驚くはずです。
WP-CLIは2011年頃から開発が始まり、現在ではWordPress公式プロジェクトの一部として認められています。世界中の開発者やサイト管理者に愛用されており、WordPress運用における事実上の標準ツールです。一度覚えてしまえば日々の運用が劇的に効率化されるため、初心者の方にも積極的に習得をおすすめします。
WP-CLIでできること(よく使うもの)
WP-CLIで実行できる操作は非常に多岐にわたりますが、日常的によく使うものをピックアップして紹介します。これらの操作は管理画面からも実行できますが、WP-CLIを使うことで圧倒的に速く、確実に実行できるようになります。
WordPress本体の更新は、wp core updateで本体を最新版に更新し、wp core update-dbでデータベースの更新を行います。管理画面で複数回クリックする作業が、たった2つのコマンドで完了します。
プラグインの管理では、wp plugin update --allで全プラグインを一括更新できます。10個、20個とプラグインがインストールされているサイトでも、このコマンド一つで全て最新版になります。個別に更新したい場合はwp plugin update プラグイン名で特定のプラグインだけを更新することも可能です。
テーマの管理も同様で、wp theme update --allで全テーマを更新できます。使用していないテーマも更新しておくことはセキュリティ上重要なので、この一括更新は非常に重宝します。
ユーザー管理では、新規ユーザーの作成、権限の変更、パスワードのリセットなどをコマンドで実行できます。特にパスワードを忘れた管理者のパスワードをリセットする際に、データベースを直接操作せずにWP-CLIで安全に変更できるのは大きなメリットです。
データベース操作では、wp db exportでバックアップ(エクスポート)、wp db importで復元(インポート)が可能です。phpMyAdminにログインしてエクスポート設定を選んで…という手間が、コマンド一つで完了します。
URL置換のwp search-replaceは、サイト移行時に最も頼りになるコマンドです。旧ドメインから新ドメインへの一括置換を、データベース内の全テーブルに対して安全に実行できます。手作業やSQLでは漏れやミスが発生しやすい作業ですが、WP-CLIなら確実です。
キャッシュ削除はwp cache flushで実行できます。オブジェクトキャッシュやページキャッシュのクリアが、管理画面にアクセスせずにサーバー側から直接実行できます。
Cron実行では、wp cron event run --due-nowで実行待ちのCronジョブを手動実行できます。「予約投稿が公開されない」といったトラブルの際に、Cronの状態確認と手動実行ができるのは心強いです。
障害対応として、--skip-pluginsや--skip-themesオプションを使うことで、問題のあるプラグインやテーマを読み込まずにWP-CLIを実行できます。管理画面が真っ白になった時でも、WP-CLI経由で原因のプラグインを無効化できる可能性があります。
なぜWP-CLIが便利なのか(初心者でも恩恵が大きい3つの理由)
1) 圧倒的に速い(クリック作業が消える)
管理画面でプラグインを10個更新するなら、「更新」→「次へ」→「また更新…」を10回繰り返す必要があります。WP-CLIならwp plugin update --allのたった1行で全て完了します。1サイトあたり5分かかっていた更新作業が30秒に短縮され、10サイト管理しているなら50分が5分になります。
2) 同じ手順を「再現」できる(手順書がコマンド列になる)
文章で書かれた手順書は実行する人によって解釈が異なることがありますが、WP-CLIのコマンドはコピー&ペーストすれば誰が実行しても同じ結果になります。手順書をコマンド列として記述しておけば、それ自体がシェルスクリプトとして保存でき、次回からは1コマンドで全手順が実行されます。
3) 管理画面に入れない時の「最後の手段」になる
プラグインの致命的エラーで管理画面が真っ白になった時でも、SSHでサーバーに接続し、--skip-pluginsオプション付きでWP-CLIを実行すれば、問題のあるプラグインを無効化できます。この「いざという時の保険」としての価値だけでも、WP-CLIを習得しておく意義があります。
まずは超基礎:CLI/SSH/ディレクトリの考え方
WP-CLIを使うために最低限押さえるべき概念は、CLI(ターミナルで命令する仕組み)、SSH(サーバーへの接続手段)、ディレクトリ(コマンドを打つ場所)の3つだけです。
1) CLI(Command Line Interface)=ターミナルで命令する世界
CLIとは「コマンドラインインターフェース」の略で、テキストを入力してコンピュータに命令を出す方式のことです。WindowsならPowerShellやコマンドプロンプト、MacならターミナルがCLI環境にあたります。
GUI(グラフィカルユーザーインターフェース)ではマウスでアイコンをクリックして操作しますが、CLIではキーボードから文字を打ち込んで操作します。一見すると原始的で難しそうですが、同じ操作の繰り返しや複雑な条件での処理を行う場合は、CLIの方が圧倒的に効率的です。WP-CLIはコマンドの形式が統一されておりヘルプも充実しているため、CLI初心者でも比較的スムーズに習得できます。
2) SSH=サーバーに入る「入口」
SSH(Secure Shell)は、ネットワーク経由で別のコンピュータに安全に接続するための仕組みです。WP-CLIは基本的にWordPressが設置されているサーバー上で実行するため、リモートサーバーに接続する手段としてSSHが必要になります。
自分のPCからレンタルサーバーにSSHで接続し、そのサーバー上でWP-CLIコマンドを実行する、というのが一般的な流れです。なお、ローカル開発環境(DockerやLocal by Flywheelなど)を使っている場合は、SSHを使わずに直接ターミナルからWP-CLIを実行できます。
3) ディレクトリ(場所)=「今どこでコマンドを打ってるか」が超重要
WP-CLIを使い始めた方が最も遭遇しやすいエラーがこれです。
このエラーの原因は、ほとんどの場合「今いる場所(カレントディレクトリ)がWordPressのインストールディレクトリではない」だけです。WP-CLIは実行時にカレントディレクトリからwp-config.phpを探し、それを見つけることでWordPressの設定を読み込みます。
解決方法は2つあります。cd /path/to/wordpressでWordPressのディレクトリに移動してからコマンドを打つ方法と、--path=/path/to/wordpressオプションを付けてWordPressの場所を明示的に指定する方法です。この2つを理解しておくだけで、WP-CLIで詰まることが一気に減ります。
WP-CLIを使う前提条件(ここで詰まりがち)
WP-CLIの導入前に確認すべき前提条件は「PHPがCLIで動くこと」「WordPressの設置パスがわかっていること」「ファイルの書き込み権限があること」の3点で、これを怠ると”インストールしたのに動かない”状態に陥ります。
前提1:PHPがCLIで動くこと
WP-CLIはPHPで書かれたプログラムです。サーバー上でPHPがコマンドラインから実行できる必要があります。確認方法は簡単で、ターミナルでphp -vを実行するだけです。
|
1 |
php -v |
PHPのバージョン情報が表示されればOKです。ただし、特にレンタルサーバー環境では「Webサーバー経由で動くPHP」と「コマンドラインで動くPHP」が別物になっていることがあります。WebサイトではPHP 8.2を使っているのに、CLI用のPHPはバージョン7.4のまま、ということがあり得ます。この問題への対処法は第2章のサーバー別セクションで詳しく解説します。
前提2:WordPressの場所がわかっていること
WP-CLIを実行するには、WordPressがインストールされている場所(ディレクトリパス)を知っている必要があります。よくある設置場所は、public_html/(Xserverなど多くのレンタルサーバー)、/var/www/html/(VPSやDockerのデフォルト)、htdocs/(一部のサーバー)などです。
場所がわからない場合は、wp-config.phpを検索するのが確実です。
|
1 2 |
# ホームディレクトリ配下を探す例 find ~ -maxdepth 4 -name wp-config.php 2>/dev/null |
前提3:権限(ファイルを書けるか)
WP-CLIでプラグインやテーマの更新を行うとファイルを書き換えます。ファイルの所有者やパーミッションが適切でないと、更新が失敗したり、所有者が変わってしまう問題が発生します。まずはls -laで現在のファイル状況を確認してください。理想的にはWP-CLIを実行するユーザーとWordPressファイルの所有者が同じであることです。
インストール(Phar推奨)と動作確認
WP-CLIのインストールは、Pharファイルをダウンロードして実行権限を付けるだけで完了します。sudoが使えるVPS環境でもsudoが使えないレンタルサーバーでも、手順に大きな違いはありません。
Pharとは、PHPアプリケーションを1つのファイルにパッケージしたもので、環境による差が最も少ないインストール方法です。
インストール(sudoが使える環境)
sudoが使える環境では、WP-CLIをシステム全体で使えるように/usr/local/binに配置します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# WP-CLIのPharファイルをダウンロード curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar # 動作確認(この時点ではphpコマンドで実行) php wp-cli.phar --info # 実行権限を付与 chmod +x wp-cli.phar # システムで使えるように移動(sudoが必要) sudo mv wp-cli.phar /usr/local/bin/wp # wpコマンドとして動作確認 wp --info |
最後のwp --infoでバージョン情報やPHP情報が表示されればインストール完了です。
インストール(sudoができない環境:レンタルサーバー向け)
多くのレンタルサーバーではsudoが使えません。その場合は~/binディレクトリにWP-CLIを配置します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# ~/bin ディレクトリを作成 mkdir -p ~/bin cd ~/bin # WP-CLIのPharファイルをダウンロード curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar # 実行権限を付与 chmod +x wp-cli.phar # wpという名前に変更 mv wp-cli.phar wp # PATHに ~/bin を追加(bashの場合) echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc source ~/.bashrc # 動作確認 wp --info |
~/.bashrcにPATH設定を追加することで、次回以降のSSH接続時もwpコマンドが使えるようになります。zshを使っている場合は~/.zshrcに追加してください。
動作確認(まずはこれだけ)
インストールが完了したら動作確認を行います。
|
1 2 3 4 5 6 7 8 9 10 11 |
# WP-CLI自体の動作確認 wp --info # WordPressのディレクトリに移動 cd /path/to/wordpress # WordPressのバージョンを確認 wp core version # プラグイン一覧を表示 wp plugin list |
これらのコマンドが正常に実行され、WordPressのバージョン番号やプラグイン一覧が表示されればセットアップ完了です。wp core versionでエラーが出る場合は、ほぼ--pathの指定の問題かCLIのPHPバージョンの問題です。
WP-CLIの「型」:コマンドの読み方・ヘルプの使い方
WP-CLIのコマンドはwp <カテゴリ> <操作> [引数] [--オプション]という一貫した形式で、この「型」を覚えれば新しいコマンドも直感的に組み立てられます。困ったらwp helpが最強の辞書です。
コマンドの基本形式
カテゴリは操作対象(plugin / theme / core / user / dbなど)、操作は何をするか(list / install / update / deleteなど)を表します。
|
1 2 |
# プラグインをインストールして有効化する例 wp plugin install contact-form-7 --activate |
このコマンドを分解すると、pluginがカテゴリ、installが操作、contact-form-7が引数(プラグインのslug)、--activateがオプション(インストール後に有効化も行う)です。この形式を理解していると「テーマを更新したい」ならwp theme update、「ユーザーを作成したい」ならwp user createと直感的にコマンドを組み立てられます。
ヘルプが最強の辞書(初心者はここに全部ある)
|
1 2 3 4 5 6 7 8 |
# 全体のヘルプ(利用可能なカテゴリ一覧) wp help # 特定カテゴリのヘルプ(pluginで使える操作一覧) wp help plugin # 特定コマンドの詳細ヘルプ(plugin installの使い方) wp help plugin install |
wp help plugin installを実行すると、コマンドの説明、引数、オプション一覧、具体的な実行例まで表示されます。特に「EXAMPLES」セクションは実際の使用例がそのままコピペできる形で載っているので、最初はここを参考にするのがおすすめです。
必須級のグローバルオプション(–path / –url / –skip-plugins など)
グローバルオプションの中でも、–path(WordPress場所指定)、–skip-plugins / –skip-themes(障害時の必殺技)、–debug(原因調査用)の3種は、WP-CLIを安全に運用するうえで必ず覚えておくべきオプションです。
–path=<path>(WordPressの場所を指定)
--pathオプションはWordPressのインストールディレクトリを明示的に指定します。このオプションを付けることで、現在のディレクトリがどこでも指定したWordPressに対してコマンドを実行できます。
|
1 2 |
# どこからでも指定したWordPressに対して実行できる wp --path=/var/www/html plugin list |
特にcronジョブやシェルスクリプトからWP-CLIを実行する場合に重要です。--pathを毎回指定する習慣をつけておくと「実行場所を間違えた」という事故を防げます。
–url=<url>(どのサイトとして動かすか)
単一サイトの場合はあまり意識する必要がありませんが、マルチサイト環境では必須のオプションです。
|
1 2 |
# 特定のサイトに対して操作 wp --url=https://example.com option get home |
マルチサイトの詳細は第2章で解説しますが、まずは「マルチサイトでは--urlが重要」ということを覚えておいてください。
–skip-plugins / –skip-themes(障害対応の必殺技)
WP-CLI実行時にプラグインやテーマの読み込みをスキップするオプションです。問題のあるプラグインがあるとWP-CLI自体も巻き込まれてエラーになることがありますが、これを付ければ最小構成でWordPressを起動できます。
|
1 2 |
# プラグインとテーマを読み込まずに実行 wp --skip-plugins --skip-themes core version |
障害対応時の「切り札」として覚えておくと非常に心強いオプションです。
–debug(何が起きているか見たい時)
|
1 2 |
# デバッグ情報を表示しながら実行 wp --debug plugin list |
詳細な内部処理のログが表示されるため、「なぜかうまく動かない」という時の原因調査に役立ちます。普段は必要ありませんが、トラブルシューティング時に覚えておくと便利です。
まず覚える10コマンド(これだけで運用がラクになる)
WP-CLIには数百のコマンドがありますが、日常で頻繁に使うのは10個程度です。「情報確認」「プラグイン管理」「テーマ管理」「キャッシュ」「DBバックアップ」の5カテゴリ×2コマンドを覚えれば、日常運用の大半をカバーできます。
1) 情報確認系
|
1 2 3 4 5 |
# WP-CLI自体の情報(PHPバージョン等も確認できる) wp --info # WordPressのバージョン確認 wp core version |
2) プラグイン管理系
|
1 2 3 4 5 6 7 8 |
# プラグイン一覧を表示 wp plugin list # 更新可能なプラグインだけを表示 wp plugin list --update=available # 全プラグインを一括更新 wp plugin update --all |
3) テーマ管理系
|
1 2 3 4 5 |
# テーマ一覧を表示 wp theme list # 全テーマを一括更新 wp theme update --all |
4) キャッシュ・リライトルール系
|
1 2 3 4 5 |
# オブジェクトキャッシュをクリア wp cache flush # リライトルールを再生成 wp rewrite flush |
5) DBバックアップ(作業前の儀式)
|
1 2 |
# 日時付きのファイル名でDBをエクスポート wp db export backup-$(date +%F-%H%M).sql |
$(date +%F-%H%M)の部分は実行時の日時に置き換わります。例えばbackup-2026-04-01-1430.sqlのようなファイル名になり、いつのバックアップかが一目でわかります。
安全運用の基本:バックアップ・メンテ・ログ
WP-CLIを安心して使い続けるための「型」は、「作業前にDBをexport」「メンテナンスモードをONにしてから更新」「実行したコマンドと結果を記録」の3ステップに集約されます。
1) 何かする前にDBをexport(作業前の儀式)
|
1 2 |
# 作業前にバックアップを取得 wp db export before-$(date +%F-%H%M).sql |
ファイル名をbefore-作業内容-日時.sqlのような形式にしておくと後から探しやすくなります。
2) メンテナンスモードを使う(更新時)
更新中にユーザーがアクセスすると、表示崩れやデータベースの不整合が発生する可能性があります。短時間の更新作業でもメンテナンスモードをONにしてから行うと安全です。
|
1 2 3 4 5 6 7 8 9 10 |
# メンテナンスモードをON wp maintenance-mode activate # ここで更新作業を実行 wp plugin update --all wp theme update --all wp core update # メンテナンスモードをOFF wp maintenance-mode deactivate |
作業完了後は必ずメンテナンスモードをOFFにすることを忘れないでください。
3) 作業ログを残す(最低でも履歴をメモ)
記録すべき情報は、実行したコマンド(そのままコピペできる形式で)、実行した日時、結果(成功/失敗)、作業者(複数人運用の場合)の4点です。ログの残し方はテキストファイルへの追記でもSlack投稿でも構いません。重要なのは「残す習慣」を作ることです。
「困ったらここ」:よくあるエラーと最短解決
WP-CLIでよく遭遇するエラーは「WordPressが見つからない(pathの問題)」「PHPバージョンの不一致」「プラグインの巻き添えエラー」の3パターンがほとんどで、それぞれ–path指定・PHP切替・–skip-pluginsで解決できます。
Error: This does not seem to be a WordPress installation.
最も頻繁に遭遇するエラーです。WP-CLIがwp-config.phpを見つけられなかった時に発生します。
対策:--pathオプションで正しいWordPressディレクトリを指定します。
|
1 |
wp --path=/path/to/wordpress core version |
それでも解決しない場合は、指定したパスに本当にwp-config.phpが存在するか確認してください。パスのタイプミスが原因であることも多いです。
PHP関連で失敗する(CLIのPHPが違う)
特にレンタルサーバー環境で発生しやすいエラーです。Web用のPHPとCLI用のPHPが別バージョンになっていることが原因です。
|
1 2 3 4 5 6 7 8 |
# CLIのPHPバージョンを確認 php -v # PHPの実行ファイルのパスを確認 which php # WP-CLIが使っているPHP情報を確認 wp --info |
サーバー別の具体的な解決方法(別バージョンのPHPへのパスを指定する方法など)は、第2章で詳しく解説します。
プラグインの致命的エラーでWP-CLIも巻き込まれる
|
1 2 3 4 5 |
# 最小構成でプラグイン一覧を表示 wp --skip-plugins --skip-themes plugin list # 問題のプラグインを無効化 wp --skip-plugins --skip-themes plugin deactivate 問題のプラグインslug |
どのプラグインが原因かわからない場合は、wp plugin deactivate --allで全プラグインを無効化し、一つずつ有効化して原因を特定する方法もあります。
次章の予告(実戦編へ)
第1章で「WP-CLIが動く・基本コマンドが打てる」状態になりました。第2章ではこの基礎の上に、Xserver/ConoHaなどサーバー別の具体的なハマりポイントと解決法、コピペで使える移行・保守テンプレート、マルチサイト運用、CI/CD連携まで実践的に解説します。
第2章で扱う内容
サーバー別の注意点では、Xserver、ConoHa、さくらレンタルサーバー、ローカルDocker環境それぞれの特有の問題と解決方法を詳しく解説します。PHPパスの違いや権限の問題など、環境固有のハマりポイントを事前に潰せるようになります。
移行・保守のテンプレートでは、安全なアップデート、ドメイン移行、障害復旧、定期メンテナンスの定型スクリプトを提供します。コピペしてすぐに使えるテンプレートなので、自分の環境に合わせてカスタマイズしてください。
マルチサイト運用では、--networkオプションや--urlオプションを使った操作方法を、具体例を交えて解説します。
CI/CD連携では、GitHub Actionsを例に、CIパイプラインでWP-CLIを使う方法を紹介します。
WP-CLIは、一度覚えてしまえばWordPress運用の景色が変わる強力なツールです。「難しそう」「怖い」という印象から、「便利」「手放せない」という感覚に変わる日も近いでしょう。ぜひ第2章も読み進めてください。












コメント