雨過天晴

WordPressのサイトが突然真っ白で表示されなくなった

2017.08.11

img from: Unsplash

この記事は2017年8月11日に書かれたものです。古い内容や非推奨要素を含む可能性がありますのでご注意ください。

ふっ、とこのブログのアクセス数を見たら、ある日からいきなりアクセス数「0」が続いていたのですよ。そりゃ元々アクセス少ないですけど、ゼロ?ゼロかあ…とへこみつつ何気なくログアウトして見てみたら。
公開中のはずのブログがいきなり真っ白になってる!
(いつもログインしてたからちっとも気付かなかった!)

症状をまとめますと、

  1. いままで普通に表示されていたブログが
  2. 全ページ(特定の固定ページとか投稿とかではなく)
  3. 管理者としてログインしていない状態で
  4. 突然真っ白になって表示されない

です。

1.まずは落ち着いて、深呼吸しましょう

落ちつけ落ち付け、ログインしてれば表示されているなら絶対原因はすぐわかるはずだから!
と深呼吸しながらググりまくって連打連打でちっとも落ち付けな……これが落ち付けるわけあるかああああ!

2.真っ白になったきっかけ(日付)の特定をしましょう

これがおそらく、2017年8月2日か3日。
そのころ何をしていたかというと、テーマファイルを新しくしていました。
あとWordPressのアップグレードがこの辺だったような気がします。

3.真っ白ページのソースを確認しましょう

ソースが、なんと、これだけ。

<!DOCTYPE html>
<html>
<head>
<title>雨過天晴</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="cssファイル">
 
 

これだけ!これでストップ!
テーマと照らして合わせてみると……うん。
どうやらwp_head()で引っかかって続きが読まれていないわけですね。

4.テーマが原因かどうか確認しましょう

ログオンしていれば表示されるのでテーマが原因の可能性は低いなと思いつつ、別の(前の)テーマファイルを残していたので、そちらに切り換えてみました。
うん、表示されません。
というわけで、今回の原因はテーマではなさそうです。

5.プラグインを1つずつ停止してみる

どれが原因か分からないので、とりあえず1つずつ停止してみます。
なんとなくですが、最終更新日が古いものから止めていった方が効率がいいような気がします。
今回の原因はこれで、あるプラグインをストップしたら、ブログが表示されました。

アクセスログ計測のプラグインで、ログインしているユーザーはログから弾く設定になっています。
ログインした時にブログがちゃんと表示されたのは、きっとこのため。

2年以上アップグレードされていないプラグインで、無くてもものすごく困るということはないものだったので、そのまま削除してしまいました。

WordPressのアップグレード前にプラグインやテーマが対応可能かどうか調べる方法がありますので、ちゃんとやっとけよって話ですね。

6.余談ですが

先日プラグイン(Broken Link Checker)のアップグレードをしたら、アップグレードが完了することなく管理画面を含め真っ白になりました。
まずは深呼吸。
そしてFTPで入って該当プラグインのフォルダをリネーム。

このプラグインに関しては、PHPのバージョンが古い(PHP 5.3)のが原因らしいのでPHP 7へバージョンアップすることで解決しました。
(その後プラグインの方が対応してくださったようです)

プラグインをダウングレードするのも一手のようです。