wordpress を更新した後に突然何も表示されなくなって、真っ白の画面になってしまったときの原因と対処方法を解説いたします。
更新後に突然ワードプレスが真っ白になった(何も表示されなくなった)原因
ワードプレスの表示が真っ白になる原因のほとんどは、ワードプレスの基本プログラムであるPHPの実行時エラー(プログラムミスや論理的な矛盾など)がどこかで発生していることが原因となっています。画面には表示されていませんが、ブラウザの開発ツールという機能を使うとウェブサーバーからのレスポンス(なぜ真っ白表示なのかの原因のID番号みたいなものです)を見る事ができます。例えばここに 500 Internal Server Errorと記載があれば、これはサーバーでプログラムが何らかの実行時エラーを引き起こしたので強制的にサイトの表示をやめましたよという意味となります。
*Firefoxでは次の方法でレスポンスヘッダーを見る事ができます。真っ白になっているサイトで、右クリックし、要素を調査→ネットワークタブ→レスポンスヘッダーを表示するファイルをクリックすると、その右横にレスポンスヘッダーが表示されます。
復旧前にはバックアップを取っておきます
ワードプレスが真っ白になったときは、ワードプレス全体のバックアップをとっておいた方がよいです。修正しようとして余計に問題が大きくなる可能性もあるからです。
バックアップを取っておくといつでも、最後の状態には戻せるためより安全に復旧作業が可能です。ワードプレスドクターでは復旧作業の際にはまずバックアップをおとりします。バックアップはFTPで本体データを取得するだけでなく、データーベースも書き出しておいた方がより安全に復旧作業が可能になります。
それではそれぞれの事例から、真っ白になった原因と復旧方法を解説いたします。
プラグインの導入や更新をしたら真っ白に
真っ白になる直前に行ったのがプラグイン導入や更新だった場合は、疑われる原因は3つあります。
①プラグインが中途半端にアップデートされてファイルが欠乏している状態となっている
②プラグインとテーマやその他のプラグインとのコンフリクト(相性が悪い)
③プラグインが対応しているPHPのバージョンがサーバーのPHPより新しい
最後にアップデートされたプラグインを覚えている場合は、そのプラグインを再度手動でダウンロードし、FTPでアップロードすると、①は解決する事があります。
②の場合は、古いプラグインに一旦ロールバックするという方法があります。ワードプレスのプラグインディレクトリの当該プラグインのDeveloperというタブを押すと古いバージョンのプラグインを手にいれる事ができます。
③の場合例えばサーバーのPHPが5.2などの場合は5.4に引き上げます。各レンタルサーバー会社がPHPのバージョンを変更する仕組みを提供していますのでそちらを活用しましょう
FTPで接続して最後に導入したプラグインを削除する
かなり力技の方法で、プラグインには様々な設定もデータベースに書き込まれている為、あまりお勧めの方法ではありませんがプラグインのフォルダを強制的に削除するという方法もあります。
(ワードプレスはプラグインがなくなると自動的にプラグインを停止状態にするためこれによってプログラムが破損するということはありません。)
FTPでサーバーに接続し、wp-contents→pluginsというフォルダに移動します。その中から、最後に導入したまたは更新したプラグインをフォルダごと削除します。
このことにより、実行時エラーを出していたプラグインのコードがすべて実行されなくなるため、サイトの表示が復旧することがあります。
テーマの編集や更新をしたら真っ白で何も表示されなくなった場合
テーマの編集をして、ワードプレスが真っ白になったときは、その編集ファイルにPHPのコードエラー(プログラムミスや論理的な矛盾など)ができてしまった事が原因となります。
この場合、管理画面に既にアクセスできなくなっていますので、そのファイルを修正しようがなく大変困ってしまいますよね。FTPで該当のファイルをダウンロードしてエラーを修正の後に再度アップロードするというのがこの場合の一般的な対処方法となります。テーマのPHPファイルは全て下記のフォルダに入っています。
wp-contents/themes/テーマ名
編集したファイルの文字コードを確認する
もしローカルで編集したファイルをサーバーにアップロードした後に真っ白になった場合で、プログラムにミスやエラーもない場合は、文字コードが原因のことがよくあります。ワードプレスに含まれているプログラムの文字コードはUTF-8の「Bom無し」が最も無難です。
エディターでこの文字コードに最後に編集したファイルがなっているかを確認されてください。
PHPのエラーを詳細に表示してみる
テンプレートのPHPファイル群をダウンロードし、エラーを引き起こしているファイルのエラー内容を強制的に出力して該当ファイルの修復を試みます。PHPでエラーを出力するコードは下記となりますので、該当のファイルの最上部部分に書き込んで、もう一度最後の画面にアクセスするなどしてエラーを出力してみます。
<?php ini_set('display_errors', 1); //phpのコード内容 ?>
該当ファイルが既にわからなくなっている場合は、wp-config.phpに下記のエラー出力用のコードを最下部に書き込んで、サイト全体がエラーを出力するように設定しサイトアクセスをしてエラーを出力してみます。
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_DISPLAY', true); @ini_set( 'display_errors', 1 );
エラーが無事出力されたら、このサイトにワードプレスで表示されるエラー内容は網羅されていますので下記のページで検索されてみてください。
リンク ワードプレスのエラー解説
ワードプレス本体を更新(バージョンアップ)したら真っ白に
ワードプレス本体を更新(バージョンアップ)したら真っ白になった場合の原因は主に下記の二つが考えられます。
①ワードプレスの更新が不完全に途中終了し、欠乏ファイルが発生したり、古いワードプレスのコードと混在してしまい実行時エラーが出ている
②新しいワードプレスにテーマやプラグインのコードの対応できていないためその箇所で実行時エラーが出ている
原因①の場合の解決方法としては、ワードプレス本体のwp-contentフォルダとwp-config.php以外のファイルをFTPなどでアップロードすることにより手動で最新バージョンにして更新が中途半端に終わっているワードプレスの更新を完了させるという手があります。
②の場合は上記の「プラグインを導入や更新をしたら真っ白に」での方法で一つ一つどのプラグインが原因となっているか調査したり、テーマを強制的に変えて状況が改善するかを調査します。
すでに管理画面がアクセス不可能になっている場合は、データベースを直接編集する事によってテーマを変更する事も可能です。テンプレートの設定はwp_optionsテーブルのtemplateとstylesheetというデータが書き込まれている部分に設定が記載されています。この部分をインストール済みのテンプレート名(スラグ名=フォルダ名)で書き換えるとワードプレスのテーマを強制的に変更する事ができます。
この項に記載するテンプレート名は、該当のテンプレートフォルダのstyle.css のText Domain:と記載のある右に設定が書かれていますのでこちらから調べる事ができます
(注意:データの直接編集はミスをするとデータベースが壊れる事もありますので慎重に行われてください)