WordPressの真っ白なページを修正する方法 – Error 500

WordPressの真っ白なページを修正するためのヘッダー画像

WordPressサイトで作業中に、新しいプラグインのインストールなどの更新を行っていたところ、突然真っ白なページやError 500のメッセージしか表示されなくなった——そんな経験はありませんか。サイトへのアクセスができなくなってしまいます。

この記事では、あなた自身、訪問者、顧客が再びサイトにアクセスできるよう、この問題をできるだけ早く解決する方法を説明します。

エラーを修正したあとは、WP STAGINGを使って「死の白い画面」が再び起こらないようにする方法もご紹介します。

動画:WordPressの真っ白なページエラーを修正する

WordPressの真っ白なページエラーの修正方法について、読むより動画で見たい場合は、こちらの動画をご覧ください:

このような動画をもっと見たいですか?
ぜひ YouTubeチャンネルをご覧ください。

ページを強制リロードする

WindowsではCtrl + F5、MacではCmd + Shift + Rを押してページを強制的にリロードします。この操作によりキャッシュ版が回避され、サイトの最新版が読み込まれるため、エラーが解消される場合があります。

ブラウザのキャッシュを削除する

もう1つ有効なのが、ブラウザのキャッシュをクリアすることです。ブラウザのキャッシュをクリアすると問題が解決することがあります。各ブラウザでのキャッシュ削除方法は以下のとおりです:

  1. Google Chrome: Ctrl + Shift + Deleteを押し、希望の期間を選択して「データを削除」をクリックします。
ブラウザのキャッシュを削除する
  1. Mozilla Firefox: Ctrl + Shift + Deleteを押し、適切な期間を選んで「今すぐ消去」をクリックします。
Firefoxブラウザのキャッシュを削除する
  1. Apple Safari: Command (⌘) + Option (⌥) + Eを押すと、ブラウザのキャッシュを即座に消去できます。」
  2. Microsoft Edge (Internet Explorer): Ctrl + Shift + Deleteを押し、希望の期間を選び、**「キャッシュされた画像とファイル」にチェックを入れて「今すぐ消去」**をクリックします。

サイトで致命的エラー、真っ白なページが発生した場合、デバッグ目的としてWordPressにより詳細なエラーメッセージをいわゆるログファイルに書き込ませることができます。

デバッグモードを有効にする

WordPressのデバッグモードを有効にして、より詳細なエラーメッセージを取得しましょう。サイトの「wp-config.php」ファイルを開き、define( 'WP_DEBUG', false );という行を見つけます。falsetrueに変更し、ファイルを保存してサイトを再読み込みします。これにより、問題の特定に役立つ具体的なエラーや警告が表示されることがあります。

WP-Configファイルでデバッグモードを有効にしてトラブルを診断する

真っ白なページエラーの原因を突き止めたら、いよいよ修正に取りかかりましょう。
WordPressデバッグモードを有効にする方法について、さらに詳しく解説しています。

サイトをバックアップする

変更を加える前に、サイトの完全なバックアップを取っておきましょう。このステップは、修正中に何か問題が発生した場合のデータ消失を防ぐために非常に重要です。

WP Stagingを使えば、ステージング環境にサイトのコピーを簡単かつ安全に作成できます。これにより、本番サイトに影響を与えることなく変更を加え、テストできます。

使いやすいインターフェースと高度な機能で、シームレスなバックアップ管理を実現します。WP Stagingでサイトの安全性を確保しましょう。 WordPressバックアップを無料で試す

真っ白なページが表示されたということは、必ずサイト上で致命的エラーが発生しているということです。そこで最初のステップは、WordPressに対し、真っ白なページを表示する代わりにエラーメッセージをログファイルに書き込ませるか、サイトのフロントエンドに表示させることです。

WordPressのdebug.logを調査して致命的エラーを修正する。
サイトに表示されたエラーメッセージ。Parse error: Syntax error, unexpected function T_FUNCTION. 46行目で致命的エラー。
The Error Message Displayed on your Website

