WordPressが真っ白になったときの原因と直し方【復旧チェックリスト】

WordPressの管理画面にログインしようとしたら画面が真っ白という症状と対応方法についてお知らせします。公開サイト側も真っ白で、エラーメッセージすら出ない——いわゆる「White Screen of Death(WSOD)」と呼ばれる状態です。

焦ってしまいがちですが、原因のほとんどは数パターンに絞られます。順番に切り分けていけば、多くのケースは自力で復旧できますので冷静に作業しましょう。

この記事では、真っ白画面が発生する主な原因と、安全に進められる復旧手順をまとめました。作業前のバックアップと、FTPまたはサーバーのファイルマネージャへのアクセス手段を必ず確保してから進めてください。

目次

WordPressが真っ白になる主な原因

真っ白画面の正体は、ほとんどのケースで「PHPの致命的エラー(Fatal error)」です。WordPressはデフォルトではエラー表示をオフにしているため、エラーが起きると画面に何も描画されず、結果として真っ白に見えます。

1. プラグインの不具合・競合

最も多い原因が、直近でインストールまたは更新したプラグインがきっかけになっているケースです。プラグイン同士の相性問題や、PHPバージョンとの非互換で発生します。

2. テーマの不具合

テーマの更新失敗、functions.phpの編集ミス、カスタマイズ時のコード追記ミスで発生します。子テーマを使わずに親テーマを直接編集しているサイトで起きがちです。

3. PHPメモリ不足

プラグインの数が増えたり、画像やデータベースが大きくなったりすると、初期のメモリ設定では足りなくなります。WordPress公式ドキュメントでも、wp-config.phpでのメモリ上限引き上げ方法が案内されています。

4. .htaccessファイルの破損

セキュリティプラグインの挙動や手動編集のミスで、ルートの.htaccessが壊れると500エラーや真っ白画面につながります。キャッシュ系プラグインが書き込む記述と既存の記述が競合するパターンも見かけます。

5. PHPバージョンの非互換

古いプラグインやテーマを、新しいPHP(8系)で動かそうとしたときに発生します。逆に、サーバー側のPHPが古すぎて最新のWordPress本体に追いついていないケースもあります。

6. データベース接続エラー

厳密には真っ白ではなく「Error establishing a database connection」と表示されるのが一般的ですが、テーマ構成によっては真っ白に見えることがあります。wp-config.phpのDB接続情報や、サーバー側のMySQL状態を確認します。

復旧の手順(上から順番に試す)

以下はリスクの低い順に並べています。作業を始める前に、サーバーのバックアップ機能やFTPでのファイル一式のダウンロードなど、元に戻せる手段を必ず確保してください。

手順1:デバッグモードを有効にしてエラー内容を確認する

まずは原因を特定します。FTPなどでwp-config.phpを開き、/* That's all, stop editing! */の行より上に、以下を追記します。

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

保存後にサイトへアクセスすると、/wp-content/debug.logにエラーの詳細が記録されます。どのプラグインの何行目でエラーが起きているかが、ここで確認できます。公開サイトでエラーを画面表示したくないので、WP_DEBUG_DISPLAYは必ずfalseにしてください。

原因の特定が終わったら、これらの記述は削除またはfalseに戻しておきます。

手順2:プラグインを一括で無効化する

管理画面に入れない状態でも、FTPでプラグインを停止できます。/wp-content/pluginsフォルダをplugins_offのようにリネームすると、全プラグインが無効化されます。

サイトが表示されるようになったら、フォルダ名を元に戻したうえで、管理画面から1つずつ有効化していきます。有効化した瞬間に真っ白に戻るプラグインが、原因のプラグインです。

手順3:テーマをデフォルトに切り替える

プラグインが原因でない場合はテーマを疑います。/wp-content/themes内の現在使用中のテーマフォルダをリネームすると、WordPressが自動的にデフォルトテーマ(Twenty Twenty-Fiveなど)に切り替わります。

これで表示が戻るなら、テーマ側に問題があります。直前に編集したfunctions.phpの差し戻しや、テーマの再インストールで復旧するケースが多いです。

手順4:PHPのメモリ上限を引き上げる

debug.logに「Allowed memory size of … bytes exhausted」というエラーが出ている場合は、メモリ不足です。wp-config.phpに以下を追記します。

define('WP_MEMORY_LIMIT', '256M');

サーバー側でPHPのmemory_limitそのものに上限が設けられている場合は、サーバーのコントロールパネル(php.iniやPHP設定画面)からも同様に引き上げる必要があります。

手順5:.htaccessを再生成する

ルートの.htaccess.htaccess_bakにリネームします。その後、管理画面に入れる状態であれば「設定 > パーマリンク」を開いて「変更を保存」を押すだけで、WordPressが標準の.htaccessを自動生成してくれます。

手順6:PHPバージョンを確認する

サーバーのコントロールパネルで、現在のPHPバージョンを確認します。WordPress公式の動作要件では、PHP 7.4以上が必須となっています。古いPHPで動いているサイトは、プラグインやテーマの更新に追従できず真っ白化しやすいので、サポート対象のバージョンに上げることを検討します。

逆に、古いプラグインを使っていてPHP 8系で動かないケースもあります。その場合はいったんPHPのバージョンを下げて復旧させ、そのうえでプラグインを差し替えるのが安全です。

手順7:サーバーのエラーログを読む

debug.logが作成されない、もしくは情報が薄い場合は、サーバー側のエラーログを確認します。エックスサーバー、ロリポップ、さくらインターネットなど、主要レンタルサーバーは管理画面からエラーログをダウンロードできます。500エラーやセグメンテーション違反など、WordPress側では拾えない情報が記録されています。

再発を防ぐためのチェックリスト

  • 自動バックアップを設定しておく(UpdraftPlus、BackWPupなど)
  • 本番サイトに直接当てず、ステージング環境で更新検証を行う
  • プラグインを増やしすぎない。使っていないものは削除する
  • PHPメモリは256M以上を目安に設定する
  • PHPバージョンは公式サポート範囲のものを使う
  • functions.phpは子テーマで編集し、親テーマは触らない

特に「バックアップ」と「ステージング」は、真っ白になったときの復旧速度を大きく左右します。月額の保守契約を結んでいる場合は、この2つが含まれているかを一度確認しておくと安心です。

自力で直せない・時間がないときは

真っ白画面は、原因が1つではなく複数絡んでいるケースも珍しくありません。デバッグログを読み解く時間がない、FTPでの作業が不安、あるいはサイトが止まっていることでビジネスに影響が出ているといった場合は、早めに専門業者に相談するのが結果的にコストを抑えられます。

弊社では、WordPressのトラブル対応を専門にした「WPレスキュー」というサービスを運営しています。真っ白画面、ハッキング、データベース破損、管理画面ログイン不能など、WordPressに関するトラブル全般のご相談を受け付けています。

WordPressトラブルのご相談はこちら

 

ハッキングやリダイレクトされる方はお早めに
サイバーセキュリティを広めてください
  • URLをコピーしました!
  • URLをコピーしました!
ハッキングやリダイレクトされる方はお早めに
目次