WordPressサイトを運営していると、プラグインの更新や競合の問題に遭遇することがあります。この手の問題をデバッグし、更新が原因であることを確認する手っ取り早い方法は、プラグインの以前のバージョン(古いバージョン)をダウンロードして、サイトでテストすることです。この記事では、WordPressプラグインの古いバージョンをダウンロードする4種類の方法をご紹介します。
WordPressプラグインの古いバージョンをダウンロードする方法
プラグインは、WordPressサイトが破損する主な原因のひとつです。死の真っ白画面(WSOD)は、プラグインが原因で発生する典型的なエラーです。サードパーティのサービスが提供する何千もの有料プラグインはもちろんですが、WordPressリポジトリだけでも5万以上のプラグインが存在します。
開発者がどれほど開発に注力しても、すべてのシナリオや競合をテストすることはほぼ不可能。そのため、テスト用に古いバージョンをダウンロードできる機能があると便利です。多くの場合、これによってサイトを修正することができ、開発者に通知して、次のパッチを待つことができます。
なお、プラグインのテストは必ずステージング環境で行うようにしましょう。
- リポジトリから古いバージョンをダウンロード(初心者向け)
- WordPressプラグインをロールバック(初心者向け)
- WP-CLIを使って古いバージョンをダウンロード(上級者向け)
- GitHubから古いバージョンをダウンロード(上級者向け)
方法1. リポジトリから古いバージョンのWordPressプラグインをダウンロードする
WordPressプラグインの古いバージョンをダウンロードする最初の方法は、リポジトリから習得することです。今回は、例として無料プラグインのYoast SEOを使用します。まずは、WordPressのリポジトリでプラグインを検索します。

Yoast SEOを選択して、ページを下にスクロールし、「詳細を表示」をクリックします。

ページの一番下までスクロールすると、プラグインの過去のバージョンをダウンロードするオプションが表示されます。下にあるように、必要に応じて過去にさかのぼることができます。なお、警告メッセージのとおり、プラグインの以前のバージョンは安全でない、または安定していない可能性があるため、テスト目的でのみ利用してください。「ダウンロード」をクリックすると、プラグインの.zipファイルがダウンロードされます。
WordPressプラグインの古いバージョンをダウンロード次に、WordPress管理画面にログインし、「プラグイン」>「新規プラグインを追加」に移動して、「ファイルを選択」をクリックして、先ほどダウンロードした.zipファイルをアップロードします。その後、プラグインを有効化し、必要に応じて、SFTP経由でプラグインをインストールすることもできます。

方法2. WordPressプラグインをロールバックする
2つ目の方法は、無料のWP Rollbackプラグインを使用します。このプラグインは、WordPress.orgのプラグインやテーマをロールバック(またはロールフォワード)することができ、マルチサイトと互換性があります。WordImpressが開発したプラグインで、現在3万以上のアクティブインストールがあり、5つ星の満点評価を得ています。
操作を実行する際には、必ずバックアップを取り、ステージング環境を利用することが重要ですが、Kinstaで数回使用した結果は、非常にうまく機能します。
WP Rollbackプラグインをインストールして、有効化すると、WordPressのリポジトリからインストールされたすべてのプラグインの横に「ロールバック」の選択肢が出現するようになります(サードパーティのプラグインはサポートされていない)。

「Rollback」を選択すると、ロールバックしたいバージョンの選択が求められます。以下のように、リポジトリページの「詳細を表示」から利用可能なバージョンが表示されます。バージョンを選択して、「ロールバック」をクリックしてください。

最終確認と実行中の変更の概要が表示されます。間違いがなければ、「ロールバック」をクリックして完了です。これで、WordPressプラグインの古いバージョンが使えるようになります。

方法3. WP-CLI経由で古いバージョンのWordPressプラグインをダウンロードする
WP-CLI経由で古いバージョンのWordPressプラグインをダウンロードする方法もあります。WP-CLIをインストールする方法はこちらをご覧ください。まずは、現在のバージョンを削除します。手動で名前を変更することもできますが、まずは名前を確認する必要があります。WP-CLIでのプラグイン名は、リポジトリやGit上のフォルダです。この例では、「wordpress-seo」がこれに当たります。

単純にプラグインを削除するには、次のように入力します。なお、プラグインを削除しても、設定はデータベースに残ります。
wp plugin delete wordpress-seo

次に、以下のコマンドを実行して古いバージョンをダウンロードします。ロールバックしたいバージョンに対応するバージョン番号を手動で入力します。今回は例として、Yoast SEOのバージョン4.8をインストールします。
wp plugin install wordpress-seo --version=4.8 --activate

方法4. GitHubから古いバージョンをダウンロードする
最後の方法は、WordPressプラグインをGitHubリポジトリから直接ダウンロードすることです。WordPressプラグインは検索で簡単に見つけることができます。たいていのプラグインはタグ機能を利用しているため、古いバージョンを簡単に見つけることができます(以下参照)。

次に、「Download Zip」をクリックして、WordPressサイトにアップロードします。注)プラグインのパッケージによっては、必ずしもこれがうまくいくとは限りません。また、GitHubからインストールしたプラグインは、自動的に更新されません。したがって、GitHubからダウンロードしたプラグインは、WP Pusherのようなツールを使って同期をとっている場合を除き、テスト目的でのみ利用するようにしてください。
