Pagespeed Insights等で /cdn-cgi/rum あるいは /cdn-cgi/speculation が404エラー(アクセスできない)と警告表示される解決策

久々に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です。

ブラウザのインサイトを使用してWeb Vitalsの測定を開始する
We're partnering with the Google Chrome team to bring Web Vitals measurements into 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が原因です。

 
https://blog.cloudflare.com/ja-jp/introducing-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/

を追記する。

※当サイトの

【永久保存版】AIクローラー・検索エンジンのボット拒否設定7選
AIボットや検索エンジンのクローラー拒否方法を徹底解説!robots.txt・.htaccess・WordPress・Cloudflare・Bytespider対策など、最新のクローラー対策7選で不要な巡回を今すぐブロック!

にある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エラー・アクセスできない)と警告表示される件の解決策は以上です。

タイトルとURLをコピーしました