どうもこんにちは、さんぺい(@3pei_tw)です。
先日これが出て、対処した時のことを書いておきます。
恐らくこれを見ている方は多分に焦っているかと思いますが、少しお付き合いください。大丈夫、治りますから。
「サイトに技術的な問題が発生しています」とは
ざっくり書くと2つのパターンがあると思います
①自分のブログを見ようとして(或いは編集)、ブラウザ上で出会う
保存し損ねた&再現させることがちょっと難しいので画像は載せられませんが、ベージュっぽい画面で、中央上に「技術的云々」の文字が書かれている画面です
②突然メールが届く
こんな感じのもの(ところどころ白で消してあります)
これらに共通して言えるのは、「サーバー自体は生きているが、ページが表示できない」状態であるということ。そもそもサーバ全体が止まってしまっていれば、WEBで技術的云々と表示させることもできませんし、メールも出てきません。
なので原因を突き止めて対応すれば十分復旧させることは可能なんです。不幸中の幸いってやつですね。
対処
アラートメールで答えは書いててくれています。
→”今回の場合”に続く部分でエラーの原因が書かれています。ここではLazyLoadのプラグインが原因のようです。
流れ上このまま書きますが、なんでこうなったか、という確実な原因は言えませんが、十中八九これだとおもいます(↓)
●直前の4:50にプラグインの自動アップデートが走ったようなのですが(WPの機能ではなくレンタルサーバー側のもの)、正常に完了したといいつつ、更新情報欄には何も書かれていないメールが届いていました。
●そして5時になってJetpackがサイトの異常を知らせてくれています
ここから想定されるのは、サーバー側のおせっかいな自動アップデート機能の動作時に、プラグインのファイルが壊れてしまい、サイト全体を表示不可に追い込んでしまった、という感じ。
●サーバーのコントロールパネルに入り、ファイルマネージャを開きます。そこから問題のプラグのインストールフォルダを探します
※FTPツールを使われているならそちらでどうぞ
プラグインが原因なわけですから、システム側から読めなくすれば動くはずです。
上記は変更前のものですが、 rocket-lazy-load → _rocket-lazy-load でフォルダの名前にアンダーバーをつけてしまえば、サーバー側からは別物と認識されるので読み込まない→回復します。
●このあと仕事に行ったのですぐにはいろいろできませんでしたが、帰宅後に管理画面からプラグインを一度無効化にしておき、対象プラグインのファイルをフォルダごと消して、再度同じものを入れましたが異常はなく、動作してくれています。
●その後、サーバー側の自動アップデート機能は切り、作業終了です。
まとめ
「サイトに技術的な問題が発生しています」が出たら、落ち着いて原因を特定し、ファイル名を変えるなりすれば急場はしのげます。そのあとゆっくり対策を考えましょう。
本当に怖いのは、何のお知らせもなく、サーバーが沈黙してしまうことです。どこに原因があるか、わかったもんじゃない。
簡単にすんで、良かったと喜びましょう。ではまた。