メインコンテンツへスキップ

COLUMN

WordPressの「重大なエラーが発生しました」の原因と直し方

更新・保守・トラブル公開日
WordPressに重大なエラーが出て、届いたメールを確かめながら落ち着いて対応する女性のイラスト

この記事でわかること

  • 「重大なエラーが発生しました」が出る仕組みと、真っ白な画面との違い
  • エラーの原因になりやすい直前の作業と、見当のつけ方
  • 管理者に届くメールからリカバリーモードに入って直す手順
  • 管理画面に入れないときに、プラグインやテーマを止める方法
  • PHPを一時的に戻す、デバッグで調べる、バックアップから戻す方法

WordPressで「このサイトで重大なエラーが発生しました」と出たら、まず管理者のメールを確かめ、原因になっているプラグインやテーマを止めます。この表示は、PHPのエラーでページの処理が途中で止まったときに WordPress が出すものです。原因は、直前に行ったPHP、プラグイン、テーマの更新であることが多く、止めるか元に戻すと、多くの場合は表示が戻ります。この記事では、表示の意味、原因の見当のつけ方、リカバリーモードの使い方、管理画面に入れないときの止め方、PHPを戻す方法、バックアップからの戻し方を順に説明します。

「重大なエラーが発生しました」はWordPressの致命的エラーの知らせ

WordPress は、PHPというプログラムの言語で動いています。テーマやプラグインのプログラムの中で、続けられない誤り(致命的エラー)が起きると、ページを作る処理がそこで止まります。以前はそのまま画面が真っ白になることが多かったのですが、WordPress 5.2 からは、致命的エラーを受け止めて知らせる仕組みが入りました(出典: WordPress.org「Fatal Error Recovery Mode in 5.2」)。

日本語の WordPress では、このとき「このサイトで重大なエラーが発生しました」と表示されます。英語の公式ドキュメントでは「There has been a critical error on this website.」として扱われ、まず管理者のメールを確かめ、次にデバッグの設定で記録を見る、という順番が案内されています(出典: WordPress.org「Common WordPress Errors」)。

画面の表示と、起きていること
見えている画面起きていることまずやること
「重大なエラーが発生しました」と出る致命的エラーで処理が止まり、WordPress がそれを知らせている管理者のメールを確かめ、原因のプラグインやテーマを止める
画面が真っ白で何も出ない致命的エラーで止まったが、知らせの画面も出せていない直前の作業を戻す。サーバーのファイル管理でプラグインを止める
サイトは見えるが管理画面だけ開かない管理画面で読み込むプラグインなどでエラーが起きている原因のプラグインを、フォルダの名前を変えて止める

PHPの緊急の脆弱性が報じられ、PHPのバージョンを切り替えるサイトが多い時期は、切り替えの直後にこの表示が出ることがあります。脆弱性そのものへの対応はPHPの脆弱性にWordPressで対応する手順で説明しています。この記事は、表示が出てしまったあとの直し方に絞ります。

慌てて設定をいくつも変えない

表示が出ても、サイトのデータが消えたとは限りません。焦って別の設定を次々に変えると、どの変更が原因か分からなくなります。画面の写真を撮り、直前に何をしたかを書き留めてから、この記事の順番で一つずつ試してください。

WordPressのエラーの原因は、直前の更新にあることが多い

WordPress の公式ドキュメントでは、重大なエラーのよくある原因として、プラグインどうしのぶつかり合い、テーマが合わないこと、PHPのバージョンが合わないこと、メモリの上限に達したこと、WordPress のファイルの破損が挙げられています。小さな事業者のサイトで実際に多いのは、表示が出る直前に何かを更新したケースです。

WordPressのエラーの原因を探すために、直前に行った更新を思い出している男性のイラスト
いつから表示が出たか、その直前に何を更新したかが、原因を探すいちばんの手がかりです。
直前にしたことと、疑う場所
直前にしたこと疑う場所見当のつけ方
サーバーでPHPのバージョンを上げた新しいPHPに対応していないテーマやプラグインPHPを元に戻して表示が戻れば、PHPとの相性が原因
プラグインを入れた、更新したそのプラグイン、またはほかのプラグインとのぶつかり合いそのプラグインを止めて表示が戻るかを見る
テーマを更新した、切り替えたテーマ、または子テーマに書き足したコードテーマを止めて、標準のテーマで表示を見る
functions.php などを編集した書き足したコードの書き間違い編集前のファイルに戻す
何もしていない自動更新、サーバー側の設定の変更サーバー会社のお知らせと、メールの内容を確かめる

