WordPress のプラグインやテーマを更新した直後に、サイトが真っ白になった、または「このサイトで重大なエラーが発生しました。」と表示された。そんな場面で、ホームページの担当者が自社でできる復旧の手順をまとめました。
結論から言うと、この表示は WordPress が PHP の致命的なエラーを検知したときに出るもので、原因の多くはプラグイン、テーマ、PHP のバージョンの相性です。まず WordPress の管理者メールアドレスに届いたメールを探し、「リカバリーモード」でログインして原因のプラグインかテーマを無効化します。メールがない場合は、サーバーのファイルマネージャーや FTP でフォルダの名前を変えて停止します。
手順は、WordPress.org と developer.wordpress.org の公式ドキュメントで2026年11月時点に確認した内容にもとづいています。画面の文言は WordPress の日本語訳のもので、バージョンによって細かく違う場合があります。
WordPress の「重大なエラー」の表示と意味
WordPress は 5.2 から、PHP の致命的なエラー(fatal error)が起きたときに、何も表示されない真っ白な画面の代わりにエラーの画面を出し、管理者にメールで知らせる仕組みを備えています(Fatal Error Recovery Mode in 5.2)。表示される文言は、見ている画面と状態によって次のように変わります。
| 画面の表示 |
出る場面 |
次にすること |
| このサイトで重大なエラーが発生しました。 |
サイトを見に来た人の画面 |
管理者メールアドレスに届いたメールを探す |
| この Web サイトに重大なエラーが発生しました。サイト管理者のメール受信箱で手順を確認してください。 |
管理画面やログイン画面 |
メールのリンクからリカバリーモードに入る |
| このサイトで重大なエラーが発生し、リカバリーモードになっています。 |
リカバリーモードでログインしている間 |
テーマとプラグインの画面で、停止された項目を確かめる |
| 真っ白な画面、HTTP ERROR 500 |
エラーの画面を表示できない場合など |
FTP やファイルマネージャーでプラグインを停止する |
| Briefly unavailable for scheduled maintenance. Please check back in a minute. |
更新が途中で止まった場合 |
.maintenance ファイルを削除する |
| Error establishing a database connection |
データベースに接続できない場合 |
wp-config.php の設定とサーバーの状態を確かめる |
公開側のエラーの画面は、HTTP のステータスコード 500 で返されます(WP_Fatal_Error_Handler のリファレンス)。そのため、ブラウザや監視の仕組みでは「500 エラー」として見えることもあります。WordPress 5.2 より前のバージョンや、このエラー処理の仕組みが設定で無効にされている場合などは、真っ白な画面になることがあります。表の下の2つは「重大なエラー」とは別の表示ですが、同じように画面が出なくなるため、見分けられるように入れました。
原因の多くはプラグイン・テーマ・PHP の更新
WordPress の公式ドキュメント(Common WordPress errors)は、重大なエラーのよくある原因として、プラグイン同士の競合、テーマとの互換性の問題、互換性のない PHP のバージョン、メモリの上限、WordPress のファイルの破損を挙げています。リカバリーモードの説明でも、こうしたエラーは互換性のない、または不具合のあるプラグインやテーマが原因であることが多いとされています。
直前にしたことが分かれば、原因の見当がつきます。
| 直前にしたこと |
疑う原因 |
最初の対処 |
| プラグインを更新・追加した |
そのプラグインと、WordPress 本体・PHP・ほかのプラグインとの相性 |
そのプラグインを停止する |
| テーマを更新・変更した |
テーマと WordPress 本体・PHP との相性、子テーマのカスタマイズ |
標準のテーマに切り替える |
| サーバーで PHP のバージョンを切り替えた |
新しい PHP に対応していないプラグインやテーマ |
PHP を元のバージョンに戻す |
| WordPress 本体を更新した |
新しい版に対応していないプラグインやテーマ、更新の失敗 |
メールに書かれた原因を確かめ、該当するものを停止する |
| functions.php などのコードを編集した |
書き間違い(構文の誤り) |
編集前のファイルに戻す |
| 特に何もしていない |
自動更新、サーバー側の変更、メモリの上限、改ざん |
メールとエラーログで原因を確かめる |
PHP は、WordPress の公式の動作環境で 8.3 以上が推奨されています(2026年11月時点)。また PHP の開発元のサポート中のバージョンの一覧では、PHP 8.2 のセキュリティサポートは2026年12月31日までです。年末にかけて PHP を切り替える場合は、切り替えの直後に重大なエラーが出ていないか確かめてください。バージョンごとの期限はPHPのサポートはいつまで?にまとめています。
Service
運用保守・集客改善のご相談はフェニックスデザインへナレッジベースを運営するフェニックスデザインが、今のサイトの数字を見るところから対応します。URLを入れるだけの無料簡易診断から。
リカバリーモードで復旧する手順
重大なエラーが起きると、WordPress は管理者のメールアドレスに「[サイト名] サイトで技術的な問題が発生しています」という件名のメールを送ります。メールには、原因と判断されたプラグインやテーマの名前(特定できた場合)、エラーの詳細、リカバリーモードでログインするためのリンクが書かれています。送り先は、管理画面の「設定」→「一般」にある管理者メールアドレスです。wp-config.php に RECOVERY_MODE_EMAIL という定数が設定されている場合は、そのアドレスに送られます(WordPress の開発者向けリファレンス)。
- メールを開き、原因のプラグインやテーマの名前と「エラー詳細」を控えます。あとで制作会社や開発者に相談するときに使います。
- メールにあるリンクを開きます。ログイン画面に「リカバリーモードを初期化しました。ログインして継続してください。」と表示されます。
- いつもの管理者のアカウントでログインします。管理画面に、リカバリーモードであることと、停止されたプラグインやテーマ、そのエラーが表示されます。
- 原因がプラグインなら「プラグイン」の画面で無効化します。テーマなら「外観」→「テーマ」で別のテーマに切り替えます。コードを編集していた場合は、その編集を元に戻します。
- 管理バーの「リカバリーモードを終了」を押し、ログアウトした状態や別のブラウザで、公開側のページが表示されるかを確かめます。
- 問い合わせフォームの送信、主要なページの表示など、普段使う機能を確かめます。
注意したいのは、リカバリーモードで原因が止まるのは、リンクから入った管理者の画面だけという点です。ほかの人には、原因のプラグインやテーマを無効化するまで、エラーの画面が表示され続けます(WordPress 公式:Recovery Mode)。リカバリーモードに入っただけで直ったと考えず、手順4の無効化まで行ってください。
リンクには有効期限があります。初期設定では、新しいリンクを送る間隔が1日で、リンクの有効期限もこれと同じ長さです。期限が切れたあとに同じエラーが起きると、新しいリンクが送られます(recovery_mode_email_rate_limit)。なお、公式の説明では、リカバリーモードは通常のページの読み込みで起きた致命的なエラーで動き、CRON(予約投稿などの裏側の処理)や裏側の作業で起きたエラーでは動かないとされています。
管理者宛のメールが届かない・見当たらないとき
メールが見当たらない場合は、まず迷惑メールのフォルダを確かめます。公式の説明では、メールの送り方を変えるプラグインを使っていても、そのプラグインが読み込まれる前にエラーが起きると、メールはサーバーから直接送られます。そのため、迷惑メールに振り分けられたり、届かなかったりすることがあるとされています。
次に、管理者メールアドレスが誰のアドレスかを確かめます。制作を頼んだ会社の担当者や、退職した社員のアドレスのままになっていると、メールは社内に届きません。制作会社に心当たりがあれば、メールが届いていないか問い合わせます。
メールが使えない場合でも、次の章の方法でプラグインやテーマを停止できます。公式の説明では、サーバー会社のサポートが手伝える場合があることも案内されています。
FTP・ファイルマネージャーでプラグインを停止する手順
管理画面に入れないときは、サーバーのファイルを直接操作して停止します。サーバー会社の管理画面にあるファイルマネージャーか、FTP のソフトを使います。公式の案内では、プラグインのフォルダの名前を変えると、そのプラグインを一時的に停止できます。たとえば /wp-content/plugins/hello-dolly を hello-dolly-1 に変える方法です。
- 作業の前に、wp-content フォルダとデータベースのバックアップを取ります。サーバーの自動バックアップがあれば、どの時点のものが残っているかも確かめます。
- メールやエラーログで原因のプラグインが分かっている場合は、/wp-content/plugins/ の中のそのフォルダの名前を変えます(末尾に「-off」を付けるなど)。
- 原因が分からない場合は、/wp-content/plugins フォルダの名前を plugins_old などに変えると、すべてのプラグインが停止します。表示が戻ったら名前を元に戻し、管理画面でプラグインを1つずつ有効化して、エラーが再び出るものを探します。
- テーマが原因の場合は、/wp-content/themes/ の中の使用中のテーマのフォルダの名前を変えます。WordPress に付属する標準のテーマ(名前が Twenty で始まるもの)が入っていることを先に確かめておきます。
- PHP の切り替えの直後なら、サーバーの管理画面で PHP を元のバージョンに戻します。エックスサーバーでの戻し方はエックスサーバーのPHPバージョン変更の手順と戻し方で説明しています。
エラーログで原因を確かめる
原因が分からないときは、WordPress のデバッグ機能でエラーを記録します。公式のDebugging in WordPressでは、wp-config.php の編集をやめる位置を示すコメント(英語版では「That’s all, stop editing!」)の前に、WP_DEBUG と WP_DEBUG_LOG を true、WP_DEBUG_DISPLAY を false にする設定を書く例が示されています。こうすると、エラーは画面に出ず、通常は wp-content/debug.log に記録されます。
同じページでは、WP_DEBUG などのデバッグ機能を公開中のサイトで使うことは推奨されていません。原因が分かったら設定を元に戻し、debug.log も削除してください。
更新が途中で止まった場合
「Briefly unavailable for scheduled maintenance」が消えない場合は、更新の間に作られる .maintenance というファイルが残っています。公式ドキュメントでは、サイトの一番上の階層から、このファイルを削除する方法が案内されています。
バックアップから復元する場合
プラグインやテーマを停止しても直らない、原因が複数ありそう、WordPress のファイルが壊れていそう、という場合は、エラーが起きる前のバックアップから復元します。復元の前に、次の点を確かめます。
- 今の状態のファイルとデータベースを、別に保存しておく(復元がうまくいかないときに戻れるように)
- エラーが起きる前のどの時点に戻すかを決める。ファイルとデータベースは同じ時点のものを使う
- その時点のあとに公開した記事や追加した画像、フォームの内容をサイトに保存している場合はそのデータが消えることを、社内に伝える
- 復元したあとは、エラーの原因になった更新をそのまま繰り返さない
サーバーの自動バックアップで戻せる範囲と、保管の決め方はサーバーのバックアップと復元で説明しています。見覚えのないファイルや管理者のアカウントがあり、改ざんが疑われる場合は、復元の前にホームページ改ざん・WordPress乗っ取りの対処の初動を行ってください。
やってはいけないこと
慌てて手を加えると、直るまでの時間が延びたり、元に戻せなくなったりします。次のことは避けてください。
- 原因が分からないまま更新や再インストールを繰り返す:状況が変わり、何が原因だったのかが分からなくなります。
- プラグインのフォルダを削除する:停止はフォルダの名前の変更でできます。削除すると、元に戻すにはプラグインを入れ直す必要があります。
- バックアップを取らずに復元や上書きをする:失敗したときに、今の状態にも戻れなくなります。
- エラーの内容を公開側の画面に表示させたままにする:エラーの表示には、サーバー上のファイルの場所などが含まれることがあります。調べるときは WP_DEBUG_DISPLAY を false にして、ログで確かめます。
- パスワードをメールの本文に書いて送る:制作会社などにログイン情報を渡す場合は、受け渡しの方法を相手と決めてから渡します。
再発を防ぐ更新の段取り
公式の説明にあるとおり、原因の多くはプラグインやテーマの互換性です。更新の段取りを決めておくと、エラーが起きる可能性を下げ、起きてもすぐに戻せます。
- 更新の前に、ファイルとデータベースのバックアップを取る
- 可能ならテスト環境(ステージング)で先に更新し、表示と主要な機能を確かめる
- プラグインは一度にまとめて更新せず、少しずつ更新して、そのたびに表示を確かめる
- 更新は、作業した人がその後の確認まで対応できる日と時間帯に行う
- 管理者メールアドレスを、複数の人が見られる社内のアドレスにしておく
- 長く更新されていないプラグインは、代わりのプラグインを検討する
更新を止めたままにする危険はWordPressを更新しないとどうなるか、日ごろの対策はWordPressのセキュリティ対策チェックリストにまとめています。
社内で更新と確認を続けるのが難しい場合は、保守を外部に任せる方法もあります。フェニックスデザインのWEBサイト運用保守の保守ライト(月20,000円〜、税別)には、WordPress 本体・プラグインの更新(月2回)、週次バックアップと復元、稼働監視、障害時の一次対応が含まれます。PHP の更新と動作確認だけを頼む場合は55,000円〜(税別)で、保守と同時に申し込むと半額です。
よくあるご質問
リカバリーモードのリンクはいつまで使えますか?
初期設定では1日です。期限が切れたあとに同じエラーが起きると、新しいリンクがメールで送られます。プラグインや独自の設定で期間が変えられている場合もあります。
リカバリーモードに入れば、ほかの人にもサイトが表示されますか?
表示されません。リカバリーモードで原因が止まるのは、リンクから入った管理者の画面だけです。プラグインの画面で原因を無効化するか、テーマを切り替えるまで、ほかの人にはエラーの画面が表示されます。
原因のプラグインは無効化したままでよいですか?
公式の説明でも、無効化は当面の解決とされています。そのプラグインの機能(フォームや予約など)は止まったままなので、プラグインの更新を待つ、作者や開発者に相談する、代わりのプラグインに替えるなど、元の機能をどう戻すかを決めてください。
管理者メールアドレスを変えるには?
管理画面の「設定」→「一般」の管理者メールアドレスで変えられます。変更すると新しいアドレスに確認のメールが送られ、確認が済むまで新しいアドレスは有効になりません。リカバリーモードのメールだけを別のアドレスに送りたい場合は、wp-config.php に RECOVERY_MODE_EMAIL を設定する方法もあります。
自社で直せない場合は、どこに相談しますか?
サイトを作った制作会社か、保守を頼んでいる会社に、メールの「エラー詳細」と直前にした作業を伝えて相談します。公式の説明では、サーバー会社のサポートが調査を手伝える場合があるとされています。
まとめ
- 「このサイトで重大なエラーが発生しました。」は、WordPress が PHP の致命的なエラーを検知したときの表示で、原因の多くはプラグイン、テーマ、PHP の相性です。
- まず管理者メールアドレスに届いたメールを探し、リカバリーモードでログインして原因を無効化します。リカバリーモードに入るだけでは、ほかの人の画面は直りません。
- メールがない場合は、FTP やファイルマネージャーでフォルダの名前を変えて停止し、必要ならエラーログで原因を確かめます。
- 復元は今の状態を保存してから行い、削除や再インストールを急がないようにします。
- 更新前のバックアップ、テスト環境、少しずつの更新、共有の管理者メールアドレスで再発を防ぎます。