アリスです。
ついさっき(2017年12月16日)のことです。私は本サイトの管理画面からプラグインの更新を行いました。プラグイン更新後から、サイトに接続できなくなりました。
こういうときは慌ててはダメです。まずは落ち着いてネットで情報を調べましょう。
しかし、本当にネットは適当な情報ばかりが、上位にずらずらと表示されます。
その中には確かに治る方法もあるのですが、それは解決方法じゃないだろというような記事ばかりです。(記事後半で説明します)
理にかなった対処方法が書かれてある記事は見つけられませんでした。
順を追って考えればわかりますので、本記事で調査方法を習得してください。
発生しているエラー内容を知る
サイトに繋がらなくなった時は、最初にどういったエラーがでているかを確認ましょう。
どういったエラーがでている何をすべきかが変わります。
今回、HTTP ERROR 500とブラウザに表示されていました。サイトに接続したら、HTTPの500エラーが出たということです。
500はサーバーの内部エラーのことで、サーバの内部で何らかの問題がおきているということです。
プラグインを最新に更新したことにより、プラグイン同士の何らかの干渉が発生し、それが原因で繋がらなくなっていると予測されます。
ここで大事なのは、エラーの詳細はどうでもいいということです。この原因を特定したところで何の意味もないからです。
利用者にとっては繋がらない問題を解決できればそれでいいからです。
プラグインを元に戻すことはできない?
一度更新してしまったプラグインのバージョンを元に戻すことはできません。
というと嘘になってしまいますが、データベースを元に戻す(ロールバックという)をすれば可能です。ただし、初心者がやるともっと大きな問題に発展する可能性がありますので、やめておきましょう。
理解のある人がする分には問題ないですが、上記のような特殊なことをする場合は、事前にバックアップは必ず取りましょう。
しかしながらこれから紹介する方法で調べれば、バックアップを取る必要もないですし、安全に原因を突き止めて、対処することができます。
原因元のプラグインを削除する
ここからが重要です。誰でも簡単にできる方法なので安心してください。
何をするかというと、更新したプラグインを一つずつ無効にしていき、どのプラグインが原因か探っていくのです。
どのプラグインかわかれば、それを削除すれば接続できるようになります。
こういった当然すべきことを紹介せずに、pluginのフォルダを丸ごと別名に変えるなどのふざけた対処方法を紹介している記事が検索上位にヒットするのが本当に腹正しいです。グーグルの検索アルゴリズムは、馬鹿だということです。
プラグインを全部消せば繋がって当然です。しかし、数十個のプラグインを入れている人にとっては、そんなふざけた解決策はありえないわけです。
プラグインのインストール、設定をするのに、相当な時間がかかるからです。プラグインのインストールなんて、最初に1回しかしなくていいことなので、覚えているわけがないですし、また最初から調べなおす必要があります。
原因元のプラグインだけを削除する。これが正しい対処方法です。そのやり方を書きたいと思います。
更新したプラグインはどれか?
最初に何のプラグインを更新したのかを調べましょう。それが分からないんだよ!という方が多いと思います。私自身もプラグインの更新をしましたが、いちいち何のプラグインを更新したかなんてみていません。
どうやって調べるかというと、FTPでWordPressのサーバにログインして更新日時から調べます。FTPでのログイン方法は契約している会社によって変わります。
日本人であれば、X-Serverやロリポップなどが多いと思います。ブラウザで契約している会社のWebにログインして、表示されるメニューの中にFTPのログインメニューがあると思います。
方法はググればすぐにわかります。私はValue Serverを使っていますが、FTPサーバにログインすると下記のような画面が表示されます。
次に、wp-contentフォルダの直下にあるpluginフォルダを開きます。
そして、上記画面の変更時間をクリックしてください。変更時間順に並び順が変わります。
何のプラグインを更新したかわからなくても、更新した日付はわかりますよね。私の場合、赤枠で囲った、6つプラグインが更新されていることがわかりました。
どれが影響しているかを調べるために、一つずつプラグインのフォルダ名を変更し、変更した後サイトに接続できるかどうかを確かめていきます
サイトに接続できなければ、そのプラグインは関係ないので、元の名前に戻し、次のプラグインのフォルダ名を変更します。
私は6つのプラグインを見たときに、w3-total-cahceが怪しいと思ったので、それから確かめることにしました。下記の手順です。
①w3-total-cacheのフォルダ名の左のチェックボックスにチェックを付ける
②右上の名前の変更をクリックし、フォルダ名の先頭に任意の文字列をつける。(分かればいいので、なんでもいいですが、私の場合は「org-w3-total-cache」としました。)
③別ブラウザなどから、サイトにアクセスする。
見事にアクセスできました。つまりw3-total-cahceの更新により、500エラーがでていることがわかりました。
キャッシュ系のプラグインは、設定も複雑で、いろんなところに影響を及ぼしやすいのです。
サイトの表示速度は速くなるのですが、このようなエラーがあるので困ったものです。
プラグインが無効になっていることを確認する
サイトにアクセス出来たら、管理画面からプラグインを表示してみましょう。
先ほど、フォルダ名を変更したW3 Total Cacheのプラグインが下記のように無効になっています。削除してしまいましょう。
W3 Totacl Cacheのエラー
プラグインを削除したまではよかったのですが、なぜか画像のアップロードができなくなりました。画面の上のほうに、下記の2つのエラーが表示されていました。
W3 Total Cache Error: some files appear to be missing or out of place. Please re-install plugin or remove パス/ドメイン名/WPフォルダ/wp-content/advanced-cache.php.
W3 Total Cache Error: some files appear to be missing or out of place. Please re-install plugin or remove パス/ドメイン名/WPフォルダ/wp-content/db.php.
要はadvancec-cache.phpとdb.phpがおかしな状態になっているということです。
消して問題ありません。いきなり消すのが不安の人は、先ほどと同じ要領で、名前をリネームしてください。
私は名前の先頭にorgとつけました。これで再度画像をアップロードしたところ、うまくいきました。リネームしたフォルダやファイルは、最後に削除しておきましょう。
チェックを付けて、削除ボタンで削除できます。
削除後、W3 Total Cacheを再インストールして、サイトがちゃんとつながるかどうか確認しましたが、やはりつながりませんでした。
今回はW3 Total Cacheが原因でしたが、他のプラグインであろうと、今回のように調べて対処するのが正しい方法です。