何もしていないのにエラーが出たとき

自分では何も触っていなくても、プラグインやテーマの自動更新、サーバー会社によるPHPの切り替えやメンテナンスがきっかけになることがあります。サーバー会社から届いたお知らせのメールと、管理画面の更新の履歴(使っている場合はプラグインの記録)を見ると、時期が合うものが見つかることがあります。

管理者に届くメールとリカバリーモードの使い方

致命的エラーが起きると、WordPress はサイトの管理者のメールアドレス(管理画面の「設定」の「一般」にある管理者メールアドレス)に、問題を知らせるメールを送ります。メールには、リカバリーモードに入るための専用のリンクが書かれています。原因と思われるプラグインやテーマの名前も、メールに書かれていることがあります。

図解・流れリカバリーモードで原因を止める流れ
  1. STEP01メールを確かめる管理者のメールアドレスに届いた知らせを開く
  2. STEP02リンクから入るリカバリーモードのリンクを押してログインする
  3. STEP03原因を止める一時停止と表示されたプラグインやテーマを停止する
  4. STEP04リカバリーモードを終える管理バーのボタンで終え、表示を確かめる

メールのリンクから入ると、原因のプラグインやテーマが一時的に止まった状態で管理画面を開けます。

リカバリーモードで直す手順

  1. 管理者のメールアドレスの受信箱を開く(迷惑メールのフォルダも確かめる)
  2. WordPress から届いた、サイトの問題を知らせるメールを開き、リカバリーモードのリンクを押す
  3. 表示されたログイン画面から、管理者のアカウントでログインする
  4. 管理画面の上に出るお知らせで、一時停止されているプラグインやテーマと、エラーの内容を確かめる
  5. 原因のプラグインを停止する(テーマが原因なら、ほかのテーマに切り替える)
  6. 管理バーの「リカバリーモードを終了」を押し、サイトの表示を確かめる

WordPress.org の説明では、リカバリーモードのリンクを押すと、そのブラウザにだけ印(クッキー)が付き、そのブラウザで見ているときだけ原因のプラグインやテーマが止まります。ほかの人がサイトを見るときは、まだエラーのままです。原因を停止しないままリカバリーモードを終えると、エラーがまた出ます。

メールが届かないとき

管理者のメールアドレスが使われていない古いアドレスのままだったり、サーバーからのメールが届きにくい設定だったりすると、知らせのメールを受け取れません。その場合は、次の章の方法で、サーバーのファイル管理からプラグインを止めます。

プラグインを停止する方法。管理画面に入れないときはフォルダ名を変える

原因のプラグインを止める方法は、管理画面に入れるかどうかで変わります。どちらの方法でも、プラグインの設定はふつう消えずに残ります。

管理画面に入れるときのプラグインの止め方

管理画面の「プラグイン」で、原因と思われるものを停止します。どれが原因か分からなければ、すべて停止してから一つずつ有効にし直し、表示が崩れたところで止めたものが原因です。WordPress の公式ドキュメントでも、この順番が案内されています。

管理画面に入れないときは、サーバーでフォルダの名前を変える

  1. レンタルサーバーの管理画面にある「ファイルマネージャー」などのファイル管理か、FTPのソフトで、サイトのファイルを開く
  2. WordPress を置いているフォルダの中の wp-content を開く
  3. 原因が分かっているときは、plugins の中にある、そのプラグインのフォルダの名前を変える(例: 名前の後ろに .hold を付ける)
  4. 原因が分からないときは、plugins のフォルダそのものの名前を plugins.hold などに変える
  5. 管理画面にログインし、表示が戻ったかを確かめる
  6. フォルダの名前を元の plugins に戻し、管理画面の「プラグイン」から一つずつ有効にし直す

WordPress.org の FAQ では、plugins のフォルダの名前を変えるとすべてのプラグインが止まり、名前を戻したあとはプラグインが停止された状態のまま残るので、一つずつ有効にし直すよう説明されています(出典: WordPress.org「FAQ Troubleshooting」)。有効にし直すときは、問い合わせフォームやセキュリティのプラグインなど、サイトに欠かせないものから順に戻すと、止めている間の影響を小さくできます。

テーマが原因のとき

