【スペキュレーションルールズ】

Speculation Rules とは?

最終更新:
💡 次に開くかもしれないページを、先に準備するためのルール

次に開かれそうな文書URLの先行取得や事前描画を、JSONのルールでブラウザへ伝えるAPI。ページ遷移の待ち時間を減らすために使う。実行はブラウザの判断や設定にも依存し、全ブラウザでの対応や効果を保証するものではない。通信・メモリの消費や先読みの副作用も考える。

📌 このページのポイント
ひよこ ひよこ
何を先読みするの?
ペンギン先生 ペンギン先生
次に開かれそうなページの文書URLだよ。Speculation Rulesのプリフェッチは文書の応答を取得し、そこに含まれる画像やCSSなどは取得しない。個別リソースを先取りする別の仕組みと区別しよう。
ひよこ ひよこ
どう指定する?
ペンギン先生 ペンギン先生
`<script type="speculationrules">` の中へJSONを書く方法があるよ。`urls` で候補を列挙したり、`where` でページ内のリンクをURLパターンやCSSの条件から選んだりできる。ルールを外部に置く場合はSpeculation-Rules応答ヘッダーも使えるんだ。
ひよこ ひよこ
プリレンダリングは何が違う?
ペンギン先生 ペンギン先生
文書に加えて関連リソースを読み込み、見えない状態で描画やJavaScriptの実行も進めるよ。準備済みなら遷移の待ち時間を減らせる。ただしブラウザは設定や使用中のメモリなどを見て、ルールを実行しないこともあるんだ。
ひよこ ひよこ
全部のリンクに使えばいい?
ペンギン先生 ペンギン先生
使わないページの準備には通信やメモリを消費するよ。ログアウトなど、取得だけで状態を変えるURLも考慮する必要がある。プリレンダリングでは計測などのJavaScriptも実行されるので、表示前に起こしてよい処理かを確認しよう。
ひよこ ひよこ
どのブラウザでも速くなる?
ペンギン先生 ペンギン先生
2026年10月8日のMDNでは対応が限定的な機能として扱われているよ。対象ブラウザの対応表を調べ、通常のリンク遷移も使える形で導入しよう。LCPやINPが必ず改善すると決めつけず、実際の利用条件で効果を測るんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Speculation Rules」って出てきたら「次に開くかもしれないページを、先に準備するためのルール」と思えばだいたいOK!
📖 おまけ:英語の意味
「Speculation Rules」 = 先の利用を見込んで準備するルール
💬 Speculationは、次に使われるかもしれないものを見込んで処理するという意味だよ。ユーザーが必ずそのページを開く、と確定しているわけではないんだ。

参考資料

← 用語集にもどる