まず、FTPまたはcPanel経由でサイトにログインします。私はFileZillaを使ってFTPでWordPressサイトにアクセスするのが好みです。このFTPクライアントはfilezilla-project.orgからダウンロードできます。

 FTPクライアントソフトFileZillaをダウンロードする
The Software FileZilla

debug.logファイル

サイトをリロードすると、WordPressはすべてのPHPエラーをdebug.logファイルに書き込みます。WordPressはそのファイルを次のフォルダに保存します:wp-content/debug.log

Debug.Logファイルの場所
The Debug.Log File Location

まれなケースでは、サーバーの設定によってWordPressがdebug.logファイルを作成しないことがあります。その場合は、WordPressにエラーを画面に直接表示させることができます。これを行うには、WP_DEBUG_DISPLAYを次のようにtrueに変更します:

WP_DEBUG_DISPLAYを編集してフロントページにエラーを表示する。
Edit WP_DEBUG_DISPLAY
PHP
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', true );

重要:PHPのエラーメッセージを公開することは、サイトを潜在的なセキュリティリスクにさらします。エラーを修正したら、公開エラー報告をすぐに無効にしてください。

デバッグのエラーメッセージを解析する

表示された情報をもとに、エラーの原因を追跡したり、さらに調査したりできます。死の白い画面の場合、その致命的エラーは多くの場合、壊れたプラグインやテーマが原因で発生します。

スクリーンショットで、致命的エラーがWooCommerceプラグインの一部であるWooCommerce.phpファイルの46行目で発生していることがわかります。

サイトに表示されたエラーメッセージ
The Error Message displayed on your Website

これは、WooCommerceプラグインが致命的エラーを引き起こしていることを意味します。

真っ白なページエラーを修正する

壊れたコードを修復するか、あるいはもっと手早い解決策として、エラーの原因となっているプラグインを無効化または削除する必要があります。

WooCommerceプラグイン
The WooCommerce Plugin

プラグインを無効化する方法の1つは、cPanelのファイルマネージャーやFileZillaのようなFTPクライアントを使って、プラグインのメインフォルダの名前を変更するか削除することです。

たとえばWooCommerceを無効化するには、wp-content/plugins/にあるWooCommerceフォルダをwoocommerce_disabledにリネームします。

カスタマイズされたWooCommerceプラグイン
The Customized WooCommerce Plugin

これでサイトが復旧し、プラグインを修正するための時間を確保できます。

debug.logファイルが作成されない場合

WordPressがdebug.logを生成しない場合は、サイトのルートディレクトリにerror_logのような別のファイル、または/logsなどの名前のフォルダがないか確認します。

"Error Logs"ファイル、または"Logs"フォルダを探す
Look for the “Error Logs” file, or the “Logs” folder

一部のホスティングプロバイダーは、WordPressのdebug.logをまったく作成しません。WordPressが検出したすべてのエラーと警告を受け取り、別のログファイルに書き込みます。

エラーログがまったく見当たらない場合は、ホスティングプロバイダーにログファイルの保存場所を尋ねるか、最後の手段として、前述の方法でWordPressにエラーをフロントページに表示させてください。

このオプションを使用する際は注意してください!
あなたと訪問者の双方が、フロントページ上のあらゆるPHPの警告とエラーメッセージを目にすることになります。 セキュリティ上の理由から、サイトのエラーを修正したあとはWP_DEBUG_DISPLAY定数を無効にしてください。

デバッグモードを無効にする

debug.logを使い終えたら、そのファイルを削除し、wp-config.phpの該当行をdefine( 'WP_DEBUG', true );からdefine( 'WP_DEBUG', false );に変更してエラー記録を無効にします。

Debug.Logファイルを削除する
デバッグモードを無効にする
Disable the Debug Mode

そうしないと、権限のない第三者がそのファイルにアクセスし、サーバーから機密情報を取得できる可能性があります。

.htaccessファイルを確認する

