WordPressのサイトを開いたら「このサイトで重大なエラーが発生しました」と表示されて、ページが見られなくなった。
「重大なエラー」という強い言葉に、初心者の方はとても不安になりますよね。
ですが、このエラーは原因がある程度はっきりしていることが多く、落ち着いて対処すれば解決できるケースがほとんどです。
この記事では、WordPressで「重大なエラーが発生しました」と表示される原因と、初心者の方でも試せる解決方法をやさしく解説します。
「重大なエラーが発生しました」とは?
「このサイトで重大なエラーが発生しました」というメッセージは、WordPressを動かしているPHPというプログラムで、致命的なエラー(Fatal error)が起きている状態を示しています。
処理の途中でプログラムが止まってしまい、ページを最後まで表示できなくなっているのです。
以前のWordPressでは、こうしたときに画面が真っ白になるだけでしたが、現在は原因の特定をしやすくするために、このようなメッセージが表示されるようになっています。
大きな特徴:管理者宛にメールが届く
このエラーの大きな特徴は、WordPressに登録している管理者用のメールアドレス宛に、自動でメールが届くことです。
このメールには、エラーの手がかりとなる情報と、「リカバリーモード」と呼ばれる特別なモードでログインするためのリンクが記載されています。
まずはこのメールが届いていないかを確認しましょう。これが解決への一番の近道になります。
リカバリーモードで原因を特定・修正する
リカバリーモードとは、エラーの原因となっているプラグインやテーマを一時的に停止し、管理画面に入れるようにする仕組みです。
使い方の流れは次の通りです。
- 届いたメールに記載されたリカバリーモードのリンクをクリックする
- 表示されたログイン画面で、通常通りユーザー名とパスワードを入力してログインする
- 管理画面に「問題が発生しているプラグイン(またはテーマ)」が表示されるので、その内容を確認する
- 問題のあるプラグインを「停止」または「削除」する
- サイトの表示が元に戻ったか確認する
リカバリーモードのリンクには有効期限があるため、メールが届いたらできるだけ早めに対応しましょう。
メールが届かない場合の対処
リカバリーモードのメールが届かないこともあります。
まずは、迷惑メールフォルダに振り分けられていないかを確認してください。
また、WordPressに登録しているメールアドレスが古いものや使っていないものだと、そもそも受け取れません。
メールが確認できない場合は、次に紹介するFTPを使った方法で、プラグインやテーマを直接無効化して対処します。
原因①:プラグインの不具合・競合
重大なエラーのもっとも多い原因が、プラグインの不具合や競合です。
新しいプラグインを有効化した直後や、更新した直後にエラーが出た場合は、そのプラグインが原因である可能性が高いです。
また、複数のプラグイン同士が干渉し合う「競合」によってエラーが起きることもあります。
このプラグインの無効化は他のエラー記事でも解説していますが、この記事でも一応おさえておきます。
管理画面に入れない場合は、FTPソフトやサーバーのファイルマネージャーでwp-content内のpluginsフォルダを開き、対象プラグインのフォルダ名を変更すると強制的に無効化できます。
どれが原因か分からない場合は、pluginsフォルダ自体の名前を変えてすべてのプラグインをまとめて無効化し、エラーが消えたら一つずつ有効化して原因を特定しましょう。
原因②:テーマやfunctions.phpの問題
テーマやfunctions.phpの編集ミスも、重大なエラーの原因になります。
こちらも他の記事と共通しますが、この記事でも触れておきます。
特にfunctions.phpを編集した直後にエラーが出た場合は、その編集が原因であることがほとんどです。
編集した部分を元に戻すのが最優先です。原因がテーマかどうかを確認したい場合は、FTPでwp-content内のthemesフォルダを開き、使用中テーマのフォルダ名を変更すると、標準テーマに自動で切り替わり切り分けられます。
原因③:PHPバージョンの不一致
使用しているPHPのバージョンと、テーマやプラグインが対応するバージョンが合っていない場合も、重大なエラーの原因になります。
特に、古いプラグインと新しいPHPバージョンの組み合わせでは、プログラムの互換性の問題でエラーが起こりやすくなります。
レンタルサーバーの管理画面でPHPバージョンを確認し、使っているテーマやプラグインが推奨するバージョンに合わせて変更してみましょう。
あわせて、テーマやプラグインを最新の状態に更新しておくことも、互換性の問題を防ぐうえで効果的です。
エラー内容を特定する方法
原因が分からないときは、エラーの中身を確認して手がかりを得ましょう。
WordPressのデバッグモードを有効にすると、隠れていたエラー内容をログに記録できます。wp-config.phpを開き、次のように書き換えます。
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);PHPこれでwp-contentフォルダ内にdebug.logが作られ、エラー内容が記録されます。
また、契約しているレンタルサーバーの管理画面にあるエラーログにも、具体的なエラー内容が残っていることが多いので、あわせて確認するとよいでしょう。
原因が分かって解決したら、デバッグモードは必ず無効(false)に戻しましょう。本番サイトでエラー表示を出したままにするのは、セキュリティ上も望ましくありません。
それでも直らないときは
ここまでの方法を試しても直らない場合は、無理をせず落ち着いて対応しましょう。
バックアップがあれば、エラーが出る前の状態に戻すのが安全です。
また、レンタルサーバーのサポートに問い合わせると、サーバー側の状況やエラーログを確認してもらえる場合があります。
自分での解決が難しいと感じたら、WordPressに詳しい専門家へ相談するのも安全で確実な選択肢です。
まとめ
「重大なエラーが発生しました」は、WordPressのPHPで致命的なエラーが起きている状態を示すメッセージです。
まずは管理者メールに届くリカバリーモードのリンクを確認し、そこから原因のプラグインやテーマを停止するのが基本の流れです。
原因として多いのは、プラグインの不具合や競合、テーマやfunctions.phpの問題、PHPバージョンの不一致です。
メールが届かない場合はFTPでの無効化やデバッグモードを活用し、それでも難しい場合はバックアップやサーバー会社のサポートを頼ることも検討してみてください。
- 「重大なエラー」と画面が真っ白なのは同じものですか?
-
どちらもPHPのエラーが原因という点では近いトラブルです。以前は画面が真っ白になるだけでしたが、現在はエラーの特定をしやすくするために「重大なエラーが発生しました」というメッセージが表示されるようになっています。
- リカバリーモードのメールが届きません。
-
まずは迷惑メールフォルダを確認してください。また、WordPressに登録しているメールアドレスが古い・使っていないものだと受け取れません。確認できない場合は、FTPでプラグインやテーマを直接無効化して対処しましょう。
- どのプラグインが原因か分かりません。
-
すべてのプラグインを一度に無効化し、エラーが消えるか確認します。消えたら一つずつ有効化していき、エラーが再発したものが原因のプラグインです。FTPの場合はpluginsフォルダ自体の名前を変更すると一括で無効化できます。
- プラグインを更新したら重大なエラーが出ました。
-
更新したプラグインが原因である可能性が高いです。そのプラグインを一時的に無効化し、PHPバージョンとの互換性や他のプラグインとの競合がないかを確認してください。古いプラグインと新しいPHPの組み合わせでエラーが起きやすい点にも注意しましょう。
- どうしても自分で直せない場合はどうすればいいですか?
-
バックアップがあればエラー発生前の状態に戻すのが安全です。それも難しい場合は、契約しているレンタルサーバーのサポートに問い合わせるか、WordPressに詳しい専門家に相談することをおすすめします。
参考にします