プラグインをすべて止めても直らないときは、テーマを疑います。管理画面に入れるなら「外観」の「テーマ」で、WordPress に標準で付いてくるテーマに切り替えて表示を見ます。入れないときは、wp-content の中の themes を開き、使っているテーマのフォルダの名前を変えます。標準のテーマを削除してしまっているサイトでは表示の確かめ方が変わるため、作った会社に相談してください。

名前を変えるのはフォルダの名前だけ

ファイルの中身を消したり、フォルダごと削除したりはしないでください。名前を戻せば元に戻せる、という状態を保つのが大事です。作業の前に、変える前の名前を書き留めておきます。

PHPを更新した直後なら、PHPのバージョンを一時的に戻す

サーバーでPHPのバージョンを上げた直後に表示が出たなら、原因はPHPとテーマやプラグインの相性であることが多いものです。いちばん早い手当ては、レンタルサーバーの管理画面のPHP設定で、切り替える前のバージョンに戻すことです。WordPress の公式の案内でも、PHPを上げて不具合が出たら、元のバージョンに戻すか、サーバー会社や制作者に相談するよう書かれています(出典: WordPress.org「Get the latest PHP version」)。

  • ドメインごとにPHPのバージョンを選べるサーバーでは、表示が出ているドメインの設定を戻す
  • 戻したら、キャッシュのプラグインやサーバーのキャッシュを消してから表示を確かめる
  • 戻して表示が直ったら、原因のテーマやプラグインを探し、対応版に更新してから上げ直す

戻したあとに原因を探し、もう一度上げるまでの手順はPHPを更新して真っ白になったときの復旧手順で詳しく説明しています。

PHP 8.1以前に戻したままにしない

PHPの緊急の脆弱性の修正版は、PHP 8.5、8.4、8.3、8.2 の系列にだけ出ていて、8.1以前は公式の更新の対象外です。8.1以前に戻すのは、原因を直すまでの一時的な手当てと考えてください。古いバージョンのまま使い続ける場合に起きることはPHP 8.1のサポート終了への対応にまとめています。

WP_DEBUGでエラーの中身を確かめる(使うときの注意)

メールにも原因が書かれておらず、どのプラグインかの見当もつかないときは、WordPress のデバッグの設定で、エラーの記録を残して読む方法があります。公式ドキュメントでは、サイトのフォルダにある wp-config.php に設定を書き足すと、エラーの内容が wp-content の中の debug.log というファイルに記録されると説明されています(出典: WordPress.org「Debugging in WordPress」)。

WordPressのエラーの記録を読み、原因になっている行を指で追う女性のイラスト
記録の中に出てくるフォルダの名前から、原因のプラグインやテーマの見当がつきます。

wp-config.php に書き足す3行

