久々にPagespeed Insightsをスコア確認してみたら、「おすすめの方法」のスコアが100点ではなく、
ブラウザのエラーがコンソールに記録されました
/cdn-cgi/speculation:1:0(www.kaimonojyoz.jp)
Failed to load resource: the server responded with a status of 404 (Not Found)
/cdn-cgi/rum:1:0(www.kaimonojyoz.jp)
Failed to load resource: the server responded with a status of 404 (Not Found)
と書かれていました。
つまり
- /cdn-cgi/rum
- /cdn-cgi/speculation
が404でアクセスできないということですが、上記2つのディレクトリは実際には存在しません。
ググったところ、どちらもCloudflare関係でした。
■/cdn-cgi/rumの件
/cdn-cgi/rum のアクセスはCloudflare Browser Insightsです。

Cloudflareの設定 → 分析とログ → Web Analyticsにて
- リアルユーザー測定 (RUM)
を有効にすると各ページにCloudflareが小さなJavaScriptを追加し、Web Vitalsを測定・サイトを分析するようになります。
これが/cdn-cgi/rum の正体です。
Web Analyticsを有効にすると各検索エンジンやPagespeed Insightsの測定プログラムが存在しないディレクトリ /cdn-cgi/rum にアクセスしようとしますが、存在してないので例えばPagespeed Insightsでは当ページの最初の画像のように
ブラウザのエラーがコンソールに記録されました
/cdn-cgi/rum:1:0(www.kaimonojyoz.jp)
Failed to load resource: the server responded with a status of 404 (Not Found)
との警告?が表示されるようになります。
別にCloudflareでWeb Vitalsを測定しなくても、Chrome等の拡張機能やPagespeed Insightsで計測すれば良いのでは? と個人的には思います。
放置しておいても問題ないみたいですが、「おすすめの方法」のスコアが若干低くなるので、気になる場合は
Cloudflareの設定 → 分析とログ → Web Analyticsにて、
クイックアクションの箇所にある「RUM 設定の管理」あるいはサイトを管理 → 詳細オプションの箇所で登録サイトを「削除」します。
※この「削除」はCloudflareアカウントに登録したサイトを削除するものではなく、Web Analyticsに登録したサイトを削除する設定です。
念のため、Caching → 構成にて、「すべてパージ」します。
反映されるまで最長48時間かかるケースもあるみたいです。
■/cdn-cgi/speculationの件
/cdn-cgi/rum と同様にPagespeed Insightsの「おすすめの方法」にて
ブラウザのエラーがコンソールに記録されました
/cdn-cgi/speculation:1:0(www.kaimonojyoz.jp)
Failed to load resource: the server responded with a status of 404 (Not Found)
と表示される場合は、Cloudflareの設定 → Speed → 最適化にて、コンテンツの最適化にあるSpeed Brainが原因です。
【解決方法その1】【解決方法その2】のどちらかの対応で解決できます。
【解決方法その1】Speed Brainを無効にする
Cloudflareの設定 → Speed → 最適化の、コンテンツの最適化にある
Speed Brain:無効
にすれば /cdn-cgi/speculationの件は一発で解決します。
【解決方法その2】robots.txtとWAFのカスタムルールの追加設定で対応する
【解決方法その1】じゃない場合は、後述の
- robots.txt
- robots.txt & WAFのカスタムルールの追加設定
のどちらかで対応可能です。
- CloudflareのWAFのカスタムルールを作成していない場合はrobots.txtのみでOKです。
- CloudflareのWAFのカスタムルールで検索エンジンやAIボット等のクロールをブロックしている場合は、robots.txt & WAFのカスタムルールの追加設定が必要です。
【解決方法その2】の場合はSpeed Brainを有効にしたままで大丈夫です、たぶんですけど。
【robots.txt】
robots.txtに
##■■■検索エンジン等がCloudflareの/cdn-cgi/ に誤アクセスする対策■■■
Disallow: /cdn-cgi/
を追記する。
※当サイトの

にあるrobots.txtのコードには記述済みです。
■注意■
上記の内容の robots.txt をアップロードする前に現在の robots.txt の内容を確認して、WordPress本体あるいは各種プラグインが自動生成する robots.txt の内容を削除しないようにする必要があります。
まず最初に
https://ほにゃらら.com/robots.txt
にアクセスして既存の robots.txt の内容を確認してから上記 robots.txt の内容を追記して下さい。
【WAFのカスタムルール】
CloudflareのWAFのカスタムルールで検索エンジンやAIボットのクロールをブロックしている場合は以下の対応が必要です。
Cloudflareの設定 → WAFのカスタムルールの1番上に以下のルールを追加します。
ルール名(例):/cdn-cgi/をブロックしないでスルーする■robots.txtではじく
フィールド:URIパス
オペレーター:次を含む
値:/cdn-cgi/
式だと
(http.request.uri.path contains "/cdn-cgi/")
です。あるいは
(cf.verified_bot_category eq "Search Engine Crawler" and http.request.uri.path contains "/cdn-cgi/") or (cf.verified_bot_category eq "Search Engine Optimization" and http.request.uri.path contains "/cdn-cgi/")
でも良いかもしれません。
アクション:スキップ
スキップするWAFコンポーネント:残りのすべてのカスタムルール
場所:最初
これでSpeed Brainを有効にしたままの状態で /cdn-cgi/speculation のコンソールエラーを除去できます。
Pagespeed Insights等で /cdn-cgi/rum あるいは /cdn-cgi/speculation がコンソールエラー(404エラー・アクセスできない)と警告表示される件の解決策は以上です。