WordPressを使っていると、管理画面にプラグインの更新というお知らせが届くはずです。当ブログにもこの表示がされていたので、深く考えずに更新したところ「500 Internal Server Error」という表示になってしまいました。

internal-server-error

ということで、こういったことが起こると少なからずビビります。これまで問題なく更新できていたので「何が起こった!!!!」ってことになったわけです。


そこで「プラグイン アップグレード エラー」といったキーワードで検索してみました。すると、「画面が真っ白になった!」「ホームページを開いてもエラー表示しかされない….」という記事がザクザクと……


なので、同じ問題を抱えているひとはけっこう多いのかもしれません。


「自分だけじゃなかったー」ということがわかっただけ、少し安心です。


管理画面にこの通知が表示されると、性能が以前のバージョンよりも良くなっているようなイメージがありませんか。でもWindowsの例にもあるように、ヴァージョンアップやグレードアップがされたからといって、必ずしも便利になったり質が改善されていたりするわけではないようです。


なので、「プラグインを更新してください。」と表示されてもプラグインはバシバシ更新しない方が良いのかもしれません。それと、プラグインを更新するなら元に戻す方法を確認した上でアップグレードしたほうが、失敗したときでも慌てないで済むはずです。


そこで今回は、WordPressプラグインのアップグレードでエラーが出たときの対処法を紹介します。ちなみに、不具合が起こりやすいプラグインはキャッシュ系プラグインです。






プラグインをすべて停止する

まずは一番簡単な方法から説明します。WordPressの管理画面にアクセスできるなら、「インストールしているすべてのプラグインをいったん停止」してみて下さい。


管理画面にアクセスできないときの解決策は、順を追って説明します。


プラグインを全部停止させてから、一つひとつ有効化していきます。ただし、エラー表示の原因と思われるプラグインは、一番最後に有効化していきましょう。


うまくいかないこともあるかと思いますが、停止させると何故かエラーが消えることがあります。それとキャッシュ系プラグインは、有効化してから時間が経過しているときでも不具合を起こすことがあるので注意が必要です。


有効化してからすぐにエラーになるときは、問題を特定しやすいですが、キャッシュ系プラグインを有効化している場合は、いつ問題が生じてもおかしくないと思います。


というのは、このブログでもキャッシュ系プラグインが原因で、WordPress内の表示が歪むことがあるからです。たとえば、下の画面のように……


Wordpress

このブログの場合、有効化しているWP Fastest Cacheを停止すると元に戻すことが出来ます。ただ、しばらく時間が経つとまた同じような表示になります。(:_;)


キャッシュ系プラグインはサイトの速度を高速化させることができるので、少し不便ですが不具合がおこったら停止という方法で対応中です。


プラグインで不具合を出さないための対策

プラグインを有効化する前に、プラグインの必須条件を確認しておくと良いと思います。この条件をクリアーしていないと、エラーになることがあるからです。


そこでまずは「プラグイン」から「インストール済みプラグイン」をクリックします。

plugin

各プラグインに「詳細を表示」があるのでクリックします。まずはAkismet Anti-Spamを選択してみます。

plugins-detail

画面右側をみてください。Akismet Anti-Spamの場合、必須バージョンが4.0以上になっています。なので、これよりもWordPressが古い場合は更新が必要です。

akismet anti-spam

EWWW Image Optimizerなら、WordPressのバージョンは4.6以上、PHPのバージョンは5.4以上が必要です。

ewww-image-optimizer

BackWPupなら、WordPressのバージョンは3.9以上、PHPのバージョンは5.3以上が必要です。backwpup

Media from FTPなら、WordPressのバージョンは3.6.0以上、PHPのバージョンは5.3.0以上が必要です。

media-from-ftp

これは2018年8月の必須条件になるので、時間が経てば更新されると思います。エラーの画面が出る前に調べてみて下さい。


ブログにインストールしているプラグインの必須条件を見ていて思ったのですが、WordPressとPHPのヴァージョンに必須条件を設けているプラグインが多くあります。


レンタルサーバー会社によってサービス内容が違うので、どのレンタルサーバでも自由にPHPのヴァージョンを変更できるというわけではないのかもしれません。


でも、エックスサーバーなら、PHPのヴァージョンを選択することが出来ます。そこで、エックスサーバーのバージョン変更を説明します。


エックスサーバーでPHPのバージョンを上げる

サーバーをレンタルするなら、エックスサーバーがおすすめです。表示速度が速く安定したサーバーです。ブログの表示速度が遅い場合、またサーバーが頻繁にダウンしてしまうということなら参考にしてみて下さい。


wpXレンタルサーバー


まずは、エックスサーバーのサーバーパネルにログインします。


xserver

基本の設定では設定対象ドメインが未指定になっているので、PHPのヴァアージョンを変更するドメインを選択して「設定する」をクリックします。

select-domain

「PHP Ver.切替」をクリックします。

php

「変更後のバージョン」で表示されているバージョンに切り替えることができますが、推奨されているものを選んで下さい。

php-version

「PHPバージョン切替(確認)」をクリックしたら、これでヴァージョン変更は完了です。

php-version-confirmed

(注)EWWW Image Optimizerを更新した場合、ヴァージョンが必須条件よりも古いとエラー表示になると思います。気を付けて下さい。

WordPressの管理画面にログインできない場合

WordPressの管理画面にログインできないときには、FTTP接続でサーバーからプラグインのファイルをダウングレードするか、もしくはプラグインを削除していきましょう。


