昨日、自分が管理している友人のサイト更新をしようと、WordPressにログインしようとしたところ、画面に、「サイトに重大なエラーが発生しました。」と表示されました。
※今回、対処法のひとつとして紹介しますが、少々テンパっていたので、スクリーンショットはありません。
まずは、冷静に調査
サイトは正常に表示されていて、慌てることはなかったので、深呼吸をして落ち着きます。
まずはデバッグモードにして、エラーが何か原因を調べました。
サーバーに接続して、wp-config.phpにある以下の記述を「false」から「true」に変えます。
define( ‘WP_DEBUG’, false );
define( ‘WP_DEBUG’, true );
すると、先ほどの「サイトに重大なエラーが発生しました。」の上に、エラーコードが表示されました。
注意点としては、デバッグモードにしてエラーコードを調べた後はすぐに元に戻します。なぜなら、正常に表示されているサイト上部にもその記述が表示されますので。
デバッグモードで見ると、原因はプラグイン
エラーコードを見ると、「All In One WP Security & Firewall」というプラグインが原因でした。
ちなみに、そのプラグインでブルートフォースアタックを回避するためにWordPressのログインURLを「/wp-admin」から別のものに変えていました。
まずは、原因がわかったのでホッとしました。それ以外の原因ならかなり厄介だったと思います。他の方々のブログを見ると、バックアップを保存してWordPressを再インストールするケースが多くありましたから。
サーバーのPHPバージョンアップでもなく、WPのアップデートでもなく、プラグインが原因なら最も簡単に解決です!
対象プラグインのフォルダをまるごと削除して解決
対象プラグインが保存されているフォルダは、「wp-content>plugins」の階層にある「all-in-one-wp-security-and-firewall」なのですぐにわかりました。
念のため、「all-in-one-wp-security-and-firewall」フォルダをローカルにバックアップとして保存しておきます。
FTPで対象フォルダを丸ごと削除。
そして、プラグインで変更していたURLが元に戻っていると思い、「/wp-admin」でアクセスすると、WPの管理画面にすんなり入れました。
念には念を入れて、不要なプラグインを停止・削除
もしかするとプラグインのアップデートが問題かもしれないと思い、以下の対処をしておきました。
- 使用してないプラグインを削除
- 使用しているが、なくても良いプラグインは停止して削除
- 使用しているプラグインは手動でアップデート
今回は簡単に対処できましたが、この「サイトに重大なエラーが発生しました。」という画面が出ると本当に気分が落ち込むので、プラグインには注意したいと思います。
また、WordPressを使用するための基本的なことですが、サイトのバックアップ(ファイルやDB)も定期的にしておくと安心ですね。