自分のWordPressウェブサイトを閲覧したら「死の真っ白画面」が発生し、管理者も訪問者もアクセスできないことは最悪ですね。今日は、WordPressの「死の真っ白画面」の最も頻繁な6つの原因と、ウェブサイトをできるだけ早く復帰できる処理方法について述べたいと思います。

WordPress white screen of death?😱 No need to panic, here's how to fix it fast. Click to Tweet

WordPress「死の真っ白画面」について

WordPress「死の真っ白画面」(WSOD)は、PHPのコードエラーまたはメモリ制限の超過による発生する場合が多いです。最初に確認すべきことはウェブサイトの管理画面が機能しているかどうかです。ウェブサイトのフロントエンドが機能していないが管理画面が機能していると、異常の原因はおそらくテーマやプラグインでしょう。管理画面を確認するには、yourdomain.com/wp-adminにアクセスします。

「死の真っ白画面」ブラウザにより少し異なる場合があります。 下記はGoogle Chromeの例です。「このページは動作していません。現在このリクエストを処理できません。」という警告メッセージが表示されます。これはHTTPの500エラーです。

Google ChromeでのWordPress「死の真っ白画面」

Google ChromeでのWordPress「死の真っ白画面」

Mozilla Firefoxでは、警告表示のない真っ白い画面です。

Mozilla FirefoxでのWordPress「死の真っ白画面」

Mozilla FirefoxでのWordPress「死の真っ白画面」

WSODの処理方法について

上記の画面が表示されると、下記の手順に従って異常を処理できます:

  1. プラグインとテーマを無効にする
  2. 構文エラーを修正する
  3. デバッグを有効にする
  4. メモリ制限を増やす
  5. ファイルアクセス権に関する異常を確認する
  6. 自動更新の失敗を確認する

1. プラグインとテーマを無効にする

WordPressの「死の真っ白画面」の最も簡単な処理方法の一つはすべてのプラグインを無効にすることです。プラグインの悪いアップデートのせいでウェブサイトが動作しなくなる場合が多いです。管理画面にアクセスできる場合は、単に「プラグイン」の「一括操作」メニューにアクセスし、「無効にする」を選択します。これで、すべてのプランは無効になります。これにより異常が直ると原因を調査します。プラグインを一つずつ有効にし、有効にした度にウェブサイトを再起動します。フロントエンドが動作しないくなると異常原因が特定できました。次に、プラグインの開発者に連絡するか、WordPressリポジトリのサポートチケットを開きます。

WordPressのすべてのプラグインを無効にする

WordPressのすべてのプラグインを無効にする

管理画面にアクセスできない場合は、FTP経由でサーバーに接続し、pluginsフォルダーの名前をplugins_oldなどに変更します。そこで、ウェブサイトを確認します。動作すると、プラグインを一つずつ確認します。プラグインフォルダの名前を「plugins」に戻し、異常原因が特定できないまでに各プラグインのフォルダをの名前を一つずつ変更します。

WordPressの「plugin」フォルダの名前を変更する

WordPressの「plugin」フォルダの名前を変更する

WordPressテーマもそうです。ご利用のテーマを一時的にWordPressのデフォルトのテーマに置き換えます。Twenty Seventeenをお勧めします。管理画面にアクセスできる場合は、「外観」メニューの「テーマ」にアクセスし、Twenty Seventeenを有効にし、ウェブサイトをもう一度確認します。正常に動作すると、以上の原因はテーマのことです。

WordPressのテーマを一時的に変更する

WordPressのテーマを一時的に変更する

管理画面にアクセスできない場合の手順は、上記のプラグインに関する手順と同様です。「wp-content/themes」フォルダの名前をthemes_oldなどの別の名前に変更します。WordPressはこれで最新のデフォルトテーマ(おそらくTwenty Nineteen)に戻ります。(他にテーマがない場合は、Twenty NineteenをWordPressリポジトリからダウンロードし「themes」フォルダにアップロードできます。)そこで、ウェブサイトを確認します。動作している場合には、ご利用のテーマに課題またはアップデート異常が発生しているでしょう。テーマの開発者にお問い合わせください。

WordPressの「themes」フォルダの名前を変更する

WordPressの「themes」フォルダの名前を変更する

2. 構文エラーを修正する

「死の真っ白画面」のもう一つのよくある理由は、WordPressウェブサイトのコードを編集する際の記入ミスまたは誤った構文です。たった一文字を間違えるだけでウェブサイトが壊れる恐れがあります!怖いですね。これこそは本番サイトでコードを編集しない方がいい理由です。

しかし、心配しないでください。SFTPでウェブサイトに接続し、手動で行った変更を元に戻すことができます。異常の原因になっている変更が特定できない場合には、WordPressのバックアップを使用します。だからこそバックアップのことは重要です。Kinstaでは、ワンクリックでウェブサイトを以前の時点に復元できます。

WordPressウェブサイトをバックアップから復帰する

WordPressウェブサイトをバックアップから復帰する

3. デバッグを有効にする

