こんにちは快晴さんぽです。私はこのブログを書くために、WordPressという無料のブログ作成ソフトを使っています。
先日このWordPressの環境を整理しようと思ってプラグイン一覧を眺めていたら、キャッシュ系のプラグインとして恐らく一番利用者の多い「W3 Total Cache」(通称W3TC)が更新(バージョンアップ)できますよ、という案内が出てきたので、
お、取り合えず更新しとくか!
なんて軽い気持ちで更新ボタンをポチっとやってしまったのです。
キャッシュ系プラグインは取り扱い注意であることを、ブログ始めた時に散々確認したのに、その時の慎重さが完全に失われてしまっていた自分にびっくりです・・・・。
そう、キャッシュ系のプラグインはテーマとの相性があったりWordPressバージョンとの相性があったり、更新したら不具合出たり、結構曰くつきなのです。
そして更新後、なんとWordpressの管理画面が500エラーを吐いて真っ白けのアクセス不能状態に陥ってしまったのです・・・。そしてWebサイトも漏れなくアクセス不能となりました泣
まさに顔面蒼白、頭真っ白けよ・・・
今回、このような経緯でWordpress管理画面へのアクセスが出来ない状況となりましたが、なんとか不具合前の状況に完全に戻すことが出来ましたので、その方法をお伝えしたいと思います。
もし同じような状況に陥っている方がいれば、慌てずに対処してください。(私は相当慌ててしまいました笑)
W3 Total Cache更新で500エラー真っ白けの状況
下記画面の通り、Wordpressのプラグイン画面にて更新ボタンを押し、「W3 Total Cache」をアップデートしました。なんの躊躇もなく・・・(アホな俺・・・)
すると、Wordpressの管理画面に一切アクセス出来なくなってしまったのです・・・。もちろん、Webサイトの方もアクセスできません。。
↓動揺のあまりスクリーンショットを取り忘れました・・・。このような画面(自作の絵)が表示されるのみで、管理画面に一切アクセス不能は状況に。。
狼狽していたので表示されていた画面は違ったかもしれません。。ともかく真っ白けのエラーだったことを覚えています。
管理画面にアクセスできない不安はものすごいものがありますね。血の気が引くってこういう事かー、と不思議と冷静に考えている自分がいました。
まぁ冷静というよりは、フリーズした、と言った方がいいかも。人間、あまりの不測の事態には頭が固まっちゃうんですね・・・。
管理画面にアクセスするための応急措置
今回は「W3 Total Cacheの更新」直後にアクセス不能状態になったということで原因が明白でしたので、応急的な対処は難しくありませんでした。
方法としてはレンタルサーバーのFTPを使って原因となったプラグインのフォルダ名を変える、これで管理画面へは取り急ぎアクセスできるようになりました。
簡単に方法をお伝えします。
↓まず私はロリポップを使っていますので、ログイン後「サーバの管理・設定」→「ロリポップ!FTP」をクリックします。
↓トップから一つ下の階層に入り「wp-content」をクリックします。
↓次に「plugin」をクリック。
↓そして原因となった「w3-total-cache」をクリックします。
↓フォルダ名を「w3-total-cache_test」のように変更(何でもいいです)し、「保存する」をクリックします。
これで「W3 Total Cache」プラグインが読み込まれなくなりますので、取り急ぎは管理画面へのアクセスが可能となるのです。
ふぅ焦ったぜ。取りあえず繋がって良かった。
追記:Xserver等他のレンタルサーバーでの応急措置
Xserver等他のレンタルサーバーで応急措置を行う場合は、ftpソフトを使うのが手っ取り早いでしょう。
私はフリーの「ffftp」を使っています。最新版をダウンロードしてきてください。
↓Xserverの画面で説明しますと、まずサーバーパネルでftpのアカウント情報を確認します。(Xserver以外でも同様です)
↓ドメインを選択します。
↓「FTPサーバー名」「ユーザー名」「パスワード(サーバーパスワードと同値)」を控えて下さい。
↓ffftpを起動します。先ほど控えた内容をffftpの「ホストの設定」画面で入力し、アクセスします。「ホストの設定名」は適当な名前で大丈夫です。
↓右のカラムで、「wp-content」→「plugins」と辿ると各種プラグインが保存されている場所に到達します。ここで「w3-total-cache」を右クリックし、「名前変更」をクリックです。
↓フォルダ名を適当に変更することでw3tcプラグインが読み込まれなくなるので、管理画面へのアクセスが可能となります。
W3 Total Cacheを削除する
WordPressの管理画面にアクセスできるようになったらプラグイン画面に行き、そっと「W3 Total Cache」を停止、削除してしまえば事なきを得ます。
ただ、これだと新たに「W3 Total Cache」をインストールした場合、バージョンの上がった状態でインストールされますので、再びアクセス不能になってしまいます・・・。
まぁ、もう
キャッシュ系のプラグインなんて恐くてもう要らんわ!
という事であれば「W3 Total Cache」を削除して終わり、で良いのですが、ページスピード維持のためにキャッシュ系ソフトは何とかして使いたい、と思うわけです。
他のキャッシュ系プラグインを使ってもいいのですが、「W3 Total Cache」の残骸とか残っていたら競合して悪さをする可能性もありますので、今回はバックアップを使って古いバージョンの「W3 Total Cache」を復旧させることにしました。
ロリポップのバックアップからロールバック
バックアップを使って、更新してしまう前の「W3 Total Cache」に戻す作業をやってみました。
バックアップについてはプラグインを使ってもいいのですが、有名なバックアップ用プラグイン「BackWPup」でさえ、定期実行を設定していても何らかのエラー等で止まっていることがあるんですよね・・・。
バックアップが取れてると思って無茶してWordPressを壊した挙句、結局バックアップが取れてなくて戻せなかった、なんてことになったら目も当てられません。。
私はそんなプラグインの不安定な挙動に嫌気がさし、レンタルサーバー公式のバックアップ機能を使うことにしたのです。
月額300円程度かかりますが、まぁ安心を買ってるってことで・・・。(もちろん、プラグインがうまく動いている人はそれでいいんですけどね。)
1日ごとにバックアップを取り、世代としては直近7日間を保存しています。まぁこれくらいあれば十分かな、と。
↓実際のバックアップからの復旧方法としては、まずレンタルサーバーロリポップにログイン後、「サーバーの管理・設定」→「バックアップ」をクリックします。
↓次に「アックアップ管理画面」をクリックして管理画面へ入っていきます。
↓そして「Webサイト:FTPサーバー」の方の、二つの矢印が回転しているような「復元」アイコンをクリックします。
↓「wp-content」→「plugins」→「w3-total-cache」まで辿っていき、チェックボックスにチェックを付けて「復元する」ボタンをクリックする、これだけです。簡単でした。
この作業により前日のプラグイン状態、つまり更新前の「W3 Total Cache」で復旧されることになるのです。めでたしめでたし。
もちろん、Web全体を復旧させてもいいのですが時間がかかるので今回はピンポイントでの復旧を行いました。
ロリポップのバックアップはこんな感じで一部のみ復旧できるので便利ですね。
子テーマの編集によりバージョンアップしても使用可能に
バックアップを使って以前の状態に戻すという前述の方法は、問題なく動いていた状態を取り戻せるので非常に有用なのですが、結局「W3 Total Cache」のバージョンアップはできない、ということになってしまいます。
更新してしまってはまた500エラーの餌食ですから・・・
そこで、バージョンアップをしてもWordpress管理画面の動作が問題なく出来るように、下記のように「function.php」の記載内容を修正する、という方法もご紹介します。
↓こちらを参考にしました。
↓「Simplicity2」の「子テーマ」にある「function.php」の中に、このような記載をしていましたがこれを削除することでバージョンアップ後でも動作する可能性があります。
if (function_exists('w3_instance')) { function is_mobile() { $cache = w3_instance('W3_PgCache'); $group = $cache->_mobile->get_group(); return "high" === $group || "low" === $group; }
↓確かに私が使用しているテーマ「Simplicity2」の子テーマにある「function.php」に記載をしていました。
こちらを消去することで、バージョンアップ後の「W3 Total Cache」を使い続ける事が出来るようです。
ただ、この記述は「スマホ判定」を担う部分となりますから、これを削除することによってスマホにPC画面の構成でサイトが表示されてしまう可能性がある、という点には注意が必要でしょう。
今回私はバックアップをロールバックして旧バージョンを復旧できたので、このfunction.phpの記載内容を修正するという方法は試していません。
このように記述を削除してしまうと、想定していたしていた動作が出来なくなる可能性がある、というのがその理由です。
バージョンアップせずに安定した動作を取るか、バージョンアップして一部動作を捨てるか、どちらかで対応するしかありません。結局は無いものねだりですね。
キャッシュ系プラグインはほんと怖い。なめてると痛い目見るわ。
まとめ
いかがでしたでしょうか。「W3 Total Cache」の更新による管理画面及びWebサイトアクセス不可の復旧方法についてお伝えしました。
今回は何とか復旧することが出来ましたが「キャッシュ系プラグイン」は本当にWordpressを破壊する可能性もあり得る、という危機感を持って使うべきだなぁと強く感じましたね。
ただ、不具合の直前に行っていた作業が明確であれば復旧もそんなに大変ではないな、というのも正直な感想ではあります。
プラグインが原因だと分かっていれば、ftpでフォルダ名を変えてアクセスできなくすれば取り急ぎアクセスは出来るようになりますから。
と同時に、バンクアップの重要性についても再認識です。ロリポップ公式のバックアップが役に立つ時が来ようとはね・・・。
バックアップを使う事がないのが一番ですが、万が一の時のために保険はかけとくべきだな、と感じました。
備えあれば憂いなしってね
不具合が起こった時も冷静に対処できると良いですね。(私はフリーズしてしまいましたが笑)
最後までお読み頂きありがとうございます。もし少しでも役に立ちそうだと思われたら、ソーシャルメディアでの共有をお願いします。
コメント