ブログ
12.212025
WordPressで「重大なエラーが発生しました」と表示されたときの原因と対処方法
「重大なエラーが発生しました」と表示されたときに、まず行うべき確認
WordPressで「重大なエラーが発生しました」と表示される場合、 すでにPHPの処理が途中で停止しています。 これは単なる表示不具合ではなく、 WordPressが「処理を続けると危険」と判断した結果です。
重要なのは、原因を推測で判断しないことです。 更新直後であっても、見た目が真っ白であっても、 実際の原因はまったく別の箇所にあるケースが少なくありません。
デバッグモードを有効にして、停止している処理を可視化する
WordPressは通常、致命的エラーの詳細を画面に表示しません。 そのため、まずはデバッグモードを有効にして、 「どのファイルで」「どの処理が」「なぜ止まったのか」を確認します。
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);
上記を wp-config.php に設定すると、
エラー内容が画面、またはログとして出力されます。
ここで初めて、WordPressが停止した本当の理由が見えてきます。
表示されるエラーには、大きく分けて次のような種類があります。
- Fatal error(致命的エラー)
- Parse error(構文エラー)
- Call to undefined function(関数未定義)
Fatal error や Parse error が出ている場合、 その時点で処理は完全に停止しています。 この状態では、再読み込みや更新を繰り返しても改善しません。
エラーメッセージから原因箇所を切り分ける
エラー文の中に wp-content/plugins が含まれている場合、
原因はほぼプラグインです。
一方で wp-content/themes が含まれていれば、
テーマファイル、特に functions.php が疑われます。
この段階で重要なのは、 エラーが出ている「行番号」だけを見て判断しないことです。 実際には、その行より前の処理が原因になっているケースも多くあります。
管理画面に入れない場合の安全な切り分け方法
管理画面にアクセスできない場合でも、 FTPやサーバーのファイルマネージャーが使えるなら、 WordPress自体を壊さずに切り分けを行えます。
まず wp-content/plugins フォルダ名を一時的に変更します。
plugins → plugins_old
これにより、すべてのプラグインが無効化されます。 表示が復旧した場合、原因はプラグイン側にあると判断できます。 この方法は、データベースや投稿内容に影響を与えません。
なお、この状態で表示が戻らない場合、 テーマファイル、もしくはPHPバージョンとの不整合を疑います。
PHPバージョンが原因となるケース
サーバー側でPHPが更新された直後にエラーが出た場合、 古い書き方のコードが動作しなくなっている可能性があります。 特に PHP8 以降では、以前は警告レベルだった記述が 致命的エラーになることがあります。
この場合、PHPを一時的に下げるか、 該当コードを修正しなければ復旧しません。 見た目が戻っても、内部で問題が残るケースがあるため注意が必要です。
復旧後に必ず行うべきこと
原因の切り分けが終わり、表示が復旧した場合でも、 デバッグ設定は必ず元に戻してください。
define('WP_DEBUG', false);
define('WP_DEBUG_LOG', false);
define('WP_DEBUG_DISPLAY', false);
デバッグを有効にしたまま運用すると、 エラー情報が外部に表示される可能性があり、 セキュリティ上のリスクになります。
また、表面的に直っただけで、 内部に問題が残っているケースも少なくありません。 再発を防ぐためには、原因箇所の確認と整理が重要です。
「重大なエラーが発生しました」とマルウェアの関係について
「重大なエラーが発生しました」という表示が出た場合、 プラグインやテーマの不具合だけでなく、 マルウェアや不正コードの影響を受けている可能性も考慮する必要があります。
すべての重大エラーがマルウェアによるもの、というわけではありません。 実際には、更新や設定変更に起因するケースのほうが多数です。 ただし、一定の条件が重なった場合、 マルウェアがエラー発生の引き金になることがあります。
マルウェアが原因となる場合の典型的な状況
マルウェアが関与している場合、 次のような状態が同時に見られることがあります。
- 覚えのない管理者アカウントが存在する
- テーマやプラグイン内に見覚えのないPHPコードがある
- 特定のページだけが表示されない、またはリダイレクトされる
- サーバー会社から不審な動作に関する通知が届いている
これらはすべて、単独で起きる場合もあれば、 複数同時に発生する場合もあります。 重大なエラーは、こうした不正コードが PHPの処理を妨げた結果として表面化することがあります。
マルウェアとエラーの関係は固定的ではない
注意すべき点として、 マルウェアの挙動や侵入手法は日々変化しています。 現在知られている症状や判断基準が、 今後も同じ形で当てはまるとは限りません。
そのため、 「このエラーが出たから必ずマルウェア」 「この症状がないから安全」 といった単純な判断は推奨されません。
実際には、 マルウェアの存在そのものよりも、 サイト内部で通常とは異なる挙動が起きていないか を総合的に確認することが重要です。
デバッグ時に注意すべき点
デバッグモードを有効にした際、
エラーの発生箇所が
wp-includes や
コアファイルを指している場合でも、
直ちにWordPress本体の破損と判断するのは早計です。
不正コードがコアファイルの処理に割り込むことで、 結果としてコア側でエラーが発生しているように見えるケースもあります。 この場合、見えているエラー箇所と原因箇所が一致しないことも珍しくありません。
マルウェアの可能性が少しでも疑われる場合、 無理にコードを修正したり削除したりせず、 状況を把握したうえで対応方針を決めることが重要です。
表面的にエラーが解消しても、 不正コードが残ったままの場合、 再発や別のトラブルにつながることがあります。
WordPressののご相談はお気軽にどうぞ
中小企業・個人事業主を中心に、
ホームページやブログのカスタマイズやバナー制作、WordPress更新など幅広く対応しています。
受付時間:9:00~21:00(年中無休)