500エラー(真っ白なページ)は、.htaccessファイルの不正なコードが原因で発生することもあります。このファイルはWordPressサイトのルートディレクトリにあり、サイトを正しく動作させるために不可欠です。

.htaccessをトラブルシュートするには、現在のものを無効化し、新しいファイルを作成する必要があります。

まず、FTPまたはホスティングアカウントのファイルマネージャーアプリを使ってサイトに接続します。

.htaccessファイルはwp-admin、wp-includes、wp-contentフォルダの隣にあります。

.htaccessファイルを編集する
  • 問題が発生した場合に備えてバックアップを取るため、ファイル名を.htaccess_backupに変更します。
  • 新しいファイルを作成し、.htaccessという名前を付けます。
  • 次のコードを追加します:
ShellScript
# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

古い.htaccessファイルが真っ白なページエラーの原因だった場合、これでInternal Server Errorが解消されます。

サーバーのメモリ制限を増やす

真っ白なページエラーは、WordPressのPHPメモリ制限が低いために発生することもあります。このエラーを解消するには、メモリ制限を増やす必要があるかもしれません。ホスティングがcPanelを提供している場合、ダッシュボードのUIからPHPメモリ制限を増やせます。

手順は次のとおりです:

cPanelを開いたら、「Select PHP version」というリンクをクリックします。

次に「Switch to PHP Options」をクリックします。

下の方にある「memory_limit」をクリックし、値をより大きな値、通常は2倍の256または512に変更して保存します。

別の方法として、以下の行をwp-config.phpに追加することもできます。このファイルはホスティングのファイルマネージャーまたはFTPクライアントで編集できます。

wp-configファイルを編集する

wp-config.phpファイルに次の行を追加するだけです。

PHP
define('WP_MEMORY_LIMIT', '256M');

メモリ不足が原因だった場合、このステップでInternal Server Errorが解消されます。

WordPressコアファイルを修復する

古いサイトでは特に、WordPressファイルが破損することがあります。WordPressのコアシステムが破損している場合、コアファイルをオリジナルのものに置き換えて修復する必要があります。

1つの方法は、wordpress.orgにアクセスして最新のWordPressコピーをダウンロードすることです。

  • ダウンロードしたら、解凍します。
  • そのあと、FTPクライアントまたはホスティングアカウントのファイルマネージャーでホストに接続します。
  • WordPressインストール内の/wp-admin/wp-includesフォルダ全体を、解凍したzipファイルのものに置き換えます。
  • そのために、現在のwp-adminwp-includesフォルダをwp-admin-backupwp-includes-backupにリネームします。これはホスティングのファイルマネージャーまたはFTPクライアントで行えます。
  • 解凍したファイルから新しいディレクトリを、古いディレクトリと同じ場所にアップロードします。

WordPressファイルが破損していた場合、このステップで真っ白なページエラーが解消されます。

ホスティングプロバイダーに連絡する

WordPressのInternal Server Errorには、まれな問題がいくつかあります。この段階では、ホスティングに連絡する必要があります。場合によっては、ホスティングプロバイダーがファイルのパーミッションやその他の設定を確認することで解決できます。

それでも問題が解決しない場合は、WordPressサイトを運用するために、より最適化された別のホスティングへの乗り換えが必要かもしれません。

将来「死の白い画面」を防ぐ方法

エラーを修正したあと、将来あらゆる致命的なミスを防ぐ方法をご紹介しましょう。

「死の白い画面」エラーを防ぐには、当社の無料プラグインWP STAGINGをご利用いただけます。

WP STAGINGプラグインは、ステージングサイトとも呼ばれるサイトのコピーを作成できます。そこから、メインサイトに影響を与えることなく、アップデート、プラグイン、テーマなどあらゆるものをテストできます。

そこで死の白い画面が表示された場合、その変更は本番サイトでは絶対に行うべきではないと判断できます。

関連記事

Rene Hermenau

著者: Rene Hermenau

著者について: René Hermenau は WP STAGING の創設者です。WordPress のバックアップ、ステージング、移行、データベース処理、安全なデプロイメントワークフローに取り組んでいます。