本記事では突然サイトが「このサイトで重大なエラーが発生しました」と表示された時の、原因と対策を記載します。「重大なエラー」は、WordPressのシステムやデータベースに何らかの問題が発生したときに表示されるメッセージ。「突然見れなくなった!」と焦り、聞こえは怖いですが、落ち着いて対処すれば大丈夫です!
目次
突然このようなエラーメッセージが表示されて焦りますが、主な原因は大体以下6つ!
考えられる原因6つ
- 1. プラグインの不具合
- 2. テーマの不具合
- 3. PHPに関する問題
- 4. サーバー関連の問題
- 5. データベース関連
- 【⚠】セキュリティ関連
最新のWordPressやPHPのバージョンをアップデートするとプラグインとの互換性の問題でエラーが起きることがあります。また安全性の低いプラグインを導入しているとバグなども起こり得ます。
使っているテーマがWordPressの最新版に対応していなかったり、テーマのファイルが何らかの理由で壊れてしまったりすると、重大なエラーが発生する可能性があります。
PHPのメモリ使用量が設定された上限を超えてしまったり、サーバーのPHPバージョンが変更されて互換性の問題が起きたりすると、エラーの原因になります。
サーバーに問題があるとエラーの原因になります。サーバーの負荷が高すぎる、ネットワークがうまく繋がっていないなどでエラーを引き起こす可能性があります。
データベース接続に使うユーザーアカウントの権限に問題があったり、接続情報が誤ていたりすることでエラーが発生します。
最後に、セキュリティの問題。マルウェアに感染してしまったり、キャッシュ(一時的に保存されたデータ)に問題が生じたりすると、重大なエラーとして表示されることがあります。
対策1:まずは以下を試してみて!
- 1. 直近の変更を思いだす
- 2. 変更前の状態に戻してみてる
- 3. 管理者宛てのメールをチェック
- 4. リカバリーモードの利用
思い当たる操作があれば、元の状態に戻してみてください
術的な問題が発生した場合に、サイト管理者あてに「サイトで技術的な問題が発生しています」という通知を送信する機能があります。まずはメールを確認してみてください。
自動通知メールが届いている場合、エラーの原因が特定できている可能性があります。リカバリーモードを試してみましょう。
参考:「 サイトで技術的な問題が発生しています 」が表示されたらリカバリーモードを試してみようhttps://www.vektor-inc.co.jp/post/wordpress-recovery-mode/
対策2:プラグインを無効化
管理画面にアクセス出来る場合
「プラグイン」→「インストール済みプラグイン」に移動し全てのプラグインを選択し、一括操作から【無効化】を選択。「適用」をクリックして変更を反映。
Webサイトが正しく表示されるかをまず確認します。Webサイトが正常に表示された場合、プラグインが原因である可能性が高いです。次に、プラグインをひとつずつ有効化しながら、どれが原因かを特定していきます。
特定できたら、別のプラグインに切り替えるなどの対応を検討してください。
管理画面にアクセス出来ない場合
FTPソフトなどを使って、WordPress関連ファイルが保存されているフォルダにアクセスします。
「wp-content/」ディレクトリ内の「plugins」フォルダの名前を一時的に変更します
「plugins」から→「plugins_old」
名前を変更すると、PHPがプラグインフォルダにアクセスできなくなり、すべてのプラグインが無効化されます。
この状態でWebサイトを再読み込みし、正常に表示されるか確認します。
Webサイトが正常に表示された場合、WordPressの管理画面にもログインできます。この状態ではプラグインは動作していませんが、厳密に無効化されていません。「インストール済プラグイン」のページにアクセスすると以下のようにエラーが表示されているかと思います
プラグインを無効化した後、「plugins」フォルダの名前を元に戻します。
「wp-content/」ディレクトリ内の「plugins」フォルダの名前を「plugins_old」から→「plugins」に
これで無効化された状態でプラグインが表示されるので、ひとつずつ有効化しながら、どれが原因かを特定していきます。
対策3:デフォルトテーマに切り替える
管理画面にアクセス出来る場合
管理画面から、[外観] -> [テーマ]を選択し、デフォルトのテーマ(例:Twenty Sixteen、Twenty Twenty)を一時的に【有効化】します。
(補足:管理画面にアクセスできるのであれば「現在メンテナンス中です。」といったメッセージの表示を検討してみてください。)
この状態でWebサイトを再読み込みし、正常に表示されるか確認します。
Webサイトが正常に表示された場合、直前に使用していたテーマが原因と考えられます。テーマを再ダウンロードしてインストールし直すか、別のテーマに変更するなどの対応を検討してください。
管理画面にアクセス出来ない場合
FTPソフトなどを使って、WordPress関連ファイルが保存されているフォルダにアクセスします。
「wp-content/」ディレクトリ内「themes」フォルダから、現在使われているテーマを選択し、フォルダの名前を一時的に変更します
(例)「This_is_my_theme」から→「This_is_my_theme_old」に変更。
この状態でWebサイトを再読み込みし、正常に表示されるか確認します。
Webサイトが正常に表示された場合、直前に使用していたテーマが原因と考えられます。テーマを再ダウンロードしてインストールし直すか、別のテーマに変更するなどの対応を検討してください。
対策4:PHPメモリ制限を増やす
HPのメモリ制限が原因でエラーが発生することはよくあります。特に、メモリ不足が原因でWordPressが正常に動作しないことがあるため、メモリの割り当てを増やしてみましょう。
管理画面にアクセス出来る場合
まず管理画面からメモリ上限を確認していきます。
管理画面にログインし[ツール] -> [サイトヘルス]を選択。
上部にある[情報]タブを選択し、下の方にある【サーバー】を選択。
PHPメモリ上限値を確認します。
WordPressの管理画面(バックエンド)で使用できる最大メモリ制限を再設定していきます。
FTPソフトなどを使って、WordPress関連ファイルが保存されているフォルダにアクセスします。
WPのディレクトリルート直下にある「wp-config.php」ファイルをエディタで開きます。
- ※注意:「wp-config.php」ファイルを編集する前に、必ずバックアップを取ってください※
「wp-config.php」ファイル内に以下の記述を追加していきます。
define( ‘WP_MEMORY_LIMIT’, ‘200M’ );//フロントエンド
define( ‘WP_MAX_MEMORY_LIMIT’, ‘512M’ );//バックエンド
以下の様に追加してみてください
▼以下追加済み「wp-config.php」ファイル内
/** データベースのテーブルを作成する際のデータベースの文字セット */
define( ‘DB_CHARSET’, ‘utf8’ );
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define( ‘DB_COLLATE’, ” );
/**追加場所
define( ‘WP_MEMORY_LIMIT’, ‘200M’ );
define(‘WP_MAX_MEMORY_LIMIT’, ‘512M’);
/**#@+
* 認証用ユニークキー
*
* それぞれを異なるユニーク (一意) な文字列に変更してください。
注意:ホスティング環境によっては、この方法が使えない場合もあります。
また、メモリ制限を増やしても、一時的な解決に過ぎず、悪意のあるスクリプトが実行されるリスクもあります。根本的な問題(非効率なコードや過剰なプラグイン使用など)を解決することが重要です。
対策5:ファイル「.htaccess」を修正する
PHPのメモリ制限を確認した後でも問題が解決しない場合、「.htaccess」ファイルの名前を一時的に変更してサイトを再読み込みし、エラーが解消するか確認していきます。
(「.htaccess」ファイルは簡単に言うと、ウェブサイトの細かい設定を行うためのファイルです。)
- ※注意:「.htaccess」ファイルを編集する前に、必ずバックアップを取ってください※
FTPソフトなどを使って、WordPress関連ファイルが保存されているフォルダにアクセスします。
WPのディレクトリルート直下にある「.htaccess」ファイルをエディタで開きます。
「.htaccess」フォルダの名前を一時的に変更します
「.htaccess」から→「.htaccess_old」
この状態でWebサイトを再読み込みし、正常に表示されるか確認します。
Webサイトが正常に表示された場合、「.htaccess」が原因と考えられます。そのため、「.htaccess」ファイルを再設定していきます。
WordPress管理画面より、[ 設定 ] > [ パーマリンク ]をクリックし、何も操作せずに【変更を保存】をクリック。そうすると「.htaccess」ファイルが上書きされます。
まとめ
WordPressで「重大なエラーが発生しました」というメッセージが表示された場合、多くのケースでは、考えられる原因に基づいて落ち着いて対応することで問題が解決します。
上記の方法を試しても解決しない場合は、サーバー会社に連絡することも選択肢の一つです。
また、突然エラーが発生する場合、ハッキングやマルウェア感染、それにより他サイトへ影響を及ぼす可能性もあります。少しでも不安を感じる場合は、「Sucuri SiteCheck」という無料ツールでハッキングリスクをチェックすることをお勧めします。
EnChordでは「WordPressサイトのトラブル復旧」サービスを提供していますので、すこしでもご不安がある場合はお気軽にご相談ください。