wp-config.php の中の「編集が必要なのはここまで」(英語版では「That's all, stop editing!」)と書かれた行より上に、次の3行を書き足します。すでに define( 'WP_DEBUG', false ); の行がある場合は、その行を書き換えます。

  • define( 'WP_DEBUG', true ); … デバッグを有効にする
  • define( 'WP_DEBUG_LOG', true ); … エラーを wp-content/debug.log に記録する
  • define( 'WP_DEBUG_DISPLAY', false ); … エラーを画面に出さない

記録の中に「PHP Fatal error」と書かれた行があれば、その行に出てくるファイルの場所を見ます。wp-content/plugins/ の後ろの名前がプラグインのフォルダの名前、wp-content/themes/ の後ろがテーマのフォルダの名前です。そこまで分かれば、前の章の方法でそのプラグインやテーマを止められます。

デバッグを使うときの注意

  • 書き換える前に、wp-config.php をパソコンにも保存しておく(1文字の書き間違いでもサイトが開かなくなるため)
  • WP_DEBUG_DISPLAY は false にして、エラーの文を見に来た人の画面に出さない
  • 公式ドキュメントでは、公開中のサイトでのデバッグは勧められていないので、記録を取ったらすぐ元に戻す
  • 確かめ終わったら WP_DEBUG を false に戻し、debug.log を削除する
  • 書き換えに自信がなければ、作った会社や依頼先に任せる

どうしても直らないときはバックアップから戻す

プラグインやテーマを止めても、PHPを戻しても直らないときは、エラーが出る前に取ったバックアップからサイトを戻します。戻すと、バックアップを取ったあとに書いたお知らせや、届いた予約などのデータが消える場合があるため、何がいつの状態に戻るのかを先に確かめます。

バックアップの種類と、戻すときに気をつけること
バックアップ戻し方気をつけること
サーバーの自動バックアップレンタルサーバーの管理画面から、日付を選んで戻す戻せる期間と、ファイルとデータベースのどちらを戻すかを確かめる
バックアップのプラグインで取ったものプラグインの機能で戻す。管理画面に入れなければ使えない保存先(サーバーの中か外か)と、戻し方の手順を確かめる
作業の前に自分で取ったものファイルを上書きし、データベースを読み込み直すファイルとデータベースを同じ時点のものでそろえる

PHPのバージョンを変えたあとにバックアップから戻す場合は、先にPHPを元のバージョンに戻してから、バックアップを戻す順番にします。WordPress の公式の案内でも、この順番が書かれています。

「重大なエラーが発生しました」とWordPressに出たときの最初の一歩

最後に、表示に気づいてから試す順番をまとめます。上から順に試し、直ったところで止めて、原因を書き留めておきます。

図解・流れ「重大なエラーが発生しました」と出たときの直す順番
  1. 1直前の作業を思い出すPHP、プラグイン、テーマのどれを更新したか
  2. 2メールを確かめるリカバリーモードのリンクから管理画面に入る
  3. 3原因を止めるプラグインやテーマを停止する。入れなければフォルダの名前を変える
  4. 4PHPを一時的に戻すPHPを上げた直後なら、元のバージョンに戻す
  5. 5バックアップから戻すPHPを戻してから、エラーの前の状態に戻す

止める、戻す、の順に試し、直ったら原因を書き留めます。

次のような場合は、自分で続けるより人に任せた方が、サイトが止まっている時間を短くできます。

  • サーバーの管理画面にも WordPress の管理画面にも入れない
  • バックアップがなく、戻す方法が分からない
  • テーマやプラグインに手が入っていて、どこを止めればよいか見当がつかない
  • 作った会社と連絡が取れない
  • お店の仕事があり、作業と確認の時間が取れない

作った会社と連絡が取れないときの進め方はホームページの制作会社と連絡が取れないときに、日ごろの更新と保守を自分でやる範囲はホームページの更新と保守の方法にまとめています。WordPress を自分で管理し続けるときにやることはWordPressでホームページを作る方法で説明しています。

エラーの復旧と、そのあとのPHPの更新をまとめて任せたい場合は、PHPの更新と復旧の代行を見てください。uparia では、見られる状態に戻す作業から、原因のテーマやプラグインの対応、PHPの上げ直しまでをお受けしています。サイトの作りによって作業の量が変わるため、料金はお見積りです。

よくある質問

「重大なエラーが発生しました」と出たら、サイトのデータは消えていますか?

多くの場合、お知らせや固定ページなどのデータは消えておらず、プログラムの途中で処理が止まって表示できないだけです。原因のプラグインやテーマを止めるか、PHPを元に戻すと表示が戻ることが多くあります。ただし、バックアップから戻すと、それより後に書いた内容が消えることがあります。

サイトを見に来た人にも、エラーの表示は見えていますか?

はい。重大なエラーの表示は、管理者だけでなく、サイトを開いたすべての人に出ます。リカバリーモードで管理画面に入っても、ほかの人の画面ではエラーのままなので、原因のプラグインやテーマを停止するところまで済ませてください。

リカバリーモードのメールが何通も届いています。どうすればよいですか?

エラーが続いている間は、知らせのメールが届くことがあります。どのメールのリンクからでもリカバリーモードに入れることが多いので、新しいものを開いて手順を進めてください。原因を止めて表示が戻れば、エラーの知らせも止まります。

プラグインのフォルダの名前を変えると、設定は消えますか?

WordPress.org の説明では、フォルダの名前を変える方法はプラグインの設定を残したまま止める方法とされています。名前を元に戻したあと、管理画面の「プラグイン」で一つずつ有効にし直せば、多くのプラグインは以前の設定のまま使えます。

スマホだけで直すことはできますか?

リカバリーモードのメールを開いて、原因のプラグインを停止するところまでは、スマホでもできることがあります。サーバーのファイル管理でフォルダの名前を変える作業や wp-config.php の書き換えは、画面が小さく間違えやすいので、パソコンで行う方が安全です。

CONTACT

まず資料で確かめるか、相談して決めるか。

料金プランと制作の流れは資料にまとめています。
自分の場合はどうなるかを知りたいときは、無料相談でお聞かせください。

contact@uparia.com