目次
WordPressのサイトや管理画面に「このサイトで重大なエラーが発生しました」と表示される。これは WordPress 5.2 以降の保護機能が、致命的なエラーを検知してサイトを止めた状態です。多くの場合、管理者宛に復旧用のメールが届いており、その「リカバリーモード」を使えば、管理画面が開けなくても安全に原因を取り除けます。
当サイト記事 難易度表記について
- 【難易度:簡単】WordPressの管理画面だけでできる・すぐ試せること
- 【難易度:普通】少し手間がかかる(念のため、事前にバックアップを取りましょう)
- 【難易度:やや難しい】FTPや設定ファイルへの操作が必要(これらが分からない場合や、不慣れな場合は実施するかは慎重に検討ください)
- 【難易度:難しい】専門の知識が必要。場合によっては致命的なトラブルにもなりかねませんので自信がない場合は専門家へご相談を
まず、復旧メールとリカバリーモードを確認する【難易度:普通】
WordPressは重大なエラーを検知すると、管理者のメールアドレスへ自動で復旧メールを送ります。件名は「あなたのサイトで技術的な問題が発生しています」。本文のリンクを開くと「リカバリーモード」で管理画面に入れ、原因になっているプラグインやテーマを停止できます。リンクの有効期限はおおむね1日です。早めに開いてください。
メールが届かない場合の対処【難易度:やや難しい】
メールアドレスが古い、サーバーのメール送信が止まっている、などの理由でメールが届かないこともあります。FTP かファイルマネージャーでサーバーにアクセスできる場合は、次の順で試します。
- プラグインを止める。
wp-content/pluginsフォルダの名前をplugins-offなどに変えると、全プラグインが止まります。表示が戻れば、いずれかのプラグインが原因です。フォルダ名を戻し、1つずつ有効化して原因を特定します。 - テーマを既定に戻す。管理画面に入れるなら [外観] → [テーマ] で別のテーマに変えます。入れない場合は、
wp-content/themesの使用中テーマのフォルダ名を変えると、標準テーマ(Twenty Twenty 系)に切り替わります。 - メモリ不足を補う。
wp-config.phpにdefine( 'WP_MEMORY_LIMIT', '256M' );を1行足して、PHPのメモリ上限を上げます。メモリ不足が原因なら、これで表示が戻ります(戻らなければ別の原因か、サーバー側の上限です)。
エラーの内容を確認する
wp-config.php を開き、WP_DEBUG の行を true に変えて、すぐ下に WP_DEBUG_LOG の行を足します。wp-content/debug.log にエラーが記録され、どのファイルの何行目で止まったかがわかります。
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
※ コードをコピーすると引用符が全角(‘ ’)に変わることがあります。動かないときは、半角の ‘ で囲み直してください。
確認が終わったら、変更した2行は元に戻してください(WP_DEBUG は false に、WP_DEBUG_LOG の行は削除)。
画面に何も出ない「真っ白」との違い
エラーメッセージも出ず、ただ真っ白になる場合は、保護機能が働く前の段階で止まっていることがあります。対処が一部異なるため、WordPressの画面が真っ白になったときの対処法を参照してください。
ハッキングが疑われるサイン
身に覚えのないファイルが増えている、管理者ユーザーが勝手に追加されている、海外サイトへ転送される。こうした兆候があるときは、エラーの修正だけでなく、改ざんの調査と再発防止が必要です。
よくある質問
- リカバリーモードのメールはどこに届きますか。
- 「設定 → 一般」で登録している管理者メールアドレスです。心当たりのアドレスの受信箱と迷惑メールフォルダを確認してください。
