WordPressの管理画面を開いたら、何の前触れもなく画面が真っ白。エラーメッセージすら出ず、ただの白い背景が広がるだけ。あの瞬間の血の気が引く感覚は、一度味わうと忘れられません。
この症状は「ホワイトスクリーン・オブ・デス(WSOD)」、いわゆる白画面と呼ばれています。サイト全体が真っ白になることもあれば、管理画面(wp-admin)にすら入れなくなることもあり、初心者がいちばん慌てるトラブルのひとつです。
私はWeb制作の仕事を長年やってきて、自分のサイトでもクライアントのサイトでも、この白画面に何度も出くわしてきました。けれど断言できます。白画面は原因さえ切り分けられれば、ほとんどのケースで自力で復旧できるトラブルです。
真っ白だと一見お手上げに見えますが、裏ではPHPが必ず何かのエラーを起こしています。それを「見える化」して、プラグイン・テーマ・メモリ・コードのどれが犯人かを順に潰していけばいいだけ。あてずっぽうでファイルを消したり再インストールしたりすると、かえって被害を広げてしまうこともあるので、落ち着いて切り分けるのが何より大事です。
しかも最近のWordPressには、白画面を自動で検知して管理者にメールで知らせ、原因の拡張機能だけを一時停止してくれる「リカバリーモード」という仕組みまで備わっています。昔に比べて、復旧のハードルはぐっと下がっているんです。
この記事では、2026年の今のWordPressに合わせて、白画面の主な原因と、初心者でも手を動かせる対処の手順をまとめて解説します。読み終えるころには、白画面が出ても「あ、まずこれを確認すればいいんだ」と落ち着いて動けるようになるはずです。
関連記事:WordPress投稿が勝手に下書きになる原因と対策|PublishPress Future・WP-Cronの確認ポイント
WordPressの画面が真っ白になる主な原因
白画面の正体は、ざっくり言えば「PHPの処理が途中でコケて、何も出力できないまま止まった状態」です。エラー表示が初期設定でオフになっているため、ブラウザには真っ白なページだけが返ってくる、というわけです。
つまり、真っ白に見えても必ず原因はあり、その多くは次の4パターンに当てはまります。
1. PHPの致命的エラー(プラグイン・テーマのコード不具合)
いちばん多いのがこれです。プラグインやテーマの中に、今のPHPバージョンでは動かない古い書き方が残っていたり、関数名の衝突が起きていたりすると、PHPが「致命的エラー(Fatal error)」を出して処理を停止します。
WordPressの更新後、プラグインを新しく入れた直後、テーマを切り替えた直後に白画面になったなら、まずこれを疑ってください。
2. PHPのメモリ不足
プラグインを多数入れていたり、画像加工やバックアップなど重い処理が走ると、PHPに割り当てられたメモリを使い切ってしまうことがあります。メモリ上限に達した瞬間に処理が強制終了し、白画面になります。
3. functions.phpや設定ファイルの記述ミス
テーマのfunctions.phpに直接コードを追記したときに、カッコや;の閉じ忘れ、全角スペースの混入といったほんの小さなミスがあると、サイト全体が真っ白になります。私も昔、コピペしたコードに全角スペースが紛れていて、30分くらい原因に気づけなかった苦い記憶があります。
4. .htaccessやサーバー側の問題
.htaccessの記述ミス、PHPのバージョンが古すぎる・新しすぎる、サーバーのキャッシュが壊れている、といった環境側の要因でも白画面は起こります。レンタルサーバーのコントロールパネルでPHPバージョンを切り替えた直後に発生したなら、これが濃厚です。
原因を当てずっぽうで探すと泥沼にハマります。
出典:Common WordPress Errors(WordPress.org 公式ドキュメント)
まず確認すべきこと:エラーを「見える化」する
白画面の対処で最初にやるべきは、闇雲にプラグインを消すことではありません。まずは隠れているエラーメッセージを表示させて、原因の手がかりを掴むことが復旧への最短ルートです。
WP_DEBUGを有効にしてエラーを表示する
WordPressにはデバッグ機能が標準で備わっています。wp-config.phpを開き、次の一行を探してください。初期状態ではfalseになっています。
define( 'WP_DEBUG', false );
このfalseをtrueに書き換えます。
define( 'WP_DEBUG', true );
これでブラウザ上にエラー内容が表示されるようになります。「どのファイルの何行目で止まったか」が分かれば、犯人のプラグインやテーマがほぼ一発で見当つきます。なおtrueとfalseは真偽値なので、シングルクォートで囲まないのが正しい書き方です。
本番サイトではdebug.logに記録する
とはいえ、訪問者にエラーをそのまま見せるのは避けたいもの。本番環境では、画面に出さずファイルへ記録する方法がおすすめです。wp-config.phpに次の3行を書きます。
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
WP_DEBUG_LOGをtrueにすると、エラーはwp-content/debug.logというファイルに書き出されます。さらにWP_DEBUG_DISPLAYをfalseにすれば、画面には何も表示されません。訪問者にはエラーを見せず、自分はログでじっくり原因を追える理想的な状態です。
あとはFTPやファイルマネージャーでwp-content/debug.logをダウンロードして中身を読むだけ。WP_DEBUG_LOGとWP_DEBUG_DISPLAYは、どちらもWP_DEBUGがtrueでないと働かない点だけ覚えておきましょう。原因の特定が終わったら、すべてfalseに戻すのを忘れずに!
出典:Debugging in WordPress(WordPress Developer Resources)
原因別の具体的な対処法
エラーの手がかりが掴めたら、原因に応じて手を打っていきます。管理画面に入れる場合と、白画面で管理画面にすら入れない場合で動き方が変わるので、状況に合わせて読み進めてください。
プラグインが原因のとき
管理画面に入れるなら、まずは全プラグインをいったん停止し、白画面が直るか確認します。直ったら、1つずつ有効化していって、再び白画面になったプラグインが犯人です。地味ですが、これがいちばん確実な切り分け方法です。
管理画面にも入れない場合は、FTPやサーバーのファイルマネージャーで対処します。手順は次のとおりです。
- FTPで
wp-content/pluginsフォルダにアクセスする。 - 怪しいプラグインのフォルダ名を変更する(例:
plugin-nameをplugin-name-offに)。これだけでそのプラグインは無効化されます。 - サイトが復旧するか確認する。直らなければ別のプラグインで同じことを試す。
- どれが原因か分からないときは、いったん
pluginsフォルダ自体の名前を変えて全停止し、戻してから1つずつ有効化する。
テーマが原因のとき
テーマを切り替えた直後に白画面になったなら、テーマが原因の可能性大です。管理画面に入れるなら、Twenty Twenty-FourなどWordPress標準のデフォルトテーマに一度切り替えて、症状が消えるか試します。
管理画面に入れない場合は、FTPでwp-content/themesにアクセスし、使用中テーマのフォルダ名を変更します。すると標準テーマへ自動で切り替わり、復旧することがあります。
functions.phpの編集ミスが原因のとき
コードを追記した直後に真っ白になったなら、ほぼ間違いなくその追記が原因です。FTPで該当のfunctions.phpをダウンロードし、直前に足したコードを削除して上書きすれば元に戻ります。カッコの閉じ忘れと全角スペースの混入が二大原因なので、まずそこを疑ってください。
メモリ不足が原因のとき
debug.logに「Allowed memory size of … exhausted」のような記述があれば、メモリ不足です。wp-config.phpに次の一行を追加し、上限を引き上げてみましょう。
define( 'WP_MEMORY_LIMIT', '256M' );
WordPressはデフォルトでPHPのメモリを40MB(マルチサイトは64MB)まで確保しようとします。上の例ではこれを256MBに引き上げています。それでも足りない、あるいは反映されない場合は、契約しているサーバー側でPHPのメモリ上限を上げる必要があるので、サーバーのマニュアルやサポートを確認してください。
PHPバージョンとキャッシュも確認する
サーバーのコントロールパネルでPHPバージョンを確認し、極端に古い・新しいバージョンになっていないかチェックします。あわせて、キャッシュ系プラグインやサーバーキャッシュ、ブラウザのキャッシュを一度クリアすると、古い壊れた状態が解消されて直ることもあります。
出典:Editing wp-config.php(WordPress Developer Resources)
関連記事:phpinfoを実行したらページが真っ白になって何も表示されない時の対処法
WordPress 5.2以降の「リカバリーモード」を活用しよう
実は、最近のWordPressには白画面対策の心強い仕組みが標準で入っています。WordPress 5.2で導入された「致命的エラー保護(リカバリーモード)」は、白画面の対処を劇的にラクにしてくれる機能です。
プラグインやテーマが致命的エラーを起こすと、WordPressがそれを検知して、管理者メールアドレス宛に通知メールを自動送信します。メールには問題の内容と、「リカバリーモード」へ入るための専用リンクが添えられています。
このリンクから管理画面に入ると、エラーの原因になっているプラグインやテーマだけが一時停止された状態でログインできます。つまり、白画面で締め出される代わりに、原因の拡張機能をピンポイントで止めた管理画面に入れる、というわけです。そこで問題のプラグインを停止したり、テーマを切り替えたりして、落ち着いて復旧作業ができます。
この一時停止は、リンクを開いた自分(クライアント)だけに適用される仕組みなので、サイト全体の設定を壊す心配もありません。昔はFTPでフォルダ名を変えるしか手がなかったことを思うと、本当にありがたい進化です。まずは管理者メールが届いていないか確認するクセをつけておきましょう。
出典:Fatal Error Recovery Mode in 5.2(Make WordPress Core)
まとめ:白画面は「順番に切り分ければ」必ず直せる
WordPressの白画面は、初めて遭遇すると本当に焦ります。でも、ここまで読んでいただいた通り、やることはシンプルです。真っ白でも裏では必ずエラーが起きているので、それを見える化し、原因を順番に潰していけば復旧できます。
最後に、いざというときの対処の流れをおさらいしておきます。
- 管理者メールを確認し、リカバリーモードのリンクが届いていれば、そこから入って原因の拡張機能を止める。
- メールがなければ、
wp-config.phpでWP_DEBUGとWP_DEBUG_LOGを有効にし、debug.logでエラー内容を確認する。 - プラグインを全停止→1つずつ有効化、またはテーマをデフォルトに切り替えて、犯人を切り分ける。
functions.phpを編集していたら、直前の追記を削除する。- メモリ不足なら
WP_MEMORY_LIMITを引き上げ、PHPバージョンやキャッシュも確認する。 - 復旧後はデバッグ用の設定をすべて
falseに戻す。
この順番で進めれば、ほとんどの白画面は自力で解決できます。特にデバッグを有効にしてエラーを読むことは、原因究明の第一歩であり、ここを飛ばすと遠回りになりがちです。慌てず、まずは「見える化」から始めてください。
万が一の備えとして、ふだんからバックアップを取っておくこと、そしてfunctions.phpを直接いじらずに済むよう子テーマを使っておくことも、白画面に強いサイト作りのコツです。トラブルは起きてからより、起きる前の準備で差がつきます!