WordPressに「このサイトで重大なエラーが発生しました」と出たときの確認と対処法
直らないときは、無料でご相談いただけます(直らなければ料金はいただきません)。
結論:このエラーは、WordPressの中のプログラム(PHP)が途中で止まったときに出ます。プラグイン・テーマの更新や、サーバーのPHPの版の変更がきっかけになることがよくあります。
まずは、管理者のメールアドレスに届くメールを確かめます。届いていれば、リンクから「リカバリーモード」で管理画面に入り、原因のプラグインやテーマを止めます。届いていないときは、直前にした変更を元に戻すところから確かめます。
目次
画面に出る文と、その意味
同じエラーでも、どこで見たかによって、出る文が少し変わります。
| 出る文 | 出る場所・意味 |
|---|---|
| このサイトで重大なエラーが発生しました。 | サイトの表側(訪問者が見る画面)。中で何かが止まっています |
| この Web サイトに重大なエラーが発生しました。サイト管理者のメール受信箱で手順を確認してください。 | 管理画面やログイン画面。管理者のメールアドレスあてに、案内のメールが送られている場合があります |
| このサイトで重大なエラーが発生し、リカバリーモードになっています。 | メールのリンクから「リカバリーモード」で入ったとき。原因のプラグインやテーマを、その画面の中だけ一時的に止めた状態です |
この仕組みは、WordPress 5.2から入っているものです。エラーが管理画面だけで起きていることもあるので、ログアウトした状態(またはスマホ)でもサイトを開いてみてください。
よくあるきっかけ
- プラグインやテーマを更新した・入れた直後
- レンタルサーバーでPHPの版を上げた(変えた)直後
- テーマの
functions.phpなどを書き換えた直後 - WordPress本体の更新が途中で止まった
- サイトが大きくなり、使えるメモリが足りなくなった
「いつから出たか」「その直前に何をしたか」を思い出せると、原因がぐっと絞れます。
作業の前に確かめること
- バックアップ:レンタルサーバーの自動バックアップなどがあるか。いつの時点のものか(保存日時)と、元に戻す方法も見ておきましょう。
- 変更前の状態のメモ:PHPの版を変えた場合は元の版の番号、ファイルを書き換える場合は書き換える前のファイルの写し。
この2つがあれば、作業で困ったときにも元の状態に戻せます。
まず確かめること:管理者へのメール
WordPressは、原因になったプラグインやテーマを見つけると、「設定」→「一般」の「管理者メールアドレス」あてにメールを送ります。
- 件名:[サイト名] サイトで技術的な問題が発生しています
- 中身:原因のプラグイン・テーマの名前と、エラーの内容、「リカバリーモード」で入るためのリンク
このメールは1日に1回までしか送られず、リンクの有効期限も1日です(WordPressの初期設定)。迷惑メールのフォルダも見てみてください。
メールが届いたとき:リカバリーモードで直す
- メールのリンクを押し、いつものユーザー名とパスワードでログインします。
- 「プラグイン」(またはテーマ)の画面を開くと、原因のものに印が付いています。ここで止まっているのはリカバリーモードで操作している間だけで、訪問者の画面ではまだエラーが出ています。
- 原因がプラグインなら、更新するか、すぐに必要でなければ無効化します。原因がテーマなら、更新するか、別のテーマに切り替えます。
- 画面の上の「リカバリーモードを終了」を押し、ログアウトした状態でサイトを開いて、トップページ・エラーが出ていたページ・お問い合わせなどの機能が動くかを確かめます。
更新が出ていない、更新するとエラーになる、止めると困る機能のプラグインだった、という場合は、無理に進めずご相談ください。
メールが届かないときの確かめ方
メールの設定がうまくいっていないサイトでは、案内のメールが届かないことがあります。そのときは、次の順番で確かめます。
1. 直前の変更を元に戻す
PHPの版を変えた直後なら、元の版に戻すのがいちばん早い確かめ方です。戻す前に、元の版の番号と、戻せるかどうか(サーバーによっては戻せない場合があります)を確かめましょう。
戻して表示されれば、使っているプラグインやテーマと、新しいPHPの版との組み合わせが関係している可能性があります。PHPの版はいずれ上げる必要があるので、表示が戻った後も、プラグインやテーマが新しい版に対応しているかを確かめておきましょう。
2. プラグインを止めて確かめる
レンタルサーバーの「ファイルマネージャー」やFTPのソフトで、wp-content/plugins の中の、直前に更新したプラグインのフォルダ名を変えます(例:contact-form-7 → contact-form-7-off)。フォルダ名を変えたプラグインは、動かなくなります。
これで表示が戻ったら、そのプラグインが原因です。フォルダ名は変えたままにして、プラグインの修正版が出ていないか、代わりの方法がないかを確かめましょう。
どれか分からないときは、WordPress公式の手順で、すべてのプラグインを一度止めて確かめます。
wp-contentの中のpluginsフォルダの名前を変えます(例:plugins-off)。- 管理画面にログインし、「プラグイン」の画面を開きます。これで、すべてのプラグインが停止の状態になります。
- フォルダの名前を
pluginsに戻します。 - 「プラグイン」の画面で1つずつ有効化し、そのたびにサイトを開いて、エラーが出るものを探します。
すべて止めている間は、お問い合わせフォームなどの機能も止まります。原因が見つかったら、ほかのプラグインは早めに有効に戻し、原因のプラグインだけ止めたままにしておきましょう。
3. テーマを確かめる
テーマの更新や functions.php の書き換えの直後なら、テーマが原因かもしれません。
- 管理画面に入れる場合:「外観」→「テーマ」で、WordPressに標準のテーマ(Twenty Twenty-Five など)に切り替えて確かめます。
- 入れない場合:
wp-content/themesの中の、使っているテーマのフォルダ名を変えると、標準のテーマが入っていれば、そちらに切り替わることがあります。
テーマを切り替えると、見た目やメニューの設定が変わることがあります。functions.php を書き換えた直後なら、書き換える前のファイルに戻すのがいちばん確かです。
4. エラーの記録を見る
レンタルサーバーの管理画面の「エラーログ」には、止まったファイルの名前と行が残っていることがあります。プラグインの名前が出ていれば、それが原因の手がかりです。
サーバーのエラーログで分からないときは、WordPressにエラーを記録させる方法があります。
wp-config.phpを書き換える前に、ファイルの写しを保存しておきます。- ファイルの中に
define( 'WP_DEBUG', false );の行があれば、それを次の3行に書き換えます(同じ行を足すのではなく、元の行を書き換えます)。無ければ、「編集が必要なのはここまでです」の行より上に足します。
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
- エラーが出るページを開くと、
wp-content/debug.logにエラーが記録されます。 - 確かめ終わったら、保存しておいた写しに戻し、
debug.logも削除します。
debug.log は外から読めてしまうことがあります。記録させている間はできるだけ短くし、終わったら必ず削除しておきましょう。
主なレンタルサーバーでの場所
| サーバー | エラーの記録 | PHPの版の切り替え |
|---|---|---|
| エックスサーバー | サーバーパネル「エラーログ」 | サーバーパネル「PHP Ver.切替」 |
| ConoHa WING | 「サイト管理」→「アクセス解析」→「ログ」 | 「サイト管理」→「サイト設定」→「応用設定」の「PHPバージョン」 |
| ロリポップ! | 「PHP設定」でエラーの表示を一時的に有効にする(訪問者にもエラーの中身が見えることがあるため、確かめたらすぐ元に戻す) | ユーザー専用ページ「PHP設定」 |
| さくらのレンタルサーバ | コントロールパネルの「エラーログ」(あらかじめ出力を有効にしておく) | 「スクリプト設定」→「言語バージョン設定」 |
ロリポップ!では、PHP 7.1より前の版から上げると、元の版に戻せないことがあります。画面の名前は変わることがあるため、くわしくは各社の案内をご覧ください。
自分で直すのが難しいとき
次のような場合は、無理に作業を進めず、ご相談ください。
- 管理画面にも入れず、ファイルを触る方法が分からない
- プラグインを止めても、テーマを変えても直らない
- エラーの記録を見ても、何が原因か分からない
- お問い合わせフォームやネットショップなど、止められない機能がある
WP-ingでは、WordPressの重大なエラーの修理を 9,800円〜(税込)で承っています。作業の前に料金をご案内し、直らなければ料金はいただきません。お支払いは、直ったことを確かめていただいてからです。
よくある質問
訪問者にもエラーの文が見えていますか?
サイトの表側で起きている場合は、「このサイトで重大なエラーが発生しました。」と見えています。管理画面だけで起きていることもあるので、ログアウトした状態でもサイトを開いて確かめてみてください。
リカバリーモードのリンクの期限が切れてしまいました。
エラーがまた起きると、新しいリンクがメールで届くことがあります。ただし、送られるのは1日に1回までです。待てないときは、上の「メールが届かないときの確かめ方」をお試しください。