WordPressのサイトヘルスで致命的な問題。Basic認証の解除で解決。
バックグラウンド更新が想定通りに動作していません、と表示される
WordPressの機能「サイトヘルス」で1件の致命的な問題が表示されました。
バックグラウンド更新が想定通りに動作していません。
プラグインは wp_version_check() を無効化してアップデートを防ぎました。
と表示されています。
その下の3項目はOKのようです。
- バージョン管理システムは検出されませんでした。
- このWordPressサイトでは更新の実行の際にFTP情報が必要となりません。
- すべてのWordPressファイルが書き込み可能です。
バックグラウンド更新とは?
WordPressのバージョンにセキュリティ更新がリリースされた際、自動更新できることを保証します。
WordPress サイトヘルスより
とあります。
セキュリティ更新はWordPressのマイナーバージョンアップに含まれる、ということを踏まえると、WordPressのマイナーバージョンアップは自動で更新されることを保証しますよ、ということだと理解しました。
プラグインまたはテーマが原因?
こちらの記事を参考にして調べました。
WordPressのサイトヘルスで致命的な問題が表示された場合の解決方法。「エラー プラグインは wp_version_check() を無効化してアップデートを防ぎました」。 この記事ではサイトヘルスで表示されたエラーを解決した手順を紹介します。
プラグインをひとつずつ停止してみる→NG
プラグインをひとつずつ停止してサイトヘルスを再表示する、を繰り返してみましたが、どのプラグインを停止しても状況は変わりませんでした。
テーマをデフォルトのものに変えてみる→NG
テーマをデフォルトのもの(今回はTwenty Twenty)に変更してサイトヘルスを再表示しましたが、こちらも状況は変わりませんでした。
SiteGuard WP Pluginの「管理ページアクセス制限」が原因?
こちらの記事を参考にしました。
目次サイトヘルスステータスとは新しいバージョンのWordPressが利用可能です更新可能なプラグインがあります停止中のプラグインを削除してください停止中のテーマを削除してください使用中のPHPバージョン(7.2.17)は …
SiteGuard WP Pluginの「管理ページアクセス制限」の設定で「除外パス」「site-health.php」が含まれていないことが原因で発生するケースをよく見かける。
とのことですが、除外パスにはすでに「site-health.php」が含まれていました。
というか、プラグインをひとつずつ停止してみても解消しなかったんだから、そらそうか。。
サーバーに設定したアクセス制限が原因
こちらの記事を参考にしました。
サーバーに設定していた「アクセス制限」を無効にする
アクセス制限とは、サイトの特定のページにBasic認証をかける機能です。
WordPressの管理画面にアクセスする際に、セキュリティ向上のためBasic認証を設定していたので、こちらを解除しました。
解除後、サイトヘルスを再確認すると、先程表示されていた致命的な問題が消えていました。
最後に
そもそもセキュリティ向上のために設定しているBasic認証のために、WordPressのセキュリティ更新ができないなんて、それじゃあ一体どっちを取ればいいの!?となってしまいますよね。
ただ、いくつかのサイトを運営してきた私の経験上ですが、管理画面にBasic認証を設定しているサイトでも、WordPressのマイナーバージョンアップは自動で行われています。
※2020年4月現在
また、将来的に自動で更新されなくなったとしても、きちんと管理されているサイトであれば、管理者が定期的にログインして手動でバージョンアップを実行するはずだと思います。
Basic認証を外してWordPressのマイナーバージョンアップを確実に自動実行するか、Basic認証をかけたままにしておいて「将来的にはWordPressのマイナーバージョンアップを手動でやることになるかもしれないなぁ」と思っておくか、どちらを取るかは管理者次第だということです。