WP-CLI
WP-CLI(WordPress Command Line Interface)は、コマンドラインやターミナルからWordPressを管理することができる強力なツールです。標準のWordPress管理画面を介さずにプラグインの更新、テーマの管理、設定の調整のようなタスクをすべてターミナルからコマンドで実行することができます。
WP-CLIの使用には、以下のようなメリットがあります。
- 速度:特に反復的な作業の場合、コマンドラインでの実行は、通常WordPress管理画面での操作よりも高速になります。
- 自動化:自動化されたワークフローのスクリプトに統合可能です。
- リモート管理:WordPressサイトをリモートで管理できます。
- 柔軟性:コマンドとスクリプトを実行できるため、より高度な制御とカスタマイズが可能です。
KinstaでWP-CLIにアクセスする
WP-CLI v2は、弊社のすべてのサーバーにデフォルトでインストールされています。WP-CLIにアクセスするには、SSHでサーバーに接続し、サイトのドキュメントルートに移動します。SSH接続は、WordPress専用マネージドホスティングのすべてのプランでご利用いただけます。
1. SSHでサーバーに接続する
SSH接続の最も簡単な方法は、ユーザー名とパスワードを使用することです。手順はオペレーティングシステムによって異なります。
Windows
Windowsの場合は、SSH接続にターミナルクライアントが必要になります。.msiインストーラを使用して無料のPuTTYクライアントをダウンロードするのがお勧めです。
- PuTTYを起動して、ホストIPアドレスと固有のポート番号(いずれもMyKinstaの「WordPressサイト」>(サイト名)>「情報」>「SFTP/SSH」セクションで参照可能)を入力し、「Open」をクリックします。
- 初回の接続では、RSA2鍵のプロンプトが表示されます。「Yes」を選択すると次回以降、入力したホストが信頼されるようになります。
- ターミナル画面でユーザー名(MyKinstaの「WordPressサイト」>(サイト名)>「情報」>「SFTP/SSH」セクションで参照可能)を入力して、Enterを押します。
- パスワード(MyKinstaの「WordPressサイト」>(サイト名)>「情報」>「SFTP/SSH」セクションで参照可能)を入力し、再度Enterを押します。
これで、SSH経由でWordPressサイトに接続されます。
Mac/Linux
- 「アプリケーション」>「ユーティリティ」>「ターミナル」を開きます。
- MyKinstaにログインして、「WordPressサイト」>(サイト名)>「情報」>「SFTP/SSH」セクションに移動し、「SSHターミナルのコマンド」にカーソルを合わせて「クリップボードにコピーする」をクリックします。
- コピーしたSSHターミナルのコマンドをターミナルに貼り付けて、Enterを押します。
- パスワード(MyKinstaの「WordPressサイト」>(サイト名)>「情報」>「SFTP/SSH」セクションで参照可能)を入力し、再度Enterを押します。
これで、SSH経由でWordPressサイトに接続されます。
2. サイトのドキュメントルートに移動する
WP-CLIコマンドを実行するには、サイトのドキュメントルートに移動します。これは、WordPressファイル(wp-config.php
、wp-content
、wp-admin
、wp-includes
など)が配置されている場所で、以下のコマンドでアクセス可能です。
cd public
これで、WordPressサイトでWP-CLIコマンドを使用できるようになります。利用可能なWP-CLIコマンド一覧はこちらをご覧ください。
便利なWP-CLIコマンド
以下、特に便利なWP-CLIコマンドを厳選してご紹介します。グローバルパラメータやオプションを含むすべてのWP-CLIコマンドはこちらで確認可能です。
オプション
コマンドの最後に追加できる便利なオプションには、以下のようなものがあります。
--skip-themes
:WP-CLIコマンドの実行時にWordPressテーマが読み込まれないようにします。WP-CLIコマンドと競合する可能性のあるテーマを使用している場合などに有用です。--skip-plugins
:WP-CLIコマンド実行時にWordPressプラグインが読み込まれないようにします。WP-CLIコマンドと競合する可能性のあるプラグインを使用している場合などに有用です。--all
:関連するすべての項目にコマンドを適用します。すべてのプラグインやユーザーを更新したい場合などに役立ちます。--dry-run
:実際に変更を加えることなくコマンドの実行を再現します。たとえば検索と置換、全プラグインの更新、投稿の一括削除などのタスクをコマンドで実行した結果を実行前に把握することができます。--format=<format>
:データをエクスポートする際の出力形式を指定します。たとえばwp plugin list
やwp user list
を実行する場合は、table
、json
、csv
形式で出力可能です。
プラグイン
プラグインの一覧を取得する
インストールされているプラグインの一覧を取得するには、以下のコマンドを実行します。
wp plugin list
プラグインを有効にする
プラグインを有効にするには、以下のコマンドを実行します。$plugin
はwp plugin list
で表示されるプラグイン名に置き換えてください。
wp plugin activate $plugin
プラグインを無効にする
プラグインを無効にするには、以下のコマンドを実行します。$plugin
はwp plugin list
で表示されるプラグイン名に置き換えてください。
wp plugin deactivate $plugin
特定のプラグインを更新する
プラグインを更新するには、以下のコマンドを実行します。$plugin
はwp plugin list
で表示されるプラグイン名に置き換えてください。
wp plugin update $plugin
すべてのプラグインを更新する
すべてのプラグインを更新するには、以下のコマンドを実行します。
wp plugin update --all
プラグインをロールバックする
プラグインを更新してサイトの何かが壊れてしまった場合には、以下のコマンドを実行して特定のバージョンにロールバックすることができます。$plugin
はwp plugin list
で表示されるプラグイン名に、$version
は指定するバージョン番号に置き換えてください。
wp plugin update $plugin --version=$version
URL
トップページのURLを設定する
トップページのURLを設定するには、以下のコマンドを実行します。$URL
は設定するURLに置き換えてください。
wp option update home '$URL'
サイトのURLを設定する
サイトのURLを設定するには、以下のコマンドを実行します。$URL
は設定するURLに置き換えてください。
wp option update siteurl '$URL'
ユーザー
WordPressユーザーの一覧を取得する
WordPressユーザーの一覧を取得するには、以下のコマンドを実行します。
wp user list
新規ユーザーを追加する
新規ユーザーを追加するには、以下のコマンドを実行します。$username
と$emailaddress
はそれぞれ実際のユーザー名とメールアドレスに、$role
は付与するユーザー権限(例:管理者であれば「administrator」)に置き換えてください。
wp user create $username $emailaddress -–role=$role
ユーザーのパスワードをリセットする
ユーザーのパスワードをリセットするには、以下のコマンドを実行します。$username
はwp user list
で表示されるユーザー名に置き換えてください。
wp user reset-password $username
ユーザー情報を更新する
ユーザー情報を更新するには、以下のコマンドを実行してください。$user
はwp user list
で表示されるユーザー名に、$field
は更新するフィールドに置き換えてください。また、$value
は更新する情報に置き換えます。
wp user update $user -—$field=$value
キャッシュ
キャッシュをクリアするコマンドを使用するには、Kinsta MU(Must-Use)プラグインがサイトにインストールにされている必要があります。
すべてのキャッシュをクリアする
サイトキャッシュ、エッジキャッシュ、CDNキャッシュ、Redisキャッシュを含むすべてのキャッシュをクリアするには、以下のコマンドを実行します。
wp kinsta cache purge --all
フルページキャッシュとエッジキャッシュをクリアする
フルページキャッシュとエッジキャッシュをクリアするには、以下のコマンドを実行します。
wp kinsta cache purge
エッジキャッシュをクリアせずにサイトキャッシュをクリアする
サイトキャッシュのみをクリアするには、以下のコマンドを実行します。
wp kinsta cache purge --site
CDNキャッシュをクリアする
CDNキャッシュのみをクリアするには、以下のコマンドを実行します。
wp kinsta cache purge --cdn
Redisキャッシュをクリアする
Redisキャッシュのみをクリアするには、以下のコマンドを実行します。
wp kinsta cache purge --object
オブジェクトキャッシュをクリアする
オブジェクトキャッシュのみをクリアするには、以下のコマンドを実行します。
wp cache flush
キャッシュが再構築されるため、一時的に読み込みに時間がかかる可能性があります。
検索と置換
WordPressサイトで検索と置換を実行する際は、バックアップを作成し、--dry-run
オプションを使用して、実行前に置換される内容を確認することをお勧めします。
古いドメインを新しいドメインに置き換える
古いURLを新しいURLに置き換えるには、以下のコマンドを実行します。$old-domain
は現在のURLに、$new-domain
は新しいURLに置き換えてください。
wp search-replace '$old-domain' '$new-domain' --skip-columns=guid
--skip-columns=guid
を使用することで、データベースのguid
列に一意な識別子として保存されているURLを変更し、投稿のURLが破損することを回避できます。上のコマンドは、メールアドレスのドメインを置き換えたい場合にも使用できます。
HTTPをHTTPSに置き換える
URLをHTTPからHTTPSに置き換えるには、以下のコマンドを実行します。
wp search-replace 'http://' 'https://' --skip-columns=guid
--skip-columns=guid
を使用することで、データベースのguid
列に一意な識別子として保存されているURLを変更し、投稿のURLが破損することを回避できます。使用しない場合は、メディア添付ファイルの問題が発生する可能性があります。
トラブルシューティング
WP-CLIでコマンドを実行する際に問題が発生する場合は、テーマやプラグインが致命的なエラーを引き起こしている可能性があります。WP-CLIコマンドに以下を追加することで、テーマやプラグインを読み込まないようにすることができます。
--skip-themes --skip-plugins
例えば、テーマとプラグインを読み込まずにユーザーの一覧を取得するには、以下のコマンドを実行します。
wp user list --skip-themes --skip-plugins
特定のプラグインの読み込みを回避するには、以下のコマンドを実行します。$plugin
は実際のプラグイン名に置き換えてください。複数のプラグインを指定する場合は、カンマ(,)で区切ります。
--skip-plugins=$plugin,$plugin
例えば、以下のようになります。
wp user list --skip-plugins=wordpress-seo,wordfence