これまで、何度かサイトが真っ白になる経験をしているんですが、
- コードが少し間違っていた
- SSL化前のキャッシュを削除していなかった
など、どれもこれもすぐに直せるものばかりでした。そして、画面が真っ白になる時は必ず、直前に何かをしていた時でした。
何もしていないのに突然画面が真っ白になる恐怖
でも、つい最近、何もしていないのに突然、管理サイト「4536」の画面が真っ白になりました。いや、正確に言うと、真っ白になっていました。
サイトも管理画面も正常に表示されていたんですが、たまたま「シークレットモード」で確認したところ、画面が真っ白になっていたんです。PC・スマホともに。
普段は、管理画面にログインした状態でサイトを見ているので、イヤな予感がしつつもサイトからログアウトしてみると…サイト画面が真っ白!
「まあ、こんな時はだいたいキャッシュプラグイン(W3 Total Cache)が原因だからね」と思いながら、再度ログインしようとすると…ログイン画面も真っ白!
焦ったことは言うまでもありません。。
原因は何?
こういったトラブルの時に焦ってもいいことはないので、状況を整理しながら原因を探ることに。
- テスト環境では正常に表示される(コードにエラーはない)
- トラブルの前後でプラグインに変更はない
- ブラウザでキャッシュ削除&ハード読み込みをしても画面が真っ白
- すべてのページが表示されない
- 同じサーバーで運営している他のサイトは影響なし(サーバーに原因はない)
- 開発モードのログにはエラーが表示されていない
- テーマをアンインストールしても解決しない(テーマに原因はない)
問題なのは、「他の管理サイトで不具合が生じていない」こと。
実は、当初、不具合が生じたタイミングが、WordPressのバージョンが4.7から「4.7.1」にマイナーバージョンアップしたタイミングと近かったので、それを疑っていたんです。
でも、他のサイトでは不具合が生じていないし、すべてのサイトでキャッシュプラグインを使用しているため、正直、何が原因かわかりませんでした。
エラー内容も表示できない!
ちなみに、define('WP_DEBUG', false);
の中にある「false」を「true」にするとエラー内容が表示されるらしいんですが、それすらも表示されませんでした。。
プラグインが削除できない
その後も、真っ白な画面を眺めながら、情報収集していたんですが、やはりプラグイン以外の原因が考えられませんでした。
というのも、不具合が生じているサイト「4536」には、
- AMPに対応する「AMP」
- ファイルを配布する「Download Manager」
- コードを整理する「Head Cleaner」
などの、他の管理サイトでは使っていないプラグインを使っていたからです。
そこで、ファイルを直接停止してみようとFTPソフトを起動してみたんですが、管理画面内と同じように、使用中のプラグインの削除ができません。
「プラグインを停止することもできないし、削除することもできない。どうすれば…?」と悩んでいたんですが、あることに気が付きました。
プラグインフォルダの名前を変える
それは、プラグインが入っているフォルダは削除できるということです。
「プラグインが削除できないんだったら、いっそのことフォルダごと削除しちゃおう!」と思ったんです。
ただ、
- プラグインフォルダをFTPソフトでダウンロード(バックアップ)
- プラグインフォルダ削除
- プラグインに原因がなかったらFTPソフトでプラグインフォルダをアップロード
という流れだと、あまりにも時間がかかってしまうため、フォルダの名前を変更することにしました。
ファイルもそのまま残るし、プラグインフォルダとして認識しないので、手っ取り早く確認することができます。
▼元のフォルダ名「plugins」
▼変更後のフォルダ名「plugins_old」(※ここの名前はなんでもいいです)
原因はやはりキャッシュプラグインだった…!
さて、フォルダの名前を変更してから、ログイン画面にアクセスした結果ですが…
正常にログイン画面が表示されました!
今回の不具合の原因もやはりプラグインでした。しかも、またもや「W3 Total Cache(キャッシュプラグイン)」が悪さをしていたようです。
ただ、すべての管理サイトで、「W3 Total Cache」の設定を同じにしているんですが、なぜ、1つのサイトだけ影響を受けたのかはわかりませんでした。
プラグインを削除したら名前を元に戻す
今回のように、不具合の原因が特定のプラグインだとわかったら、後は、「そのプラグインを削除して、プラグインフォルダの名前を元に戻す」だけです。
削除する必要のあるファイル?
もしかしたら重要なことかもしれないので補足しておきますが、実は、不具合の原因のプラグインを探している時にファイルを3つ削除しました。
プラグインフォルダと同じ階層にあった下記のファイルです。
- advanced-cache.php
- db.php
- object-cache.php
というのも、管理画面ログイン後、画面上部にエラーメッセージが表示されていたからです。その中に、さきほどの3つのファイル名がありました。
おそらく、「W3 Total Cache関連のファイル」なので、削除しても問題ないと思います。削除しましたが、何の問題もありませんでした。
(ちなみに、他の管理サイトにはないファイルです)
まとめ
サイトの画面だけならまだしも、管理画面まで真っ白になって焦ってしまいましたが、とりあえずキャッシュプラグインを疑うべきだということが身にしみてわかりました。。
FTPソフトを使っていない場合、サーバーから直接ファイルを修正することもできるので、応急処置として試してみるのもおすすめです。
以上、WordPressサイトの画面が真っ白になった時の対処法でした!参考にしていただければ嬉しいです!
(`・ω・´)ゞ