WordPress制作に関わっていると必ずいつか出くわすWordPressの真っ白画面。
何度もページをリロードしても、エラーも表示されず、ただ真っ白なスクリーンが表示されるだけ。
僕も100社以上のWordPressサイトの制作してきましたが、真っ白な画面には何度か直面したことがあります。
画面は真っ白ですが、これはWordPressのエラーで、主にPHPコードかサーバーの設定が原因です。
この記事では真っ白な画面が何なのか、そして真っ白な画面の対処法を紹介します。
WordPressの真っ白な画面とは何?
真っ白な画面が表示されるエラーは「WordPress Screen of Death (WSoD)」、または「死の真っ白画面」と呼ばれています。
サイトにアクセスした時、ページが表示されず、画面が真っ白になる現象です。
エラーがページに表示されないので、何をどうすればサイトを復旧できるのか判断するのが難しいエラーです。
せめてエラーがページに表示していればググって対処法が見つかる事ができるのですが、このエラーは厄介。
次は原因と対処法を見ていきましょう。
WordPressの真っ白な画面の対処法
ここからは対処法を紹介していきます。
ステップとしてはまず初めに初歩的なサイトテストをします。
それでも直らない場合、何故このエラーが出ているのか把握し、それを対処するという順序になります。
ブラウザのキャッシュをクリアする
キャッシュとは一度表示したWebページのデータをウェブブラウザが一時的に保管しておく仕組みです。
キャッシュに古いサイトのデータが保存されていると、WordPressのサイトが正しく表示されないこともあります。
このキャッシュをクリア・削除して、サイトが表示されるか確認してみましょう。
他のパソコン、携帯でアクセスしてみる
他のデバイスからサイトにアクセスすると表示されることがあります。
これはセキュリティのプラグインやサーバーがあるネットワーク・IPアドレスからアクセスをブロックすることがあります。
携帯からのネットワークや外部ネットワークに接続しているパソコンからアクセスして表示されるか試してみましょう。
エラーログを見る
ホスティングサーバーにはサイトにアクセスした時に、どのページがアクセスされ、何のファイルがロードされ、どんなエラーが出たかなどのログが残ります。
エックスサーバーの場合、ダッシュボードのアクセスログとエラーログからダウンロードできます。
サイトのアクセス数によってはダウンロードするファイルがとても大きくなります。
ここでおすすめは、ダウンロード直前に時間を見てサイトにアクセスすることです。こうすることによって、エラーログに表示されている最新の時間が自分がアクセスした時に出たエラーだと簡単に見る事ができるからです。
このエラーログにErrorが表示されていたら、それをグーグルで検索することによって改善策が見つかるはずです。
デバッグモードをオンにする
デバッグとはプログラミングで不具合を探し、修正するプロセスの事を言います。
WordPressにはデバッグモードというものがあり、このモードを有効することで、画面にエラーを表示することができます。
ルートディレクトリ(WordPressがインストールされているディレクトリー)にある「wp-config.php」の記述を変更するだけで簡単に表示させることができます。
define( 'WP_DEBUG', false );
これを以下のように変更します。
define( 'WP_DEBUG', true );
デバッグモードが有効化された後にサイトにアクセスすると、もしエラーがある場合、以下のように画面に表示されます。
WordPress内のメモリ制限を増やす
WordPress 5.2以降から、管理画面に「サイトヘルス」ツールが導入され、そこからサイトのメモリ上限を確認できます。
メモリ上限の変更はwp-config.phpというWordPressのファイルからするので、白い画面のせいで管理画面にアクセスできない場合でも可能です。
wp-config.phpのファイルをノートパッドなどのエディターで開き、WP_MEMORY_LIMITが設定されているか検索して下さい。
もしなかった場合、以下のラインを記入しましょう。
define( 'WP_MEMORY_LIMIT', '256MB' );
このラインはサイト内のメモリ制限を256MBに指定します。ほとんどのサイトは256MBで十分だと思いますが、場合によっては512MBが必要な時もあります。
ファイルを保存し、アップロードしてページが表示されるか確認しましょう。
サーバーのメモリ制限を増やす
先ほどのWordPress内のメモリ制限を増やす事に似ているのですが、サーバー自体のメモリ制限を増やす事で、白い画面が直る事もあります。
エックスサーバーの場合、php.ini設定からメモリ制限を増やす事ができます。
WordPressと同じく「memory_limit」がメモリ制限です。
先ほどと同じく256MB、または512MBで十分です。
プラグイン同士の衝突
これは古いプラグインや、あまりメジャーではないプラグインを使用しているサイトによく見られる問題ですが、プラグイン同士が衝突し、サイトが表示されない状態になってしまうことです。
対策はプラグインを一つ一つ無効化し、サイトが表示されるか確認します。
どのプラグインがどのプラグインと衝突しているか、見つけるのが結構やっかいなので、一つ一つ確認するのをおすすめします。
htaccessの設定
htaccessとはURLの書き換え、メモリ制限設定、リダイレクト設定など、サイトレベルでサーバーの設定ができるファイルです。
WordPressにはルートディレクトリにあります。
PHPバージョンの互換性
これもサーバーに関連しているのですが、使用しているWordPressのバージョンによってはPHP
WordPressのデバッグが有効化されていると、以下のようなエラーが表示されます。
これを直すにはサーバーでPHPバージョンを切り替える必要があります。
エックスサーバーだとドメインごとにPHPバージョンを選択できます。
ファイルパーミッションを確認
ファイルパーミションとはファイルごとに定義された読み出し・書き込みなどのアクセス権です。
このパーミションが正しく設定されていないと、WordPressのサイトが正常に表示されないことがあります。
サーバーからツールを使ってWordPressをインストールした場合、パーミッションを変更する必要はないことがほとんどですが、自分でファイルをアップロードしたり、プラグインがパーミションが正しくないファイルを作成してしまうこともあります。
エックスサーバーの場合ファイル管理画面からパーミションを変更したいファイルやディレクトリをクリックし、パーミション変更オプションを選びます。
バックアップからリカバリー
以上の対策方法をすべてトライしても、WordPressの白い画面が直らない場合は、サイトのバックアップからリカバリーすることです。
あるファイルが破損、または消されていたり、ハッキングされてWordPressに必要ないファイルや不正コードを挿入されている可能性もあるので、バックアップから復元して直る事もあります。
まとめ
WordPressのサイトが真っ白な画面に表示される「死の真っ白画面」。
これはサイトのエラーで、主にPHPコードかサーバーの設定関係が原因です。
初歩的なサイトチェックをまず最初に行い、WordPressのデバッグモードを有効にし、エラーを表示させ対処していきましょう。