WordPressの緊急アップデートと自動更新の重要性
2026年7月19日、エックスサーバーから「【重要】WordPressの脆弱性(wp2shell/CVE-2026-63030)に関する注意喚起とサーバー側対策のお知らせ」が届いた。
参考:エックスサーバーのお知らせ1
WordPressでは、通常、管理画面の更新設定において、主に次のいずれかの自動更新が有効になっている。
- メンテナンスリリースとセキュリティリリースのみを自動的に適用する
- すべての新しいバージョンに対する自動更新を有効にする
今回の案内メールを確認した時点では、セキュリティアップデートとして問題のバージョンWordPress 7.0.1から7.0.2への更新が完了していた。
脆弱性に対処するための緊急アップデートは、サイトの安全性を維持するうえで確実に適用しなければならない。特に、広く影響が及ぶ可能性のある脆弱性が公表された場合、更新の遅れは不正アクセスや改ざんなどのリスクにつながる。
通常の運用環境であれば、WordPressの自動更新機能によって対応できる。しかし、ベーシック認証を設定したWordPressサイトでは、自動更新が正常に実行されない場合がある。
そのため、ベーシック認証下で運用するサイトでは、自動更新や予約投稿などに必要な処理を実行できるよう、あらかじめ設定を見直しておく必要がある。
ベーシック認証が自動更新を妨げる理由
WordPressでは、定期処理の実行にwp-cron.phpが利用されている。
この仕組みは、予約投稿、プラグインの定期処理、更新確認、バックグラウンド更新などに関係している。ところが、サイト全体にベーシック認証が設定されていると、WordPress自身がwp-cron.phpへアクセスする際にも認証を求められる。
結果として、WordPressが必要な定期処理を実行できず、自動更新や予約されたイベントが失敗・遅延する可能性がある。
そこで、ベーシック認証は維持したまま、wp-cron.phpへのアクセスだけを認証対象から除外する方法を紹介する。
■wp-cron.phpのみを認証除外にする
設定は、WordPressがインストールされているフォルダ内の.htaccessを編集して行う。
ただし、.htaccessの記述方法はサーバーのApache設定によって異なる。事前にバックアップを取得したうえで、利用しているサーバー環境に適した方法を選択することが重要である。
・Apache 2.4系での設定例
現在主流のApache 2.4系では、.htaccessの末尾に次の記述を追加する。
<Files "wp-cron.php">
<RequireAny>
Require all granted
Require valid-user
</RequireAny>
</Files>
この設定により、通常はベーシック認証を維持しつつ、wp-cron.phpには認証なしでアクセスできるようになる。
・旧来の設定が利用できる環境の場合
サーバーが旧来のApache互換設定を許可している場合は、次の記述で動作することがある。
<Files "wp-cron.php">
Satisfy Any
Allow from all
</Files>
ただし、Satisfy AnyおよびAllow from allは旧形式のディレクティブであり、サーバー環境によっては利用できない。
エックスサーバーの場合は上記の記述で機能した。
設定後にエラーが発生した場合は、すぐに元の.htaccessへ戻し、サーバー会社の案内を確認する必要がある。
■設定後の確認方法
設定後は、WordPressの管理画面から定期処理が正常に動作しているか確認する。
- WordPressの管理画面にログインする。
- 「ツール」から「サイトヘルス」を開く。
- 「予約したイベントに失敗しました」や「予約されたイベントの遅延」といった問題が表示されていないか確認する。

これらのエラーが表示されなければ、WordPressが必要な内部処理を実行できる状態になっている可能性が高い。
ただし、サイトヘルスに問題が表示されないことだけで、すべての自動更新が保証されるわけではない。WordPress本体、テーマ、プラグインの更新状況は、定期的に管理画面から確認することが望ましい。
ベーシック認証を利用するサイトこそ定期的な確認が必要である
ベーシック認証は、次のような環境で設定されることが多い。
- 閲覧者を限定して公開するサイト
- サイトリニューアル中の検証環境
- 開発用またはテスト用のサイト
- 公開前の仮設サイト
特に、リニューアルやテストを目的として作成されたサイトは、作業完了後にそのまま放置されることがある。公開されていないつもりでも、古いWordPressやプラグインが残っていれば、脆弱性を悪用されるリスクはなくならない。
ベーシック認証を設定する際は、閲覧制限だけで安心せず、自動更新が実行できる状態になっているかもあわせて確認しておくべきである。
今回、エックスサーバーでは、アップデートが適用されていないWordPressに対して、強制的に更新を実施する対策が取られていた。
ほかのサーバー会社でも、同様の緊急対応や独自の保護策が行われていた可能性はある。しかし、サーバー側の対応だけに依存するのではなく、運用者自身が管理サイトの状況を把握しておくことが重要である。
今回の出来事は、放置されているWordPressサイトやテスト環境を洗い出し、不要なサイトを整理する機会にもなった。ベーシック認証下のサイトを含め、更新状況、管理者アカウント、不要なプラグイン、バックアップ体制を改めて確認しておきたい。
