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クライアントをダウンロードするのがお勧めです。

  1. PuTTYを起動して、ホストIPアドレスと固有のポート番号(いずれもMyKinstaの「WordPressサイト」>(サイト名)>「情報」>「SFTP/SSH」セクションで参照可能)を入力し、「Open」をクリックします。
  2. 初回の接続では、RSA2鍵のプロンプトが表示されます。「Yes」を選択すると次回以降、入力したホストが信頼されるようになります。
  3. ターミナル画面でユーザー名(MyKinstaの「WordPressサイト」>(サイト名)>「情報」>「SFTP/SSH」セクションで参照可能)を入力して、Enterを押します。
  4. パスワード(MyKinstaの「WordPressサイト」>(サイト名)>「情報」>「SFTP/SSH」セクションで参照可能)を入力し、再度Enterを押します。

これで、SSH経由でWordPressサイトに接続されます。

Mac/Linux

  1. アプリケーション」>「ユーティリティ」>「ターミナル」を開きます。
  2. MyKinstaにログインして、「WordPressサイト」>(サイト名)>「情報」>「SFTP/SSH」セクションに移動し、「SSHターミナルのコマンド」にカーソルを合わせて「クリップボードにコピーする」をクリックします。
  3. コピーしたSSHターミナルのコマンドをターミナルに貼り付けて、Enterを押します。
  4. パスワード(MyKinstaの「WordPressサイト」>(サイト名)>「情報」>「SFTP/SSH」セクションで参照可能)を入力し、再度Enterを押します。

これで、SSH経由でWordPressサイトに接続されます。

2. サイトのドキュメントルートに移動する

WP-CLIコマンドを実行するには、サイトのドキュメントルートに移動します。これは、WordPressファイル(wp-config.phpwp-contentwp-adminwp-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 listwp user listを実行する場合は、tablejsoncsv形式で出力可能です。

プラグイン

プラグインの一覧を取得する

インストールされているプラグインの一覧を取得するには、以下のコマンドを実行します。

wp plugin list

プラグインを有効にする

プラグインを有効にするには、以下のコマンドを実行します。$pluginwp plugin listで表示されるプラグイン名に置き換えてください。

wp plugin activate $plugin

プラグインを無効にする

プラグインを無効にするには、以下のコマンドを実行します。$pluginwp plugin listで表示されるプラグイン名に置き換えてください。

wp plugin deactivate $plugin

特定のプラグインを更新する

プラグインを更新するには、以下のコマンドを実行します。$pluginwp plugin listで表示されるプラグイン名に置き換えてください。

wp plugin update $plugin

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

すべてのプラグインを更新するには、以下のコマンドを実行します。

wp plugin update --all

プラグインをロールバックする

プラグインを更新してサイトの何かが壊れてしまった場合には、以下のコマンドを実行して特定のバージョンにロールバックすることができます。$pluginwp 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

ユーザーのパスワードをリセットする

ユーザーのパスワードをリセットするには、以下のコマンドを実行します。$usernamewp user listで表示されるユーザー名に置き換えてください。

wp user reset-password $username

ユーザー情報を更新する

ユーザー情報を更新するには、以下のコマンドを実行してください。$userwp 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
この記事は役に立ちましたか?