はっきり覚えていませんが、いつぞやのバージョンから本体の機能に加わった、プラグインの自動更新機能。
デフォルトでは無効になっており、プラグインごとに、サイト管理者であるあなた、もしくは、管理者権限を持つその他のユーザーによって有効にしない限り自動更新が有効になることはありません。
ただ、自動更新を有効にしていたプラグインが更新されたタイミングで、本当に何もしていないのにサイトが開けなくなった、管理画面が開けなくなったというケースがよくあるようです。
自動更新のトラブルを防ぐには、よほど信頼しているプラグイン以外は有効にしないのが一番です
そうなったらもうサイトはダメなの?いやいやそんなことはありません。
ほとんどのプラグインではきちんと対処すれば、再び正常に動作させることができますので、修復してみてください。
なお、対応には「FTPクライアントツールやサーバーのファイルマネージャーでの操作」を行うスキルが必要ですから、不安な方は対処可能な知人やプロの方にお任せするとよいでしょう。
プラグインの自動更新トラブル起きたサイトトラブルから復旧する方法
対処方法は、ひとまず原因と取り除いてWordPressの動作を回復し、正常に動作していたプラグインをインストールしなおすことです。
が、その前に、WordPressを動作させるためのプログラム言語であるPHPのバージョンの問題かも知れませんので、後述する「問題のあったプラグインを最新バージョンへ更新するには」で対応できるようでしたら一旦読み飛ばしてお試しください。
トラブルの原因となったプラグインを強制停止する
サイトが停止状態となっていて、管理画面へは入れませんので、FTPクライアントツール、またはサーバーのファイルマネージャーを使って以下の階層まで開きます
「WordPressのインストールフォルダ」→「wp-content」→「Plugins」
※下図はカラフルボックスサーバーのファイルマネージャーの例です
すると、プラグインのフォルダが一覧で表示されますから、自動更新で問題が発生したプラグインのフォルダ名の先頭に「xx」などを付けて名前を変更します。
変更が終わったら、いつも通り、サイトの管理画面を開いてみてください。
問題なく管理画面も、表示画面も動作するようでしたら、名前を変更したプラグインがサイト動作不具合の原因です。
もしも開けない場合には、他のプラグインの問題やその他の不具合を探る必要がありますから、ひとまず怪しいと思われるプラグインを前述の方法で強制停止させながら探ってください。
プラグインの更新が問題であれば、これでひとまずサイトが動かない事態は解消できました。
問題が解消できたら、先ほどファイルマネージャーなどで先頭に「xx」とつけたフォルダを念のためパソコンへダウンロード(バックアップ)してから削除しておきましょう。
ただこの段階では、問題のあるプラグインを削除しただけです。
必要でインストール&有効化していたプラグインでしょうからそのまま停止しておくのは不都合ですので、次項の手順で旧バージョンのプラグインへ戻して完全に復旧させましょう。
旧バージョンのプラグインを再インストールして機能を復旧する
サイトが動作するようになったら、自動更新される前のバージョンのプラグインを公式サイトから入手します。
※以下の図はSearch Regexプラグインの公式ページの例です。
公式ページを開き、「詳細ビュー」をクリックします。
遷移したページの最下部にある「以前のバージョン」欄で、1つ前のバージョン(もしくは今まで使っていたバージョン)を選択してダウンロードをクリックし、パソコン上へ保存します。
サイトの管理画面からプラグイン一覧画面へ移動し、「新規追加」をクリック後「プラグインのアップロード」をクリックし、先ほどダウンロードしたプラグインをインストール&有効化します。
サイトの動作に問題がないようでしたら復旧完了です。
プラグインによってはさまざまな仕様の変更によって旧バージョンに戻せない場合もあります
自動更新されないようになっているかを確認する
最後に、問題となったプラグインを旧バージョンへ戻して完全復旧したとしても、自動更新が有効になっていれば再びトラブルが起きます。
復旧が終わったら、必ずプラグイン一覧を確認し、自動更新の状態を確認しておきましょう。
プラグインの自動更新トラブルを回避するには
プラグインの自動更新によるトラブルを回避する唯一の方法は、自動更新を有効にしないことです。
なんだ..と言われそうですが、これ以外の方法はありません(笑)。
ただ、トラブルに気づくタイミングが違うだけで、プラグイン作者がすべての環境でテストしてからリリースすることは不可能ですから、手動更新したとしても同じトラブルが起こる可能性はありますから、起こらなくするというよりは起こった時に対処できるスキルを得ておくというのが大切でしょう。
問題のあったプラグインを最新バージョンへ更新するには
プラグインのバージョンアップでトラブルが起こる原因のほとんどが、WordPressを動作させるプログラム言語であるPHPのバージョンと、何かの動きを持たせるJava Scriptや、それを簡素化したjQueryの問題です。
中でもPHPバージョンの問題であることがほとんどでしょう。
PHPバージョンの確認方法は、サイトを収容しているレンタルサーバーごとに異なるため、詳しくはマニュアルを参照ください
WordPress自体は動いていたのに何でプラグインの更新で?と思われるかも知れませんね。
これはWordPressが動作するためのPHPのバージョン範囲とプラグインが動作するためのPHPのバージョン範囲が異なるからで、一応プラグインの公式ページにもPHPの最低バージョンは書かれているものの、その部分の情報の更新が漏れていることもあります。
PHPのバージョン変更(バージョンアップ)によって、今まで正常稼働していたWordPress本体に支障が出たり、テーマに支障が出たり、他のプラグインに支障が出ることがあり、さらに自体が悪化することもありますから、まずは上記の手順で復旧させてからPHPバージョンの変更を検討することをおすすめします。
おまけ1 プラグインの自動更新について
WordPressプラグインの自動更新、なぜトラブルが発生するのか?
管理画面から「プラグイン」をクリックして開いたページの一覧で、自動更新になっているかどうかの確認ができます。
以下の画像のように、画面右端に「自動更新を無効化」「自動更新を有効化」と表示されており、前者の場合が自動更新が有効になっている状態です。
これはWordPressが勝手に(自動で)有効にするものではなく、通常は自動更新が無効になっていて、サイト管理者が任意に有効化できるようになっています。
有効化すると、自動更新させるようにしているプラグインの更新バージョンがリリースされたときに、文字通り何もしなくても自動的に更新されます。
ただ、自動更新では、当然のことながら、すべての条件(WordPressのバージョン、サーバー環境、同時に使用しているプラグイン、有効化しているテーマなど)をチェックして更新しているわけではないため、自動更新が原因でサイトが開けない、管理画面が開けないといったトラブルが発生するのです。
サイトによって更新のタイミングが違うのはなぜ?
複数のWordPressサイトを運営していて、管理画面上でプラグインの更新通知が表示されるタイミングや自動更新のタイミングが違うのを不思議に思われる方のために、WordPressの機能について少々解説をしておきます。
WordPressにはwp-cronという自動実行機能があり、いろいろな場面で自動的に何かを行うという動作に使用されています。
プラグインの更新やRSSを用いて記事を取得する機能などもその1つです。
wp-cronは、自動実行させるプログラムごとに設定された間隔が経過した以降で、誰かがサイトにアクセスした(表示・管理画面に関わらず)タイミングで実行されます。
つまり、以下のタイミングが異なることによって、自動更新や更新通知にズレができるのです。
- WordPressをインストールした日時
- プラグインをインストールした日時
- 自動更新後、最初にアクセスされたタイミング
また、更新後にwp-cronの間隔が再設定されることもありますから、ずっと同一時刻に更新が走るということはまずないでしょう。
通常は6時間、12時間の間隔で実行されることが多いと思いますので、1つのサイトで更新通知があったら、それ以外のサイトでも1日以内には通知がありますから、焦らず気長に待つようにしましょう。
おまけ2 本体の自動更新も確認しておこう
本ページとは直接関係ないものの、プラグインの自動更新と同様にトラブルが起きやすいのが、本体の自動更新です。
こちらもいつぞやのバージョン(確か5.8位だったかと)以降にインストールすると、デフォルト(標準)で本体の更新バージョンが提供されると、メジャーアップデート、マイナー(メンテナンス)アップデートの両方について自動で更新されるようになりました。
WordPress本体のバージョンは、「〇〇.〇〇.△△」という3つの数字の組み合わせで成り立っていて、前2つの「〇〇.〇〇」の数字が変わる更新をメジャーアップデート、最後の「△△」の数字が変わる更新をマイナー(メンテナンスアップデート)といい、メジャーアップデートでは機能の変更や廃止、追加など大掛かりな更新が行われることが多いです。
WordPressというツールとしては、更新の中にセキュリティの関係やバグ修正が含まれることから、最新バージョンへの自動更新を推奨しているようですが、前述した通り、メジャーアップデートでは大掛かりな更新が行われるため、トラブルが起こることがあります。
不測のトラブルを防ぐには、メジャーバージョンでの不具合のみを修正するマイナーアップデートのみを自動有効にしておくことが有効で、以下のようにして簡単に切り替えができます。
1.管理画面から「ダッシュボート」→「更新」をクリックします。
2.「現在のバージョン」項目を確認し、以下のように「このサイトは WordPress のメンテナンスリリースとセキュリティリリースのみで自動的に最新の状態に保たれます。」と表示されていれば大丈夫です。
もしも下図のように「このサイトはWordPressの新しいバージョンごとに自動的に最新の状態に保たれます」となっていたら、メジャーアップデート時にも自動更新されてしまい、トラブルが起こる可能性がありますから、「メンテナンスリリースとセキュリティリリースのみ自動更新に切り替えます」をクリックし、上図のような表記に変わればOKです。
完全に自動更新を止めるには、公式のドキュメンテーションで書かれているように、設定ファイル(wp-config.php)へ指示コードを追加して制御しますが、マイナーアップデートでは、メジャーアップデートバージョンの修正やセキュリティアップへの対応などといった大切な更新なので、完全停止はおすすめしません。
もしも本体の自動更新でトラブルが起きたら
WordPress本体の自動更新でトラブルが起きた時は、WordPress公式サイトから更新以前のバージョンを入手し、以下のファイル・フォルダ以外を上書きすることで回復できる可能性が高いです
100%復元できるとは限りませんので、トラブルが起こっているサイトのファイル・フォルダとデータベースのバックアップは取っておくことをおすすめします
- 「wp-content」フォルダ
- 「wp-config.php」ファイル
不安な場合には、不明なままいろいろとやって途方に暮れるよりは、有償でも修復できる方へ依頼する方が確実でしょう。