先日、ワードプレスのテーマを変更しようとして有効化したところ、真っ白な画面に
というメッセージとワードプレスのサイトのリンクだけが表示され、他には何も表示されない状態になってしまいました。
でも、以前に別の何かを変更しようとして404エラーが表示されたとき、ブラウザの戻るボタンからワードプレスのダッシュボードに戻ることができたので、今回もすぐに戻るボタンで戻ろうとしたら、戻れませんでした……
で、サイト自体の表示はどうなっているのか急いでブラウザで確認したら、白い画面に
「重大なエラーが発生しています」
のメッセージだけが表示され、ブログが表示されなくなっていました(>_<)
ワードプレスのダッシュボードには入ることができないので、契約しているサーバーのファイルからどうにかするしかなさそう。
でもそういったファイルをいじって何かをするのは、そういう知識があまりないのでなんか怖い。
その後、サイトの表示はとりあえず復旧はできたので、今回は専門的な知識がほとんどなくても緊急的な方法で対処したことと、これからどうしたらいいかを考えてみました。
サイトが表示できるように緊急措置
まず、サイトが表示されない状態だけは解消したかったので、どうにかできないか検索して調べてみるといくつかの方法がありましたが、FTPファイルを操作したり、プログラムのコードを操作したりする方法でした。
わかりやすく説明してくれているので、その通りに頑張ってやればできるかもしれません。
今回はテーマの変更をしようとしてエラーが発生したので、サーバーのテーマファイルを操作すれば大丈夫なようです。
以前にも何かのエラーで画面が真っ白のエラーになったときは、サーバーのFTPファイルを操作して直すことができましたが、もしもどこかを間違えたら取り返しのつかないことになりそうで怖くてできません。
サーバーのバックアップサービスに入っていればよかった。
それで最初の「重大なエラーが発生」の画面のメッセージに「メールを確認してください」とあったのを思い出しました。
藁にもすがる思いでワードプレスに登録しているメールを確認したところ、「サイトで技術的な問題が発生しています」というメールが来ていました。
「まずはじめに、自分のサイトを開き、目に見える問題がないか確認してください。」
→エラーメッセージしか表示されていないので問題あり
「次に、エラーが発生したページ(ワードプレスのダッシュボード)を開き、同様に問題がないか確認してください。」
→ワードプレスのダッシュボードを開こうとしてもエラーメッセージしか表示されず操作できないので問題あり
「この問題をさらに調査するにはサーバーホストに連絡してみてください。」
とあるので、やっぱりサーバーに連絡するしかないかと思っていたところ、その下に
「もしサイトが壊れていてダッシュボードに正常に接続できない場合、WordPressには特別な『リカバリーモード』があります。これによりダッシュボードに安全にログインし、さらに調査をすることができます。」
とあり、リンクが載っていました。
これでダッシュボードにログインできる!
「サイトを安全に保つため、このリンクは1日に有効期限が切れますが、ご心配なく。有効期限後にこのエラーが再度発生した場合は、新しいリンクをお送りします。」
というありがたいメッセージもありました。
よかった!
早速このリカバリーモードのリンクをクリックすると、無事にワードプレスのダッシュボードに入ることができました。
そこからテーマを以前のものに変更し、公開したらサイトも表示されました。
とりあえずサイトが表示されない状態は解消できたので、あとは問題が起きたテーマを復旧させていこうと思いました。
もう一度テーマを変更してみる
今回のエラーはブログのテーマを変更しようとしたら発生したんですが、正確にはテーマはすでに変更してあり、そのテーマの「子テーマ」を有効にしたときにエラーになりました。
変更したテーマはCocoonの子テーマです。
Cocoonはデザインがシンプルで使いやすいので、親テーマだけでしばらく使っていました。
そういえばテーマを最初に変更したときにも子テーマを有効にしようとして、エラーになって諦めたのを思い出しました。
そのときのエラーはブラウザの戻るボタンでダッシュボードに戻れたので、別に親テーマだけでも使えるからいいかと思ってずっとそのままでした。
その後デザインに変更を加えたいことがあり、親テーマ自体に変更を加えると、テーマの更新をする度にその都度リセットされてしまって変更し直すのが面倒でした。
子テーマを有効にして子テーマでデザインの変更をすれば、親テーマの更新をしてもデザインはそのまま保つことができるので、やっぱり子テーマを有効にしようと思ったんです。
そうしたら今回の重大なエラーが発生してしまいました。
親テーマの変更のときは問題ありませんでした。
なので、もう一度テーマをCocoonに変更してみると問題なくできました。
設定していた項目がほとんどリセットされてしまっていたので設定し直し、とりあえずエラーが発生する前の状態に戻れました。
このエラーについて検索すると、PHPやWordPressのバージョンが古いことで起こる場合があるという情報を見かけました。
しかし、このブログのPHPのバージョンは最新ではありませんが7.4.33でテーマに対応しています。
WordPressのバージョンは6.4.1で、こちらは最新です。
なので、これが原因ではないと思います。
もう一つ考えられる原因は、変更しようとしたテーマのファイルが壊れている可能性です。
これが怪しいと思い、Cocoonサイトからダウンロードした子テーマのファイルをもう一度アップロードして置き換えました。
これで子テーマを有効にすれば成功するかもしれませんが、ちょっと不安。
でも、もしまたエラーが発生したら、メールのリカバリーモードのリンクから戻ることはできる。
その後の設定し直しは大変だけどやれば大丈夫。
あとは子テーマを有効にするだけ。
そういえばCocoonで何かを変更しようとするとき、404エラーがよく発生するのを思い出しました。
その原因はサーバーのセキュリティ対策のWAF(Web Application Firewall)です。
エラーになるときとならないときがあるので、エラーが出たらその都度サーバーのWAFを無効にしてからもう一度変更していました。
もしかしたら子テーマを有効にするときもこのWAFと関係があるかもしれないと思って、念のためサーバーのWAFを無効にしておきました。
サーバーで無効にしてからサイトに反映されるまで10分くらいかかるので、すこし時間をおいてから子テーマのプレビューをしました。
すると、無事にプレビューが表示できたので、多分大丈夫だと思ってテーマを有効にしたら、成功しました。
よかったー。
子テーマにしたら、全部ではないですが設定がリセットされているものがあるので設定し直して完了しました。
これでテーマの更新をしても変更がリセットされずに済みます。
ただ、エラーの原因が子テーマのファイルが壊れていたのか、WAFが影響していたのかは同時にやってしまったのでもうわかりません。
まとめ
今回のエラーは、以前だったら画面が真っ白のエラーでダッシュボードにもログインできない状態なので、サーバーのFTPファイルを操作したり、FTPソフトを使ってパソコンからサーバーにファイルをアップロードするしかありませんでした。
でも、今は「リカバリーモード」というありがたいサービスがWordPressにできたので、とりあえず難しい操作をしなくてもなんとか以前の状態に戻すことはできます。
それから、サーバーのサービスにバックアップサービスがあるので入っておこうと思いました。
月額330円で、サイトが壊れたりしたときにバックアップから戻すことができるので、いざというときのことを考えると全然高くないし、私のようにプログラムの知識やファイル操作の知識がない人には必要だと思います。
もしも同じような状況になってしまった方は参考にしてみてください。
コメント