WordPressサイトの管理画面が突然真っ白になり、何も表示されなくなる現象に遭遇したことはありませんか?
この現象は、俗に「ホワイトスクリーン・オブ・デス(WSOD)」とも呼ばれ、サイト運営者にとって頭を抱えるトラブルです。画面が真っ白になるとエラーメッセージも表示されず、管理画面にも入れなくなるため原因の特定が難しく、特に企業サイトでは焦ってしまうでしょう。
実はWordPressの画面が真っ白になる主な原因はPHPの致命的エラーで、プログラム実行時にエラーが起きると表示が真っ白になる仕組みがあります。他にもプラグインやテーマの不具合、.htaccessファイルの記述ミス、サーバーのPHPバージョン不一致、メモリ不足など様々な原因が考えられます。
本記事では、企業のWeb担当者向けに、WordPress管理画面が真っ白になる典型的な原因とその対処法を詳しく解説します。専門用語には補足説明を加え、WordPressに詳しくない担当者でも理解できるよう配慮しています。
さらに、必要に応じて専門業者へ依頼すべき判断基準や、再発防止のポイントについても紹介します。万一のトラブルに備え、復旧手順のチェックリストや原因別対処法の表も交えて、落ち着いて対処できる知識を身に付けましょう。
WordPress画面が真っ白になるのはなぜ?(現象の概要)
WordPressサイトで画面が真っ白になるのは、大半のケースでPHPエラーが原因です。
PHP(ピーエイチピー:Webサーバー上で動くプログラミング言語)のコードに致命的エラーが発生すると、ブラウザには何も表示されず真っ白なページだけが現れます。このため情報が何もなく「サイトが突然消えた」ように見えるため、WSOD(White Screen of Death)という名で呼ばれることもあります。
例えば、テーマのfunctions.phpなどを編集中に文法ミスがあると、サイト全体や管理画面が真っ白になることがあります。
真っ白画面はWordPress利用者であれば一度は経験しうる一般的なトラブルです。WordPress 5.2以降では致命的エラー発生時に「このサイトで技術的な問題が発生しました」と表示し、管理者メール宛にリカバリーモードのログインリンクが送られてくる機能も追加されています。
ただしリカバリーモードは一時的に管理画面に入れる措置に過ぎず、根本原因を取り除かなければ問題は解決しません。以下、画面真っ白の主な原因と具体的な復旧手順を一つひとつ解説していきます。まずは現状を落ち着いて把握し、順を追って対処していきましょう。
まず確認!復旧のための基本チェックリスト
画面が真っ白になった際には、原因の切り分けと迅速な復旧が重要です。以下に基本的な確認項目をチェックリスト形式でまとめます。
1. 慌てず状況確認
2. バックアップの確保
特にこれからプラグイン無効化などの操作を行う際、設定データが消えるリスクもあるため、事前にデータベースやファイルのバックアップを取っておくと安心です。
3. エラー表示を有効化
原因を特定するため、エラーメッセージを表示させます。通常、PHPエラーは画面を真っ白にするだけで原因を表示しません。
wp-config.php(ダブリューピーコンフィグ:WordPressの基本設定ファイル)内の以下の記述を見つけ、falseをtrueに変更して保存します:
define('WP_DEBUG', true);
これでエラー内容が画面上に表示されるか、またはwp-contentフォルダ内にdebug.logファイルが出力されます。表示されたエラー文に「Fatal error」や具体的なファイル名・行番号があれば、それが直接の原因です。
4. プラグインを全て無効化
エラーの内容がすぐに特定できない場合、まずプラグインの問題切り分けを行います。
管理画面に入れる場合
「プラグイン」メニューからすべてのプラグインを選択し、一括で無効化してください。
管理画面に入れない場合
FTP(エフティーピー:サーバー上のファイルを転送・操作する仕組み)ソフトやサーバーのファイルマネージャーでwp-content/pluginsフォルダの名前を一時的に変更します(例:plugins_old)。
これによりすべてのプラグインが停止し、プラグイン由来のエラーであれば画面が復旧するはずです。復旧した場合は、フォルダ名を元に戻してからプラグインを一つずつ有効化し、どのプラグインを有効化したときに再度真っ白になるか確認します。
5. テーマをデフォルトに変更
プラグインに異常がない場合、テーマに原因がないか確認します。
管理画面に入れる場合
「外観 > テーマ」からTwenty Twentyなど公式のデフォルトテーマに一時的に切り替えてみます。
管理画面に入れない場合
FTPでwp-content/themes内の使用中テーマのフォルダ名を変更して、強制的に別テーマ(デフォルトテーマ)に切り替えます。
テーマを変更して画面が復旧した場合、テーマファイルに問題があると判断できます。
6. その他設定ファイルの確認
プラグイン・テーマでもない場合、.htaccess(エイチ・ティー・アクセス:サーバーの設定用隠しファイル)をチェックします。
リダイレクト設定等で.htaccessを編集した直後であれば、記述ミスがないか確認しましょう。またWordPress引越し(移行)直後ならwp-config.php内の設定ミス、データベース接続エラーなどの可能性も考えられます。
7. サーバーやPHP環境の問題
必要であればサーバー会社に問い合わせ、サーバー側でエラーや制限が発生していないか調べてもらいましょう。
8. 専門業者への相談も検討
上記を試しても解決しない場合や、原因の特定・復旧が難航する場合は、無理をせずWordPressの専門業者やホスティングのサポートに相談することも検討しましょう。
企業サイトの場合、サイトのダウンタイムが業績や信頼に与える影響も大きいため、早期復旧のためプロの力を借りるのは賢明な判断です。
原因1: PHPエラー(コードの記述ミスなど)による真っ白画面
現象
テーマやプラグインのPHPコードに誤りがあると、WordPressはエラー発生個所以降の処理を停止し、ブラウザには何も出力されず真っ白になります。特にファイル編集直後に真っ白になった場合、その編集したコードのミスが原因と考えられます。
典型例はテーマのfunctions.phpをカスタマイズ中に起こるエラーです。functions.phpはテーマ独自の機能をPHPで追加できるファイルですが、例えば文法ミス(シンタックスエラー)や記号の閉じ忘れ、不要なスペースや改行の混入などがあると即座に致命的エラーとなり、サイト全体が真っ白になります。
この場合、管理画面にも入れなくなるため修正が厄介です。
確認方法
上記チェックリストのステップ3で述べたWP_DEBUGモードを有効化してエラー内容を確認します。エラー表示例として以下のようなメッセージが出れば、原因ファイルと行番号を特定できます:
Parse error: syntax error, unexpected '}' in /home/ユーザー名/site/wp-content/themes/テーマ名/functions.php on line 123
このメッセージは、そのファイルの123行目に余計な}があることが原因だと示しています。
また、エラーログや表示から原因ファイルが分からない場合でも、直前に編集したファイルがあればまずそのコードを疑いましょう。
具体的な対処法
該当コードの修正または復元
エラー箇所が判明したら、そのファイルを修正します。管理画面から編集していた場合は既にアクセス不能なので、FTPでサーバーに接続し問題のファイルを直接編集するか、問題発生前のバックアップファイルで上書き復元します。
編集ミスが明らかな場合(例えば記号の抜け漏れ)は正しく追記し、不要なコードは削除します。修正後、サーバーにアップロードして上書き保存し、ブラウザでサイトを再読み込みしてみましょう。正常に表示されれば復旧完了です。
エラー箇所の洗い出し
どこを直せば良いか分からない場合は、エラーメッセージ中のファイル名と行番号を手掛かりにコードを確認します。心当たりのある変更箇所以外にも、PHPコード全体を注意深く見直してください。
特に直前に編集した部分について、以下をチェックします:
一つひとつ原因を潰して再度アップロードし、都度画面が表示されるか確認します。
作業前に戻す
どうしても原因コードが見つからない場合、一旦そのファイルを変更前の状態に戻すのも手です。直前に加えたカスタマイズを諦め、バックアップから元のファイルを復元したり、公式テーマのオリジナルfunctions.phpを再度ダウンロードして差し替えてみます。
元に戻して正常表示されれば、やはりそのコードに問題があった証拠です。今後再度カスタマイズする際はテスト環境で行う、または専門の開発者に依頼することを検討しましょう。
注意点
functions.phpのような重要ファイル編集時は必ずバックアップを取得してから行う癖を付けてください。また、WordPress管理画面のテーマエディタで直接コードを編集すると、エラー発生時に即画面が真っ白になりロックアウトされるため危険です。
可能ならば子テーマを用意してそちらで編集し、問題が起きても有効な親テーマに切り替えられるようにしておくと安全です。
原因2: プラグインの競合・不具合による真っ白画面
現象
新しいプラグインを有効化した直後や、プラグインを更新したタイミングでサイトが真っ白になることがあります。これはプラグイン同士の競合や、プラグイン内のエラーによりWordPressが正常動作できなくなるケースです。
特に多数のプラグインを導入しているサイトでは、互いに干渉して不具合を起こすことがあり注意が必要です。企業サイトでは機能拡張のためプラグインが増えがちですが、その分リスクも増します。
確認方法
心当たりがある場合は、真っ白になる直前に有効化または更新したプラグインがないか思い出してください。そのプラグイン名がエラー表示に含まれていれば、それが原因です。
また、以下のような症状によって原因の絞り込みができます:
| 症状 | 考えられる原因 |
|---|---|
| 管理画面に入れるがフロントページのみ真っ白 | キャッシュ系プラグインがフロント出力を妨げている可能性 |
| フロントは表示されるが管理画面だけ真っ白 | 管理画面専用のプラグイン(編集エディタ拡張系など)が影響 |
| 両方とも真っ白 | 重大な競合またはエラー |
具体的な対処法
全プラグインの無効化
原因特定の第一歩として、すべてのプラグインを無効化します。
管理画面に入れる場合: プラグイン一覧で全選択し「無効化」を実行します。
管理画面に入れない場合:
FTPでwp-content/pluginsフォルダ名を変更して強制的に全停止します(例:plugins → plugins_old)。
この状態でサイトをチェックし、真っ白な画面が解消されたか確認してください。もし元に戻った場合、原因はプラグインにあると絞り込めます。
問題のプラグインを特定
pluginsフォルダをリネームして停止した場合は元の名称に戻し(プラグイン全復帰)、管理画面からプラグインを一つずつ有効化します。
有効化のたびにサイトを再読み込みし、どのプラグインを有効にした時点で再度画面が真っ白になるか確認します。または、FTP上でプラグイン個別のフォルダ名を順番に変えて一つずつ無効化→確認を繰り返しても構いません。
手間ですがこの作業で不具合を起こす特定のプラグインを突き止めることができます。
アップデートまたは削除
問題のプラグインが判明したら、そのプラグインの最新アップデートの有無を確認します。もし既知の不具合が修正された新バージョンがあれば更新することで解決する場合があります。
最新版でも問題が続く場合、プラグインの公式サポートフォーラムで同様の症状報告がないか調べたり、開発元へ問い合わせてみましょう。それでも解決しなければ、そのプラグインの使用を諦めて削除し、代替プラグインを探すことも検討してください。
プラグイン間の競合対策
特定のプラグイン単体では問題なくとも、他のプラグインと組み合わせると不具合を起こすケースがあります。企業サイトでは必要な機能を満たすため複数プラグインを併用することが多いですが、極力プラグインは厳選し、不要なものは停止・削除することが望ましいです。
また、事前に導入しようとするプラグインの評判を調べ、互換性情報(他プラグインとの相性やPHP対応状況)に問題がないか確認しましょう。公式ディレクトリのレビューや更新履歴も参考になります。
データ消失に注意
プラグインを無効化・削除すると、そのプラグインが持っていた設定やデータが消える可能性があります。重要なデータを扱うプラグイン(フォームデータや顧客情報など)は、無効化前にエクスポートやメモを取るなどバックアップを行ってください。
また、復旧後にプラグインを復元する際は、再設定が必要になる場合があることを念頭に置きましょう。
原因3: テーマの不具合(テーマ競合やカスタマイズミス)による真っ白画面
現象
WordPressのテーマに問題がある場合も、サイト全体が真っ白になることがあります。新しいテーマに切り替えた直後に画面が表示されなくなったり、テーマファイルを編集して保存した途端にWSOD状態になるケースです。
特に企業サイトでは独自デザインのためテーマをカスタマイズすることも多く、その際のコードミスが原因となることがあります。また、テーマ自体のバグや他のプラグインとの互換性問題でエラーが発生する場合もあります。
確認方法
直前に有効化したテーマや更新したテーマがある場合はそれが最有力です。エラー表示にテーマ名やテーマのファイルパス(例えば /wp-content/themes/テーマ名/...)が含まれていれば、まさしくテーマ関連のエラーです。
管理画面に入れる場合は別テーマを試すことが迅速な確認手段ですし、管理画面に入れなければFTPでテーマフォルダ名を変更する方法で確認できます(これによりWordPressは自動的にデフォルトテーマにフォールバックします)。
具体的な対処法
テーマを一時変更
まず問題切り分けのため、現在のテーマから公式のデフォルトテーマ(例: Twenty Twentyシリーズ)に切り替えてサイトを表示してみます。
管理画面に入れる場合: 「外観 > テーマ」から操作。
管理画面に入れない場合:
FTPで /wp-content/themes/現在のテーマ名 を一時的にリネームする(例えば_disabledを付与)。
WordPressはそのテーマを読み込めなくなるため、自動的に別のテーマに切り替わります。これでサイトが表示されれば、現在利用中のテーマに原因があると特定できます。
テーマファイルの修正
原因がテーマのコードエラー(PHPエラー)の場合は、そのファイルを修正する必要があります。原因箇所がエラーメッセージで特定できていれば該当ファイルを開き、プラグインの場合と同様に誤りを直します。
特にfunctions.phpであれば前述の「PHPエラーによる真っ白画面」の対処法を参照してください。テーマのテンプレートファイル(例: header.phpやsingle.php)に手を加えた直後であれば、その変更を元に戻すことで改善することがあります。
編集内容が正しいか再チェックし、必要ならコメントアウト(コードの先頭に/*と末尾に*/を記述して無効化)して検証しましょう。
テーマを再インストール
テーマ自体のファイルが壊れている可能性もあります。不正な編集やファイル破損が疑われる場合、テーマを公式サイトから再ダウンロードして上書きする方法があります。
特にアップデート中断などでテーマファイルが欠損した場合は有効です。独自にカスタマイズしたテーマでバックアップがあるならばそれを復元することも検討してください。再インストール後に正常表示されれば、テーマの破損が原因だったと言えます。
テーマとプラグインの相性
稀にテーマと特定プラグインの組み合わせで不具合が発生する場合があります。例えば新しいテーマを導入したらあるプラグインと競合して真っ白になった、といったケースです。
その場合、問題のプラグインを無効化すると改善することがあります。テーマ変更前後でプラグイン構成が同じか見直し、テーマ開発元のドキュメントやサポートフォーラムで既知の不具合情報がないか確認しましょう。
子テーマの活用
企業サイトではテーマを直接編集せず子テーマを使うことが推奨されます。子テーマであれば親テーマに問題が起きても子テーマを無効化することで一時的に対処できますし、親テーマのアップデートで修正が提供された場合も適用しやすくなります。
日頃から子テーマを用いて安全にカスタマイズし、本番サイトに適用する前にテスト環境で動作確認をする運用を徹底することで、テーマ由来のトラブルを未然に防げます。
原因4: .htaccessファイルの問題による真っ白画面
現象
WordPressサイトでは、サーバーのルーティング設定等に**.htaccess**(ドットエイチティーアクセス)ファイルを利用しています。特にパーマリンク設定を有効にしている場合、WordPressが自動生成した.htaccessがサイト表示に関与します。
この.htaccessファイルに誤った記述があったり、何らかの理由でファイルが書き換えられた/削除された場合、サイトが正常に表示されずブラウザにエラー(内部サーバーエラー500)を返すことがあります。結果として画面が真っ白になり、場合によっては「このページは動作していません(HTTP ERROR 500)」といったメッセージが出ることもあります。
確認方法
直前にリダイレクト設定や基本認証の設定などで.htaccessを編集していないか振り返ります。例えばURL強制転送やアクセス制限の記述を追加してから真っ白になったなら、記述ミスの可能性が高いです。
また、新しいプラグイン(特にキャッシュ系やセキュリティ系)がインストールされた直後であれば、そのプラグインが自動的に.htaccessに追記し不具合を生じさせた可能性もあります。
一方、特に何も変更していないのに突然発生した場合は、.htaccessが意図せず書き換えられた(悪意あるアクセスによる改ざんなど)可能性も疑われます。
具体的な対処法
記述ミスの修正
.htaccessを自分で編集した場合は、記述内容を再確認します。タイポや構文エラーがないか、不要なスペースや誤ったディレクティブがないかチェックしましょう。
一旦その追記部分を削除またはコメントアウトし、ファイルを保存した上でサイトを再読み込みします。問題が解消すれば、記述ミスが原因だったことになります。正しい構文をもう一度確認しながら再設定するか、必要なければ削除したままとします。
初期状態に戻す
.htaccessの不具合が疑われるが原因箇所が分からない場合、初期状態に戻す方法があります。
- 現在の
.htaccessファイルをFTPでダウンロードしてバックアップを取る - サーバー上の
.htaccessを一時的にリネーム(例:.htaccess_bk) - WordPress管理画面でパーマリンク設定を再度「保存」
するとWordPressが自動的にデフォルトの.htaccess内容を書き出します。サイトが正常表示されるようであれば、問題は旧.htaccessの内容にあったことが確定します。必要な追加設定がある場合は、新しい.htaccessに慎重に追記しましょう。
プラグインによる改変
.htaccessはプラグインによって書き換えられることがあります。例えばキャッシュ系プラグイン(WP Super Cache等)はページ高速化のため特殊なルールを追記します。セキュリティプラグインも悪質なアクセスブロックのため記述を追加します。
これらが原因で不具合が起きることもあるため、該当プラグインの設定画面で設定をOFFにする、あるいは一時的にプラグイン自体を無効化して状況が改善しないか確認してください。キャッシュ系の場合はキャッシュのクリアも効果があります。
不正なコードの混入
もし.htaccess内に見覚えのない怪しいコード(意味不明な文字列や暗号化されたような記述)がある場合、それはマルウェア(悪意あるコード)かもしれません。
昨今、不正アクセスにより.htaccessにリダイレクト広告やウイルスサイト誘導のコードを仕込まれる事例が増えています。心当たりがないのに内容が書き換わっていた場合は、後述する「ハッキングの可能性」を考慮し、早急に対処する必要があります。
.htaccessはサイト表示に深く関与するファイルですので、編集や取り扱いは慎重に行いましょう。復旧した後は、念のため不要な記述が残っていないか、パーマリンクが正しく機能するか確認してください。
原因5: サーバーPHPバージョンの不一致による真っ白画面
現象
WordPressはPHPというプログラミング言語で動作しています。そのためサーバーのPHPバージョンが、使用中のWordPressやプラグイン/テーマの要求するバージョンと合っていない場合、互換性の問題でエラーが発生することがあります。
例えば、WordPressやプラグインがPHP7以上を必要とするのにサーバーがPHP5系のままだったり、逆にサーバーがPHP8に上がったことで古いプラグインのコードが動かなくなる、といったケースです。結果として白画面(あるいはサーバーエラー)が発生する可能性があります。
確認方法
サーバーのコントロールパネルやPHP情報表示(phpinfoなど)で現在のPHPバージョンを確認します。WordPressのダッシュボード「サイトヘルス」でもPHPのバージョンに関する情報や警告が表示される場合があります。
一般的に、最新のWordPressではPHP 7.4以上(できれば8.x)を推奨しています。
また、エラー表示の中に「unexpected … expecting …」や「undefined function」といった文言があり、調べるとPHPの古いバージョンでは使えない構文や関数だった、という場合はバージョン不一致が疑われます。
具体的な対処法
PHPバージョンをアップグレード
サーバーのPHPが古すぎる場合、まずPHPのバージョンアップを検討します。レンタルサーバーであれば管理画面から簡単にPHP7→PHP8などバージョン変更ができることが多いです。
WordPress自体もPHPの高いバージョンに対応していますので、支障がなければ最新版に上げてしまうのが望ましいでしょう。実際、PHPを7.4から8.0に上げたところページ応答が速くなりセキュリティも向上するといったメリットも報告されています。
PHPバージョン不一致が原因であれば、このアップグレードで白画面が解消する可能性が高いです。
互換性の確認
ただしPHPを上げる前に、現在利用しているテーマやプラグインが新しいPHPに対応しているか確認しましょう。開発が止まっている古いプラグインなどは、PHP8で動作しない場合があります。
その場合、代替プラグインへの移行や、プログラムコードを修正するといった対策が必要です。事前にローカル環境やステージング環境でPHPバージョンを上げてテストし、不具合が出ないか検証してから本番に適用すると安全です。
PHPをダウングレード/バージョン切替
逆に、サーバー側でPHPが更新されてしまい(自動アップデートやサーバー移設など)、それが原因で白画面になった場合は、一時的にPHPのバージョンを前のバージョンに戻す(ダウングレード)ことで動作が復旧するか試します。
ただし古いPHPを使い続けるのはセキュリティリスクがありますので、根本的には問題のテーマ・プラグインをアップデートするか、どうしても更新が望めない場合は使用をやめる方向で検討しましょう。
以下の表は、PHPバージョンごとのサポート期限を示しています。セキュリティサポートが終了したバージョンを使い続けることは、サイトを脆弱性の危険にさらすことになるため、サポート中のバージョンへの移行を強く推奨します。
| バージョン | 初回安定リリース日 | アクティブサポート終了日 | セキュリティサポート終了日 |
|---|---|---|---|
| 5.6 | 2014-08-28 | 2016-12-? (延長あり) | 2018-12-31 |
| 7.0 | 2015-12-03 | 2017-12-03 | 2018-12-03 |
| 7.3 | 2018-12-06 | 2020-12-06 | 2021-12-06 |
| 7.4 | 2019-11-28 | 2021-11-28 | 2022-11-28 |
| 8.0 | 2020-11-26 | 2022-11-26 | 2023-11-26 |
| 8.1 | 2021-11-25 | 2023-11-25 | 2025-12-31 |
| 8.2 | 2022-12-08 | 2024-12-31 | 2026-12-31 |
| 8.3 | 2023-11-23 | 2025-12-31 | 2027-12-31 |
| 8.4 | 2024-11-21 | 2026-12-31 | 2028-12-31 |
※ アクティブサポート期間中は新機能追加やバグ修正が行われ、セキュリティサポート期間中はセキュリティパッチのみが提供されます。
サーバー会社や専門業者に相談
PHPのバージョン切替が自力で難しかったり、互換性問題が複雑な場合は、サーバーのサポートやWordPressの専門業者に相談することも手です。
特に大事な企業サイトで、機能停止期間を最小にするため迅速な対応が求められる場合、プロの力を借りて安全に環境を更新してもらう方が安心です。
原因6: メモリ不足(メモリ制限超過)による真っ白画面
現象
WordPressが動作するPHPには、使用できるメモリ量に上限(メモリ制限)が設けられています。サイトが大きくなったり、プラグインが増えて処理が重くなると、このメモリ上限に達してしまうことがあります。
「Allowed memory size of *** bytes exhausted」といったエラーメッセージが出る場合が典型で、メモリ不足による処理不能が発生すると画面は真っ白になります。
特に安価なサーバープランではデフォルトのメモリ上限が低めに設定されており、大量のプラグインを利用すると簡単に上限に達してしまうことがあります。
確認方法
WP_DEBUGを有効にした際に、上記のようなメモリ関連のエラーが表示されれば確定です。表示されなくても、真っ白になる直前にプラグインを追加した、アクセス数が急増した、大量の画像を一括処理した、などメモリ消費が増える操作があれば疑ってみましょう。
WordPressのサイトヘルス情報やサーバーのPHP情報で現在のmemory_limit値(例: 40M, 128Mなど)を確認することも有益です。企業サイトではアクセスやデータ量が多く、標準のメモリ設定では不足する場合があります。
PHPの詳細な設定情報を確認したい場合は、以下のコードを含むファイル(例: info.php)を作成し、サイトのルートディレクトリにアップロードします:
<?php
phpinfo();
?>
その後、ブラウザで https://あなたのサイト.com/info.php にアクセスすると、PHPの設定情報が一覧表示されます。memory_limitやupload_max_filesizeなどの値を確認できます。
重要: セキュリティ上、確認後は必ずこのファイルをサーバーから削除してください。phpinfo()は詳細なサーバー情報を表示するため、放置すると攻撃者に情報を提供することになります。
具体的な対処法
メモリ限界値の引き上げ
WordPressではwp-config.phpに設定を追加することでPHPのメモリ上限を増やすことができます。例えば下記のように記述します:
define('WP_MEMORY_LIMIT', '64M');
これでWordPressが使用するメモリの上限を64MBに引き上げられます。一般に64M程度に増やせば、多くの場合メモリ不足による白画面は解消できます。必要に応じて128Mや256Mに設定することも検討しましょう。
メモリは作業机の広さのようなもので、広いほど一度にたくさんの作業ができるイメージです。
サーバー側設定の確認
wp-config.phpで指定したメモリ上限は、実はサーバー側で許可された上限以下でないと効果がありません。もしWordPressで256Mに設定してもサーバーが128Mまでしか許可していなければ、それ以上は使えないのです。
この場合、.htaccessに以下を追記してPHP自体の制限を上げることも試せます:
php_value memory_limit 128M
あるいはサーバーのphp.ini設定で直接 memory_limit = 128M のように変更する方法もあります。ただし共有サーバーでは自由に変更できない場合も多いため、その際はサーバー会社に「メモリ上限を増やしたい」旨問い合わせるとよいでしょう。上位プランへの変更で対応するケースもあります。
不要なプラグインの削減
メモリ逼迫の根本対策として、不要なプラグインを停止・削除することも有効です。特に重い処理をするプラグイン(アクセス解析やバックアップ、セキュリティスキャンなど)は常時有効にせず、必要時のみ使うか、サーバー側の機能で代替できるものはそちらを利用するなど工夫しましょう。
プラグイン同士の競合で無限ループ的にメモリを消費してしまう不具合も考えられるため、心当たりがある場合はアップデートや代替を検討してください。
サーバーのアップグレード
根本的なメモリ不足であれば、サーバー自体のスペックを上げることも選択肢に入ります。企業サイトでアクセスが増大したりコンテンツが充実してくれば、より高性能なプランや専用サーバーへの移行を検討すべき段階かもしれません。
メモリやCPUリソースに余裕があれば、白画面のみならずサイト全体の安定性・速度向上にもつながります。
原因7: その他の原因(ファイル権限やデータベース、ハッキングなど)
上記以外にも考えうる原因がいくつかあります。頻度は低いものの、企業サイトではセキュリティや運用上の特殊なケースも想定されますので、念のため触れておきます。
ファイル権限(パーミッション)の問題
現象
サーバー上のファイルやフォルダには、読み書き実行のアクセス権限(パーミッション)が設定されています。例えばwp-config.phpなど重要ファイルの権限が誤って変更され、WordPressから読み取り不可になってしまうと、サイト表示時にエラーが発生し白画面になる可能性があります。
WordPress更新直後やサーバー移転時にファイル権限が適切に引き継がれなかった場合などに起こりえます。
対処法
各ファイル・ディレクトリのパーミッションが推奨値になっているか確認します。一般的にはWordPressでは「ファイル=644、フォルダ=755」が基本です。FTPクライアントやサーバー管理画面から権限設定を閲覧・変更できます。
不明な場合はサーバー提供会社のマニュアルを確認してください。
注意点: 権限を安易に「777(誰でも読み書き可)」のように開放するのはセキュリティ上非常に危険です。権限変更で解決を図るのは最終手段とし、できればサーバー管理者やホスティングのサポートに相談した方が安全です。
データベースエラーの可能性
現象
WordPressはPHPと共にMySQLなどのデータベースを利用しています。データベース接続が失敗した場合、通常は「データベース接続確立エラー」とメッセージが表示されます。
しかし、データベース自体に不整合が起きてクエリ実行時にエラーとなった場合など、タイミング次第では画面が真っ白になることも考えられます。また、wp-config.phpのDB接続設定ミス(例えばパスワード誤り)でも接続できずエラーとなります。
対処法
管理画面に入れない・何も表示されない状況でデータベースを疑うのは難しいですが、サイト引越し直後やWordPress本体のアップデート直後であればデータベースのエラーも考慮します。
まずwp-config.php内のDB接続設定(DB名、ユーザー名、パスワード、ホスト)が正しいか再確認しましょう。間違っていれば正しい情報に修正します。
また、可能であればサーバーのエラーログ(データベースエラーログ)を確認し、特定のテーブルが壊れていないかチェックします。壊れている場合はバックアップから該当テーブルを復元するか、専門業者に修復を依頼することになります。
定期的にデータベースの最適化やエラーチェックを行い、大事に至る前に対処できると理想的です。
サイトのハッキング被害による障害
現象
不正アクセス(ハッキング)によりサイトのファイルが改ざん・削除された場合も、画面が真っ白になることがあります。例えば前述のように.htaccessやindex.phpを削除・書き換えされるとサイトは表示されなくなります。
また、攻撃者が悪意あるコードをテーマやプラグインのファイルに埋め込み、そのコードがエラーを引き起こしているケースもあります。企業サイトは攻撃の標的になりやすく、一度侵入を許すとバックドアを仕掛けられ何度も障害が再発する危険性があります。
確認方法
「特に何も変更していないのに突然真っ白になった」「バックアップから復元してもしばらくするとまた真っ白になる」といった場合はハッキング被害を疑います。
サーバーのアクセスログを確認し、不審なアクセスが集中していないかチェックしてください。また、ファイル構成を調べて見慣れないPHPファイルや不審なスクリプトがないか確認します。最近更新されたファイルの一覧を出すなどして、身に覚えのない変更がないか探りましょう。
対処法
ハッキングが疑われる場合、サイトを一時閉鎖(オフライン)して被害を拡大させないことが大切です。速やかに以下の対応を行います:
専門のセキュリティ業者に依頼
被害状況の特定や復旧作業は専門知識が求められます。自社に技術者がいない場合、無理に自力対応せず実績のあるセキュリティ専門会社やWordPress保守サービスに早急に連絡し対処を仰ぐことを強くおすすめします。
企業サイトの場合、被害範囲の報告や再発防止策の実施も求められるため、プロに任せた方が安心です。
再発防止
ハッキングは一度復旧しても、脆弱性が残っていると再度狙われる可能性が高いです。以下の対策を施しましょう:
専門業者への依頼判断基準(どんな時にプロに任せるべきか)
企業のWeb担当者とはいえ、必ずしも全員がサーバーやプログラミングの深い知識を持っているわけではありません。また、自社サイトとはいえダウンタイムの影響が大きい場合や、原因が分からず長時間復旧できない場合は、早期解決のために外部の専門家に任せる決断も重要です。
以下のようなケースでは専門業者への依頼を検討してください:
原因不明で行き詰まった場合
チェックリストに沿って対応してもなお白画面が解消しない場合、それ以上の調査には専門的な知識・ツールが必要かもしれません。これ以上時間をかけても復旧の目処が立たない時は、潔くプロに相談しましょう。
サイトの重要度が高い場合
ECサイトや会員サービスなど収益に直結するサイトがダウンしている場合、一刻も早い復旧が求められます。自力対応で時間を浪費するより、実績のあるWordPress開発会社や保守会社に依頼し、可能なら契約プラン内で緊急対応してもらう方が結果的に損失を抑えられます。
セキュリティ事故の疑いがある場合
ハッキングの可能性があるときは、自社だけで対処するのは危険です。見えないところに改ざんが残っていると再攻撃の温床になります。
マルウェア除去や脆弱性対応の専門業者であれば、サーバーをくまなくチェックし安全を担保してくれます。費用はかかりますが、被害拡大や情報漏洩を防ぐ保険と考え、速やかに依頼すべきです。
社内にITリソースが不足している場合
中小企業などで専門のWeb技術者がいない場合、WordPressの障害対応を無理に担当者が抱え込むのは得策ではありません。
WordPress保守サービスでは、月額契約でサイトの定期メンテナンスや不具合対応を代行してくれるところもあります。何度も白画面に悩まされて業務に支障が出ているなら、保守管理のプロに任せて本来の業務に集中するという選択肢も検討しましょう。
依頼先としては、WordPressに精通した開発会社やフリーランス、ホスティング会社の有償サポートなどがあります。依頼時には、発生状況や自分で試した対処内容、サイトのバックアップ有無などを整理して伝えるとスムーズです。
企業サイトであれば契約上の機密保持や実績も考慮し、信頼できる業者を選定してください。
再発防止のポイント
最後に、今回のようなトラブルを再発防止するための対策をまとめます。サイト運営担当者として、日頃から以下のポイントに留意しましょう。
WordPress本体・プラグイン・テーマの定期更新
古いバージョンのままだと不具合やセキュリティ脆弱性が放置され、白画面を含む様々なトラブルの原因となります。
社内で更新テストのルールを設け、定期的にアップデートを適用してください(メジャーアップデート前には必ずバックアップを取得し、可能ならステージング環境で試す)。特にPHPやWordPress本体の大型アップデート時は、互換性チェックを事前に実施しましょう。
バックアップと迅速なロールバック体制
いざという時すぐ元に戻せるよう、定期バックアップを取りましょう。データベースとファイル両方が必要です。自動バックアップサービスやプラグインを導入するのも良いでしょう。
また、更新や変更の際は必ず直前のバックアップを保持し、問題発生時にすぐロールバック(復元)できる手順をマニュアル化しておくと安心です。
テスト環境の活用
本番サイトでいきなり変更を加えないようにしましょう。ステージング環境やローカルテスト環境を用意し、プラグイン追加やテーマ変更、大幅な更新はそちらで事前検証してから本番に反映します。
テスト環境でWSODが発生しても本番影響を避けられますし、不具合も発見しやすくなります。
プラグインの精査
機能が重複するプラグインは極力統廃合し、信頼できる開発元・実績のあるプラグインを選定しましょう。不必要に多くのプラグインを入れないようにし、定期的に利用状況を見直して不要になったプラグインは停止→削除します。
少ないプラグインで済むほど不具合リスクも減少します。
セキュリティ対策の強化
ハッキングによる改ざんは致命的な障害につながります。ファイアウォール設定やセキュリティプラグインの導入、ログ監視などで不正侵入をブロックしましょう。
また、管理画面の強力なパスワード設定や二段階認証、不要なユーザーアカウント削除も基本です。セキュリティ対策は企業サイトにおいて必須の運用と心得てください。
リソース監視
サーバーのメモリやCPU、ディスク容量などリソースの使用状況を定期的に確認しましょう。レンタルサーバーの管理画面で統計情報が見られる場合があります。
余裕がなくなってきたら早めに上位プランへの変更を検討し、限界を迎えてサイトが落ちる前に手を打ちます。特にアクセス急増が見込まれるキャンペーン時などは事前に増強しておくと安全です。
運用フローの整備
社内に複数担当者がいる場合、誰がいつ何を変更したか履歴を残す運用を心がけましょう。更新や編集の際は必ず事前承認を取り、変更内容を記録します。
これにより、問題発生時に原因特定が素早く行えます。また、定期的にサイトヘルスチェックやエラーログ確認を行い、小さなエラーの段階で対処しておくと大事に至りません。
まとめ
WordPressの画面が真っ白になるトラブルは驚くものですが、原因の多くはPHPエラーやプラグイン/テーマの問題など特定できます。
本記事で解説した原因別の対処法を参考に落ち着いて対応すれば、ほとんどの場合サイトを復旧できるでしょう。もし対処が難しい場合でも無理をせず専門家の助けを借りることで、サイトの安全とビジネスの継続性を守ることができます。
日頃から予防策を講じ、トラブルに強いWordPress運用を目指してください。必要に応じてブックマークして頂き、いざという時にこのガイドがお役に立てれば幸いです。