logo
ブログ
2025/11/10

CloudflareにPrefetchが弾かれた

AstroのClientRouterを有効にしたら503エラーが発生した

AstroにはClientRouterを有効にすることで、View Transition APIを使用してページ遷移をアニメーション化することができます。

その設定を有効化してデプロイしたところ、リンクにホバーしたときにリクエストでエラーになっていることを発見しました。
ページ遷移など、利用上は問題がないのですが、エラーが出ているのは気持ちが悪いので原因解決のために調査しました。

リンクをホバーしたときにエラーが発生していることをDevToolsで確認した画像 Prefetchのリクエストで503エラーが返却されている様子

CloudflareのSpeed Brainが原因だった

https://blog.cloudflare.com/ja-jp/introducing-speed-brain/

この記事にある通り、Prefetchのリクエストをブロックしているようです。

解決方法

Cloudflareのドメイン設定の中に、Speed > Settings > Content Optimization > Speed Brainがあり、そちらを無効にすればPrefetchが有効になります。

Cloudflareの管理画面で、Speed Brainの設定を開いている画像 Speed Brainの設定画面

結局どうしたか

前述の記事 を見ると、速度向上のために有用らしいです。

機能としては問題がないし、少しモヤモヤは残るがSpeed Brainは有効のままで行こうかなと思います。