FTTPのインストールと使い方は下の記事を参考にしてみて下さい。無料のFTTPソフト、FileZillaのインストール方法と使い方を紹介しています。


FileZillaのダウンロード方法と使い方(MACも対応)


WordPress.orgのサイトでは、プラグイン別に古いヴァージョンをダウンロードすることができます。ただ、すべてのブラグインで以前のヴァージョンがダウンロードできるとは限りません。


たとえば、EWWW Image Optimizerの場合は、以前なら「https://wordpress.org/plugins/ewww-image-optimizer/download」からこういったファイルを手に入れることが出来たようです。でも現在は、表示されないようになっていると思います。


なので、古いヴァージョンが手に入らないときは、ダウングレードは諦めるしかないのかなと思ってしまいがちです。でも、バックアップファイルをとっておけば、プラグインのファイルも保存されているので、そのファイルをサーバーにアップロードすれば問題が解決します。


バックアップ用のプラグインのインストールと初期設定は「ワードプレス初心者向け|おすすめのプラグインと設定方法」という記事で紹介しています。

WordPress Organizationからダウングレードする方法

たまたまプラグインの「Cotact Form7」では、以前のヴァージョンを入手できるようになっていました。そこでこのプラグインをダウングレードしてみます。


まずは現在のバージョンを確認しておきます。

contact-form-503

「インストール済みプラグイン」から「詳細を表示」をクリックします。次に「WordPress.orgプラグインページ」をクリックして「詳細を表示」をクリックします。

show-detail

画面を一番下までスクロールして下さい。すると「以前のバージョン」という項目があると思います。

download-version

現在のヴァージョンが「5.0.3」になっているので、「5.0.2」を選択してからダウンロードをクリックします。

select-version

次にダウンロードしたZipファイルを解凍します。これでダウングレードするための準備が整いました。そこでいよいよFileZillaを起動してください。


FTP接続でも十分に活用できるのですが、セキュリテが気になる方には、FTP接続よりも安全性の高いSFTP接続がオススメです。SFTPはFTPに比べ少し設定が面倒になりますが、FTPの設定とそれほど変わりはないと思います。


それに、一度しておけば後は問題なく使うことができます。なので「やってみよう!」という方は、エックスサーバーにFileZillaでSFTP接続を設定する方法という記事を参考にしてみて下さい。


FTPで接続した場合もSFTPで接続した場合でも、サーバーにアクセスしていることには変わりはありません。それと、ファイルをアップロードしたりダウンロードしたりする手順は同じです。


私は普段SFTPで接続しているので、ここではSFTP接続でダウングレードする方法を紹介しています。。


サーバーにアクセスしたら画面右側から「ドメイン名→public.html→wp-content→plugins→エラーの原因になっているプラグインファイル」と進んで下さい。


すると画面右下にこのファイルに含まれているものが表示されると思います。

sftp-contact-form7

この状態で、今度は画面の左側から解凍したCotact Form7をクリックして下さい。この場合、画面左下にこのファイルに含まれているものが表示されます。

contact-form-select

コンテンツの全てを選択してからアップロードをクリックします。

upload-contact-form7

すると「ターゲットファイルはすでに存在しています。」と表示されるので「上書き」にチェックが入っていることを確認してから「常にこのアクションを使用する」にチェックマークを入れて「OK」をクリックします。

contact-form-save

最後に「転送完了・すべてのファイルが正しく転送されました」と表示されていればヴァージョンのダウングレードは完了です。

upload-complete

これで、更新したコンタクトフォームは一つ前のヴァージョンに変更されています。もしも、コンタクトフォームの更新がエラーの原因になっているならば、元の状態に戻っているはずです。エラーが消えているか確認してみて下さい。


また、ファイルを削除するなら、目的のファイルを選択してから右クリックします。すると画面のように「削除」が表示されます。クリックすればファイルを完全に消すことができますが、ここで削除してしまうと元に戻せなくなるので注意して下さい。

sftp-delate-file

バックアップファイルからダウングレードする方法

バックアップ用のプラグインをインストールして有効化しておくと便利です。定期的にすべてのデーターをバックアップする設定をしておけば、その中に前のバージョンのファイルが含まれているので、それを使用することが出来ます。


まずは、FTP接続かSFTP接続でサーバーにアクセスします。

sftp-connect

次に「ドメイン名/public_html/wp-content/uploads/」の順に進んで下さい。すると、バックアップファイルがあると思います。私の場合は、週に1回のペースで全てのデータをバックアップする設定にしているので「20180224backup」というファイルをクリックします。


画面の右下にある「2018-02-24_22-49-07_53IZPU2G04.zip」というファイルをダウンロードします。

select-backup-file

ファイルをダウンロードしたら解凍します。ただこのファイルはサイズが大きいので、解凍には時間がかかると思います。

open-zip

解凍が完了したら、「\2018-02-24_22-49-07_53IZPU2G04\wp-content\plugins」の順で進んで下さい。するとそこに再度使用したいプラグインがあるはずです。

select-plugin

次にこのプラグインを先ほどと同じようにアップロードして更新したファイルに上書きすれば、ダウングレードの完了です。


さいごに

ブログやサイトを運営していると、エラー表示がでたり画面が真っ白になったり、WordPressの管理画面にアクセスできなくなったり…….


ということが起こるかと思います。私も始めのうちは、本当に驚いていました。でも、バックアップのデータを取っておけば、ほとんどのケースで元に戻すことができます。


サイトの重要なファイル、たとえば「.htaccess」や「.php」といったファイルもこの方法で元に戻せるので参考にしてみて下さい。