ある日「このサイトで重大なエラーが発生しました」と表示されたら

いつも通りサイトを開いたら、コンテンツの代わりに「このサイトで重大なエラーが発生しました。」という一文だけが表示されている――。WordPressを運用していると、ある日突然こうした画面に出くわすことがあります。管理画面にすら入れなくなることもあり、慌ててしまう方は少なくありません。

ただ、安心してください。この「重大なエラー」の画面は、実は復旧の手がかりが用意されている、比較的“親切な”エラーです。この記事では、画面の意味と、原因のプラグインやテーマを特定して直すまでの手順を、実際にローカル環境でこのエラーを再現しながら解説します。

「重大なエラー」は真っ白・DBエラーとどう違う?

WordPressのトラブル画面は似ていて紛らわしいのですが、症状によって原因の方向性が異なります。まずは自分がどれに当たるかを見分けましょう。

症状 画面の様子 主な原因の方向
重大なエラー 「このサイトで重大なエラーが発生しました」の一文 PHPの致命的エラー(プラグイン・テーマ・PHP互換)
真っ白(WSOD) 本当に何も表示されない・白紙 PHPエラー+エラー表示が抑制されている状態
データベース接続エラー 「データベース接続確立エラー」の一文 DBへの接続情報・DBサーバー側の問題

「重大なエラー」と「真っ白」は、実は根っこが同じPHPの致命的(fatal)エラーです。違いは、エラーをそのまま画面に出すか、隠して代わりに定型メッセージを見せるか。WordPress 5.2以降は、真っ白で放り出す代わりに「重大なエラー」画面を見せ、同時に復旧用の仕組みを起動するようになりました。ここが今回の主役です。真っ白の場合はWordPressが真っ白になったときの対処、DBエラーの場合はデータベース接続確立エラーの直し方もあわせてご覧ください。

まず確認すべきは「管理者宛のメール」

WordPress 5.2から搭載された「致命的なエラーの保護機能(リカバリーモード)」は、重大なエラーを検知すると、サイト管理者のメールアドレスへ自動で通知を送ります。このメールには、次のような重要な情報が入っています。

  • どのプラグイン、またはテーマがエラーを起こしているか(原因の名指し)
  • エラーの技術的な内容(何行目でどんなエラーか)
  • 「リカバリーモード」で管理画面に入るための特別なログインリンク

このメールさえ届いていれば、復旧はぐっと楽になります。リンクから管理画面に入れば、問題のプラグインやテーマだけが一時的に停止された状態でログインでき、原因を安全に切り離せるからです。まずはサイト管理者に設定しているメールボックスを確認してください。

ここまでの整理と、この先の分かれ道

ここまでをまとめると、「重大なエラー」はPHPの致命的エラーが原因で、多くの場合は特定のプラグインやテーマが引き金です。そしてWordPressは、その犯人を名指ししたメールを管理者へ送ってくれています。つまりメールが届いていれば、それに沿って対処するのが最短ルートです。ここからは、実際にリカバリーモードで直す手順と、やっかいな「メールが届かない」ケースの対処を、技術的な内容も交えて解説します。

【技術解説】リカバリーモードで原因を特定する

今回、解説のためにローカル環境で、わざとテーマの functions.php に存在しない関数の呼び出しを書き込み、重大なエラーを再現してみました。実際に表示されたのが、次の画面です。開発モード(WP_DEBUGが有効)で再現したため、エラーの原因になったファイル名と行番号まで表示されています。本番の公開環境では、こうした詳細は伏せられ「このサイトで重大なエラーが発生しました。」の一文だけが出るのが一般的です。逆に言えば、この詳細表示を意図的に出せれば、原因の特定は一気に進みます(出し方は後述します)。

届いたメール内のリンクからリカバリーモードでログインすると、管理画面の上部に「1つのプラグイン(またはテーマ)が原因で〜」という通知が表示され、該当するものが一時停止されています。あとは、次の手順で切り分けます。

  • 名指しされたプラグイン/テーマを更新する、または別のものに置き換える
  • 直前に更新・追加したものが原因なら、いったん停止して様子を見る
  • テーマが原因なら、標準テーマ(Twenty Twenty-Fourなど)に一時的に切り替えて切り分ける

原因を処理したら、リカバリーモード画面の「終了」ボタンで通常モードに戻します。多くの場合、これで復旧できます。

やっかいなのは「メールが届かない」ケース

ここからが本題かもしれません。実務で困るのは、肝心のリカバリーモードのメールが、どこにも届いていないケースです。私自身、お客様のサイトで対応した際に、管理者本人にもメールが届いておらず、通常の導線が使えなかったことがあります。

メールが届かない主な理由は次のとおりです。

  • サーバーからのメール送信が正しく設定されていない(WordPressのメール送信は届かないことが多いのが実情です)
  • 管理者メールアドレスが古いまま、または受信できないアドレスになっている
  • 迷惑メールフォルダに振り分けられている
  • そもそもエラーが重すぎて、通知処理まで到達していない

メールに頼れないときは、ファイルを直接触って原因を切り離すのが確実です。FTPやサーバーのファイルマネージャで、次のように対処します。

  • プラグインが疑わしいときwp-content/plugins フォルダの名前を一時的に plugins_off などに変えると、全プラグインが停止し、管理画面に入れるようになることが多いです。入れたら1つずつ有効化して犯人を探します
  • テーマが疑わしいとき:使用中テーマのフォルダ名を変えると、WordPressが標準テーマにフォールバックします
リカバリーモードのメールから原因のプラグインを特定するイメージ

エラーの中身そのものを確認したいときは、wp-config.php に次の設定を一時的に加えると、画面や wp-content/debug.log に詳細なエラー内容を出せます。原因のファイルと行番号がわかるため、切り分けが一気に進みます。

これらの設定は、原因を確認するための一時的なものです。エラー内容には内部のパスなどが含まれるため、確認が終わったら必ず削除し、本番で表示したままにしないでください。

引き金になりやすいのは「長期間ほうっておいたサイト」

経験上、重大なエラーが起きやすいのは、しばらく更新せずに放置していたサイトを、久しぶりにまとめて更新したときです。とくにテーマやプラグインを一気にアップデートした直後に起こりがちで、古い状態と新しいバージョンの間で互換性が崩れることが原因になります。

これを防ぐ考え方は、他のトラブルと共通です。更新は一気にやらず、バックアップを取ってから1つずつ。詳しくはWordPressを安全に更新する手順バックアップの取り方をご覧ください。日頃から少しずつ更新していれば、そもそも大きくズレず、重大なエラーに出くわす確率も下がります。

まとめ:慌てず「メール → リカバリーモード → ファイル操作」の順で

「このサイトで重大なエラーが発生しました」は、一見ショッキングですが、原因の多くは特定のプラグインやテーマで、WordPress自身が犯人を教えてくれる仕組みまで用意しています。まずは管理者メールを確認し、リカバリーモードで原因を切り離す。メールが届かなければ、ファイルを直接触ってプラグイン・テーマを停止する。この順番で進めれば、多くは自力でも復旧できます。

とはいえ、「触るのが怖い」「メールも届かず手がかりがない」「直したはずなのに再発する」という場面もあります。私たちEdel Heartsは、こうしたWordPressの緊急トラブルを原因特定から復旧まで対応するWordPress専門チームです。動かなくなって困ったときは、無理をせずお気軽にご相談ください。

この記事をシェア