「死の真っ白画面」が表示されている場合、または管理画面が機能していない場合(または原因を見つけたがさらに深く調査したい場合)には、デバッグを有効にしエラーを確認することができます。ただし、致命的なエラーが発生したときにスクリプトが実行を終了します。これがコンテンツが表示される前に発生すると、文章のまったく表示されていない白い画面しか表示されません。

デバッグを有効にするには、WordPressインストールのwp-config.phpファイルを開きます。 その中に次の行があるはずです:

define( 'WP_DEBUG', false )

そこで、falsetrueに置き換えてウェブサイトを再起動します。コードがない場合は、一番上に追加します。

wordpressのデバッグ

WP_DEBUGの例

これで、白い画面でなくエラーメッセージも表示されるようになります。それほど大きな改善ではありませんが、少なくとも調査ができます。今までプラグイン及びテーマを無効にしていなくても、エラーメッセージを見て原因が特定できます。エラーの原因となっているファイルは次のように表示されるはずです:

Cannot redeclare get_posts() (previously declared in /var/www/html/wordpress/wp-includes/post.php:1874) in /var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line 38

メッセージによると、異常の原因は「my-test-plugin」というプラグインの38行目にあります。該当のプラグインを無効にしましょう。

コードを編集する自信のある方はコードを編集することもできますが、リポジトリのプラグインなら、自分で行うよりも開発者に問い合わせればよいでしょう。プラグインの変更を行うと今後は自分でその変更の維持管理も行う必要がある為、開発者に任せた方が楽です。デバッグを有効にしてもエラーがまったく表示されない場合は、ホスティング会社のサーバー上でデバッグ機能が正しく設定されていない可能性がある為、ホスティング会社に問い合わせる必要があります。

4. メモリ制限を増やす

これでも異常現象が直らない場合、またはメモリの制限に関するエラーメッセージが表示された場合、アプリケーションにメモリを割り当てる必要があります。メモリを割り当てるには、wp-config.phpファイルに次のコードを追加してください:

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

これでうまくいかない場合は、以下の手順のいずれかに従ってください。通常の環境では、WordPressのルートディレクトリにある.htaccessファイルを使用し、メモリ制限を増やすことができます。単に以下の行を追加してください:

php_value memory_limit 64M

Kinstaのような素晴らしいホスティング会社をご利用の場合には、アーキテクチャがNGINXを使用している為ウェブサイトが非常に高速ですが、.htaccessファイルは存在しません。したがって、メモリ制限を増やすには、php.iniファイルを使用しましょう。ファイル内の任意の場所に次の行を追加します:

memory_limit = 64M

これでもメモリ不足の状態で、段々制限を増やす必要がある場合は、アプリケーションの課題がある可能性が高いです。ご利用のテーマまたはプラグインの一つがリソースを必要以上に使用しているかもしれません。是非、ご利用の開発者に確認してもらってください。そして、ご利用のホスティング会社にSQLログとリソースの分析データをもらってください。

5. ファイルアクセス権に関する異常を確認する

よくある話ではありませんが、ファイルアクセス権または所有権のせいでも異常が発生する可能性があります。状況によっては、「死の真っ白画面」につながるかもしれません! これを自分で修正することは可能ですが、自信のある方でないと、挑戦しない方が良いでしょう。 WordPressには3つのルールがあります:

  • ファイルは664または644でなければならない
  • フォルダは775または755でなければならない
  • wp-config.phpファイルは660、600または644でなければならない

サーバーへのSSHアクセスができる場合には、WordPressのルートディレクトリから次のコマンドを実行することにより適切なルールを適用できます:

sudo find .-type f -exec chmod 664 {} +
sudo find .-type d -exec chmod 775 {} +
sudo chmod 660 wp-config.php

自信のない方は是非ご利用のホスティング会社にお問い合わせください。WordPress特有のホスティング会社の中にはパーミッション確認機能がのある会社さえあります。

6. 自動更新の失敗を確認する

サーバーのタイムアウトなどWordPressのアップデートに関する異常が発生する場合もあります。多くの場合、異常が自動的に解決されますが、「死の真っ白画面」につながることもあります。

まず、WordPressのルートディレクトリにアクセスし、.maintenanceファイルがあるかを確認します。 あれば、そのファイルを削除してウェブサイトを再起動してください。アップデートが成功したが、WordPressがこのファイルを自動的に削除できなかった場合、ファイルを削除するとウェブサイトが正常状態に戻ります。

アップデートが完了していない場合は削除は自動的に行われます。それでもうまくいかない場合は、WordPressの手動アップデート手順に従ってください。

まとめ

考えられる異常原因が多いですが、処理しにくい異常ではありません。プラグインまたはテーマを確認することで異常の処理ができ、デバッグを有効にすることでより深く調査できます。WordPressの「死の真っ白画面」のその他の原因をご存じですか?是非教えてください。


この記事が面白いと思った方は、KinstaのWordPressホスティングプラットフォームも大好きでしょう。ウェブサイトをスピードアップし、当社のベテランのWordPressチームからの24時間365日のサポートを是非ご利用ください。Google Cloudを使用したインフラストラクチャは、自動スケーリング、パフォーマンス、およびセキュリティに重点を置いています。Kinstaの魅力をご案内させてください。当社のプランをご確認ください。