「バックグラウンド更新が想定通りに動作していません」を解決

先日、ワードプレス でサイトヘルスをチェックすると、

「バックグラウンド更新が想定通りに動作していません」

と表示されて、どうしても解決したくなり、諦めずに解決した方法を記録しておきたいと思います。

僕が出た症状はこれです。

「バックグランド更新が想定通りに動作していません」

バックグラウンド更新は使用中の WordPress のバージョンにセキュリティ更新がリリースされた際、自動更新できることを保証します。

 エラー プラグインは wp_version_check() を無効化してアップデートを防ぎました。

 OK バージョン管理システムは検出されませんでした。

 OK この WordPress サイトでは更新の実行の際に FTP 情報が必要となりません。

 OK  すべての WordPress ファイルが書き込み可能です。

僕の場合、

「プラグインは wp_version_check() を無効化してアップデートを防ぎました。」

が問題でした。

wp_version_check() とはなに?

これはワードプレスの関数です。簡単にいうと新しいバージョンをチェックして、ワードプレスの更新の時に、

「WordPress5.4.2が利用可能です!更新してください。」

とサイト上部に表示させるものです。

ここからが解決手順

①バックアップをとる

まず、バックアップを取りました。

ワードプレスのサイトを編集する作業の前にバックアップを取るのは基本です。

②サーバーの設定を確認する。

サーバーにアクセスして、ワードプレスのサイトにパスワードを設定したり、アクセス制限したりしていないか確認する。

Basic認証の解除で解決するような情報を見かけました。

結果

僕は、解決しませんでした。

③SiteGuard WP Pluginを確認する

SiteGuard WP Pluginの管理ページアクセス制限にsite-health.phpが含まれているか確認する。

結果

すでに含まれていて、解決しませんでした。

④全ての有効化プラグインを確認する

有効化しているプラグインをひとつひとつ無効化していきます。

無効化しては、一回一回、サイトヘルスをチェックして、状態を確認します。

全てのプラグインを一気に無効化するのではなく、ひとつずつ無効化します。

結果

僕の場合はプラグインを無効化しただけでは解決できませんでした。

⑤テーマを検証してみる

次に、試したのがテーマの検証です。

ここで、注意したいのが検証するテーマにエラーがあってはいけないので、検証に使うテーマは公式から発表されている

Twenty Twentyを使用しました。

結果

Twenty Twentyでは、エラーが消えました。

つまり、僕のテーマファイルが問題です。

⑥wp_version_check()を無効化しているファイルを探す

wp_version_check()を無効化しているファイルを探します。

ワードプレスの新しいバージョンをチェックしたり、更新する関数は以下の通りです。

 ・wp_version_check 

 ・automatic_updater_disabled

この二つの関数が、functions.phpやその他のテーマファイルに記述されてないか、確認します。

結果

僕の場合は、これらの関数は記述していませんでした。

⑦もう一度、functions.phpを見直す。

functions.phpをじっくり見ていると、php構文最後の ?>の下に改行が3行ありました。

僕の場合、この改行が原因でした。

改行を消すことによって、エラーは改善されました。

さいごに

ネット上の情報を色々と調べまくってもなかなか解決できず、困ってしまいましたが、やっと解決できました。

お困りの方は、ぜひ一度、functions.phpの下に改行が含まれていないか、確認してみてください。

少しでも、お役に立てると幸いです。