Sucuriは、「Troubleshooting WordPress: How to Fix the White Screen of Death」において、WordPressで発生することがあるホワイトスクリーン(WSoD: White Screen of Death)問題を解決するための12の修正手順について伝えた。WordPressのホワイトスクリーン問題は、WordPressのサイトが真っ白く表示される問題のことで、ブラウザによってはHTTP500エラーが表示されることもある。

Troubleshooting WordPress: How to Fix the White Screen of Death

Sucuriによると、WordPressのホワイトスクリーン問題は主に次のような理由により発生するという。

PHPコードのエラーや競合

PHPバージョンの不整合

メモリ制限による枯渇

.htaccessファイルの設定ミス

データベースの問題

Sucuriはこれらホワイトスクリーンを発生させる原因を修正する方法として、12の修正手順を示している。次にその概要を示す。

手順をたどる - 直近でWordPressに加えた変更を書き出す。プラグインやテーマのインストール、ファイルの変更、WordPressの更新など原因となりそうなものを書き出す。次に、これら変更を順にロールバックし、ホワイトスクリーンが解決するか確認する

エラーのタイプを確認する - ブラウザの開発者ツールを有効にする。次に、ホワイトスクリーンが発生するページを表示し、HTTPの応答コードを確認する。応答コードが200の場合は、空のページを読み込んでいるか、テーマファイルが破損している可能性がある。コードが500の場合は以下の手順に進む

WordPressのエラーログを確認する - WordPressのデバッグを有効にしてログを検査する

プラグインを一時的に無効にする - すべてのプラグインを無効にしてホワイトスクリーンが発生するか確認する。ホワイトスクリーンが改善された場合は、少なくともプラグインの1つに原因がある。プラグインを1つずつ有効にしながらホワイトスクリーンが発生するか確認し、原因となっているプラグインを特定する

アクティブなテーマを確認する - 一時的にデフォルトのテーマに戻し、ホワイトスクリーンが発生するか確認する。ホワイトスクリーンが発生しない場合はテーマが原因の可能性がある

メモリ制限を増やす - メモリ制限を増やしてホワイトスクリーンが発生するか確認する

修正したプラグイン、テーマ、コアファイルを置き換える - プラグイン、テーマ、コアファイルをカスタマイズした場合は、カスタマイズ前の状態に戻してホワイトスクリーンが発生するか確認する。カスタマイズ前のファイルがない場合は、再ダウンロードしてファイルを差し替えて確認する

PHPバージョンの互換性を確認する - ホスティングプロバイダーがPHPを更新することで、古いWordPressサイトでホワイトスクリーンが発生することがある。逆にPHPを更新したことでホワイトスクリーンが発生した場合は、PHPを以前のバージョンへダウングレードして影響を確認する

.htaccessファイルに問題がないかどうかを確認する - 一部のプラグインは.htaccessファイルを書き換えるため、Webサーバが正常に動作しなくなることがある。すべての.htaccessをデフォルト設定に差し替えて、ホワイトスクリーンが発生するかを確認する。ホワイトスクリーンが改善した場合は、.htaccessに問題があるため原因となったルールを特定して修正する

WordPressとブラウザのキャッシュをクリアする - 古いキャッシュが問題の原因となる可能性があるため、WordPressとブラウザのキャッシュをクリアして確認する

Webサイトのマルウェアをスキャンする - マルウェアが原因でホワイトスクリーンが発生する可能性がある。無料のWebサイトスキャナ「Website Security Checker | Malware Scan | Sucuri SiteCheck」などを使用してサイトを調査する

Webサイトのホスティングプロバイダに連絡する - 上記すべての手順を試みても解決しない場合は、Webサイトのホスティングプロバイダーに連絡し、解決に向けた支援を要請する

Sucuriは、に限らずWebサイトへ変更を加える際には必ずバックアップを取ることを推奨している。ホワイトスクリーンなどの問題は、多くの場合プラグイン、テーマ、コードの非互換が原因であり、直近のバックアップを復元して動作を確認することで原因を容易に特定することができるとしている。

また、脅威アクターにWebサイトを侵害され、サイトの改竄やマルウェアをインストールされた場合においてもバックアップは重要となる。このような場合に備えるためにも、Webサイトの管理者はサイトのイミュータブルバックアップを適切なタイミングで継続的に取ることが望まれている。