プラグインが更新できないときに何が起きているか
管理画面に更新の通知が出ているので押してみたが、「更新に失敗しました」と表示される。あるいは、更新したはずなのに通知が消えず、何度押しても同じ状態に戻る——という状況で読まれることを想定した記事です。
先に結論
- 原因は権限・容量・ライセンス・互換性の4系統のどれかです。表示されるメッセージで判別できます
- 有償プラグインは、失敗しても成功したように見えることがあります。これが最も気づきにくい型です
- 「更新できない」より「更新したつもりで、されていない」ほうが危険です。脆弱性が残ったまま安心してしまいます
- 作業の前にバックアップを取ってください。更新の失敗は、途中で止まる形で起きることがあります
系統1:ファイルを書き込めない
更新はファイルの入れ替えなので、書き込めなければ失敗します。
FTP の接続情報を求められる
更新を押すと接続情報の入力画面が出る場合、WordPress が自分でファイルを書き換える権限を持っていません。ファイルの所有者と、Web サーバーが動いているユーザーが食い違っているときに起こります。
その場しのぎで接続情報を入力すれば更新はできますが、根本的にはファイルの所有者を直すべき状態です。サーバー移転やファイルの手動アップロードのあとに発生しやすく、放置すると自動更新も動きません。
権限が厳しすぎる
セキュリティ対策としてファイルの権限を絞った結果、更新もできなくなっている場合があります。「安全にしたつもりが、脆弱性を塞げなくなっていた」という本末転倒が起こりえます。
系統2:容量が足りない
更新は、新しいファイルを一時的にダウンロードして展開してから入れ替えます。作業用の空き容量が必要です。
ディスクが埋まる原因は、多くの場合バックアッププラグインが作った古い控えです。世代を無制限に残す設定になっていると、静かに容量を食い続けます。画像の自動生成サイズが増えていることもあります。
容量不足は更新の失敗だけでなく、データベースの書き込み失敗や、メール送信の失敗も同時に引き起こします。複数の症状が同時に出ているときは、まず空き容量を疑ってください。
系統3:ライセンスが通っていない(有償プラグイン)
ここが最も注意すべき型です。
有償プラグインは、更新ファイルの配布元が公式ディレクトリではなく、開発元のサーバーです。ライセンスキーが有効でなければ、そもそも更新ファイルを受け取れません。ライセンスの期限切れ、キーの未入力、キーを登録したサイトのアドレス変更などで起こります。
問題は挙動です。この型は「エラーにならず、何も起きない」という形で失敗することがあります。更新の通知が消えるのに、実際のバージョンは古いまま、という状態です。管理画面上は正常に見えるため、脆弱性が残っていても誰も気づきません。
🚨 有償プラグインは、更新後に必ずバージョン番号を目で確認してください。「更新しました」という表示は、更新できたことの証明になりません。自動更新に任せている場合も同じで、むしろ人が画面を見ないぶん発見が遅れます。
系統4:互換性で止められている
新しいバージョンが、今の環境の要件を満たしていない場合です。
- PHP のバージョンが古い — 新しいバージョンが要求する PHP に達していないと、更新できません。これは親切な制限で、無理に入れればサイトが止まります
- WordPress 本体が古い — 本体を先に上げる必要があります
- 別のプラグインに依存している — 拡張機能の場合、親側を先に更新します
この型は更新できないこと自体が正しい動作です。無理に通す方法を探すのではなく、環境側を整えるのが正解になります。
「更新したのに通知が消えない」場合
失敗しているとは限りません。次の可能性があります。
- 更新情報のキャッシュが古い。WordPress は更新の有無を定期的にしか確認しません。時間をおくか、更新画面で再確認を実行します
- 同じプラグインが2箇所にある。過去の作業でフォルダが重複していると、片方だけが更新されます
- 実際に失敗している。バージョン番号を確認するのが確実です
更新前にやっておくこと
更新の失敗は、途中で止まる形で起きることがあります。古いファイルが消えて新しいファイルが入る前に中断すると、サイトはその状態のまま動かなくなります。
- 戻せるバックアップがあることを確認する。取ってあることと戻せることは別です(この違いについて)
- 複数のプラグインを一度に更新しない。問題が起きたとき、どれが原因か分からなくなります
- 更新後、表側と管理画面の両方を実際に開く。片方だけが壊れる障害があります
更新が通らないこと自体は、実害の少ない問題です。本当に怖いのは、更新されていないのに更新されたと思い込んでいる状態です。脆弱性の告知が出たプラグインを「うちは最新だから大丈夫」と判断したとき、その前提が間違っていれば、対策は何も取られません。
