「昨日まで動いていたのに、急にWordPressの画面が真っ白に…」😱
WEBサイト運営者にとって、これほど心臓が凍る瞬間はないでしょう。特にデザインやコーディングに携わるWEBデザイナーなら、自分で何とかしたいと強く思うはずです。
わたし自身も過去、この「真っ白な画面」、通称「White Screen of Death (WSoD)」には幾度となく遭遇してきました。。。その原因の多くは、コアファイルやプラグインのアップデート、テーマファイルの編集ミスにあります。
この記事では、そんな緊急事態に、プロとして冷静かつ迅速に対処するための具体的な手順と確認方法を、私の実務経験に基づきご紹介します。問題解決の道筋を知っているだけで、パニックにならずに済みますよ!
Step① 緊急対応!まずは「メンテナンスモード」でユーザー保護
index.htmlを作成し、メンテナンス中であることを示す
突然サイトを訪問したユーザーが、真っ白なエラー画面を目にすると、あなたのプロ意識が問われます。まず行うべきは、ユーザーへの配慮として「メンテナンス中」であることを示すことです。- 静的な index.html ファイルを作成します。
「現在メンテナンス中です」「数分後に再開します」といった簡潔なメッセージと、連絡先やSNSへのリンクを記載しましょう。 - 作成した index.html をサーバーのルートディレクトリにアップロードします。
通常、WordPressのインデックスファイルは index.php ですが、サーバーは index.html を優先して読み込む設定になっていることが多いです。これで一時的に静的なメンテナンス画面が表示されます。
この措置は、ユーザー体験の悪化を防ぐだけでなく、検索エンジンに対しても「一時的な問題である」と伝える役割も果たします。焦らず、まずはユーザーへの配慮を優先すべきでしょう。
Step② 原因を特定!WordPressの「デバッグモード」を有効化する
真っ白な画面は、PHPのエラーが発生していることを示していますが、どこでエラーが起きているかは見た目だけではわかりません。そこで、WordPressに用意されているデバッグモードを有効にし、エラーメッセージを表示させます。
wp-config.php の編集
FTPソフトやファイルマネージャーでサーバーにアクセスし、WordPressのルートディレクトリにある wp-config.php ファイルを開いてください。以下の記述を探し、false を true に変更します。また、エラーをログファイルに記録させる設定も追加することで、画面に表示させたくない場合でも後から確認できるようにしておくと便利です。
|
1 2 3 4 5 6 7 8 |
// 変更前 define( 'WP_DEBUG', false ); // 変更後 define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); // エラーログを有効化 define( 'WP_DEBUG_DISPLAY', true ); // 画面へのエラー表示を有効化(テスト環境ではtrue、本番環境ではfalse推奨) @ini_set( 'display_errors', 'On' ); // PHPの設定でエラー表示を強制的に有効に |
現在のPHPバージョンでは、エラーのレベル(E_ALL など)によっては、この設定だけで表示されない場合があります。
もしエラーが表示されない場合は、サーバー側のPHP設定(php.ini)で display_errors = On となっているかも確認してみてください。
デバッグモードを有効にしてサイトに再アクセスすると、真っ白な画面の代わりにエラーの内容と、それが起きているファイル・行番号が表示されるはずです。この情報こそが、問題解決の第一の手がかりとなります。
最後に、エラー箇所が特定でき、問題が解決したら、WP_DEBUG は必ず false に戻してください。true のままにしておくと、サイト訪問者にサーバーのパスや機密情報が漏洩するセキュリティリスクがあります。
Step③ 原因の切り分け!「プラグイン」を疑う
デバッグモードで特定のエラーメッセージが表示されない場合、またはプラグイン関連のエラーが頻繁に出る場合は、プラグインが原因である可能性が極めて高いです。プラグインフォルダの名前変更による一括無効化
管理画面にアクセスできないため、FTPソフトで強制的に全てのプラグインを無効化します。- FTPソフトで /wp-content/ ディレクトリにアクセスします。
- その中にある plugins フォルダを見つけ、一時的に plugins_old や plugins_deactivated など、別の名前にリネームします。
この状態でサイトに再度アクセスし、画面が正常に表示されれば、原因はプラグインのどれかだと確定できます。
悪さをしているプラグインの特定
- plugins_old にリネームしたフォルダを、元の plugins に戻します。
- プラグインは無効化されたままになっていますので、管理画面にログインし、一つずつプラグインを有効化していきます。
- 有効化した瞬間に画面が真っ白になるプラグインこそが、悪さをしていた犯人です。
Step④ 「テーマ」を疑う
プラグインを全て無効化しても画面が真っ白なままの場合、原因は現在使用しているテーマファイルにある可能性が高いです。特に、functions.php を直接編集した後に真っ白になった場合は、ほぼ間違いありません。
テーマをデフォルトテーマに戻す
- FTPソフトで /wp-content/themes/ ディレクトリにアクセスします。
- 現在使用しているテーマフォルダ(例:my-original-theme)の名前を、一時的に my-original-theme_old などにリネームします。
- WordPressは、テーマが見つからない場合、自動的にインストールされているデフォルトテーマ(例:twentytwentyfive)に切り替える機能があります。
特に、テーマ内の functions.php ファイルは、PHPの記述ミス一つでサイト全体がクラッシュしやすい危険なファイルです。
該当ファイルをリネーム前にバックアップから復元するか、デバッグモードで示された行番号を慎重に修正しましょう。
Step⑤ 最終手段!「データベース」または「再インストール」を検討
プラグイン、テーマの両方を切り分けても解決しない場合、以下の原因が考えられます。データベース (DB) の破損・接続エラー
wp-config.php に記載されている DB_NAME, DB_USER, DB_PASSWORD, DB_HOST の情報が、サーバーのデータベース設定と一致しているかを再確認します。その上で、wp-config.php に以下の行を追加し、サイトにアクセスすることで、テーブルの自動修復を試みることもできます。(アクセス後にこの行は削除してください。)
|
1 |
define( 'WP_ALLOW_REPAIR', true ); |
WordPressコアファイルの破損
ごく稀に、コアファイルのアップデート失敗などでファイルが破損することがあります。この場合、最新のWordPress公式サイトから最新バージョンのzipファイルをダウンロードし、その中にある wp-admin および wp-includes フォルダを、FTP経由でサーバーに上書きアップロードします。
・・・
これらの手順を試してもダメで、原因が全く特定できない場合は、データベースを含めた全てを削除し、クリーンな状態からWordPressを再インストールする方が、時間対効果が高い場合があります。
ただし、この判断は必ず全てのバックアップが手元にあることを前提としてください。
【まとめ】緊急事態を乗り越えるためのチェックリスト
最後にここまでの内容をまとめます。| 優先度 | 確認事項 | 詳細な手順 |
|---|---|---|
| 高 | ユーザー保護 | index.html をルートにアップロードし、メンテナンス画面を表示。 |
| 高 | 原因特定 | wp-config.php で WP_DEBUG を true にし、エラーメッセージを確認する。 |
| 中 | プラグイン切り分け | wp-content/plugins フォルダをリネームし、全プラグインを無効化して確認。 |
| 中 | テーマ切り分け | 現在のテーマフォルダをリネームし、強制的にデフォルトテーマで表示させて確認。 |
| 低 | DB・コアファイル | wp-config.php のDB接続情報を確認。解決しない場合、コアファイルの上書きやDB修復を検討。 |


コメント