WordPress

WordPress: サイトヘルスの特定のチェック項目を無効にする方法

投稿日:2021年6月28日 更新日:

1. WordPress のサイトヘルス機能

WordPress 管理ページの [ツール] – [サイトヘルス] ページでは、その WordPress サイトについての問題点が報告されます。

この機能は、プラグインとして実装されています。→ Health Check & Troubleshooting

問題に対するテスト項目は「直接テスト (direct)」と「非同期テスト (async)」に分かれます。時間の掛かるテストは非同期テストに分類され Ajax を介して実行されます。

マルチサイト設定だと、プラグインページに表示されないようです。しかしちゃんと動作はします。

2. 指摘された項目について調査する

例えば、サイトヘルスのページで「致命的な問題」として「バックグラウンド更新が想定通りに動作していません」と表示されたとします。

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

上の画像で指摘されているように、WordPress のフォルダーがバージョン管理されている(= .git フォルダーが存在している)ことが問題のようです。なぜこのことが問題なのかについては、いくつか予想はつきますが、このチェック機能がどういう問題意識で警告を出しているのかをはっきりさせない限り、次の対応が決定できません。

ということで、サイトヘルス機能がなぜこの内容を問題としているのか?を調べるのですが、これといったドキュメントが見つからなかったため WordPress のソースコードを調べます。その結果、class-wp-automatic-updater.php in tags/5.7.2/src/wp-admin/includes – WordPress Trac にそれらしい記述が見つかります(コメントのところです)。

The underlying assumption is that if you are using version control anywhere, then you should be making decisions for how things get updated.

【以下、日本語訳 by DeepL

基本的な仮定は、バージョンコントロールを使用している場合、どのように更新されるかを決定する必要があるということです。

引用元:class-wp-automatic-updater.php in tags/5.7.2/src/wp-admin/includes – WordPress Trac

おそらく、「Git で管理しているということは、Git を使ってファイルを更新している可能性があり、その場合 WordPress 自体が勝手にファイル更新すると問題になる」ということだと思われます。

このことが問題であれば、バージョン管理をやめるなり対応する必要があります。問題でないなら、このチェック項目を無効にしても構わないでしょう。

チェック項目の一覧は以下のファイルに載っています(PHPのコードです)。

$tests という名前の配列が、まず directasync いうキーで分けられ、その下階層に各チェック項目の名前がキーとなってそれぞれの情報がセットされています(この後、この情報を使います)。

ここから該当するチェック項目を探して、次の調査につなげることもできるでしょう。

3. 特定のチェック項目を無効にする

特定のチェック項目を無効にする方法は、Site Health Check in 5.2 – Make WordPress Core に載っています。

今回対象となるのは、asyncbackground_updates という項目で、これを無効にするには以下のコードをテーマの functions.php ファイルに記述します。

function remove_background_updates_test( $tests ) { 
    unset( $tests['async']['background_updates'] ); 
    return $tests; 
} 
add_filter( 'site_status_tests', 'remove_background_updates_test' );

このコードを追加すると、「バックグラウンド更新が想定通りに動作していません」という指摘はなくなるはずです。

4. 参考

📂-WordPress

執筆者:labo


comment

メールアドレスが公開されることはありません。

関連記事

WordPress の robots.txt に関する処理はどうなっているのか?

WordPressでの robots.txt に関する処理を調べてみました。 少しネットで調べてみると「robots.txt を自分で作成してルートディレクトリに置いておけば、それが使われるし、なけれ …

WordPress の Attitude テーマに日本語翻訳ファイルを使用する(子テーマ利用)

WordPress の Attitude テーマに日本語翻訳ファイルを追加する方法です。 子テーマを利用していることを前提としており、子テーマのディレクトリ側に翻訳ファイルを追加します。 目次前置き( …

WordPressサイトで現在表示しているページの編集ページを開くブックマークレットを作りました

目次概要編集ページへのURL作成したブックマークレットまとめ 概要 WordPressにログインした後、通常のページ(管理ページではなく)を表示すると、画面上部に管理ツールバーが表示されます。このツー …

Web Vitals

WordPress: 特定の記事に特定のCSSを出力する方法

WordPress: 特定の記事に特定のCSSを出力する方法

WordPress

WordPressのカスタムHTMLブロックで ‘>’ などを記述する場合の問題点 (未解決)

WordPressのカスタムHTMLブロックで ‘>’ などを記述する場合の問題点 (未解決)