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

Speculation Rules とは?

💡 ユーザーが動く前に、ブラウザがこっそり先読みする
📌 このページのポイント
ひよこ ひよこ

Speculation Rulesって何?なんかルールを決めるって感じなの?

ペンギン先生 ペンギン先生

ブラウザに「次にこのページに行くかもよ」と事前に教えるためのルールを書くAPIだよ。ユーザーがリンクをクリックする前にブラウザが先読みを開始するんだ。

ひよこ ひよこ

どうやって使うの?

ペンギン先生 ペンギン先生

`<script type="speculationrules">` タグの中にJSONで書くよ。`prefetch` でリソースを先取りするか、`prerender` でページ丸ごと事前に生成するかを指定できるんだ。

ひよこ ひよこ

prerenderって、ページ全部を先に作るってこと?すごいの!

ペンギン先生 ペンギン先生

そう!クリックした瞬間に既にレンダリング済みのページが出てくるから、体感的にはほぼ瞬時に遷移するよ。LCPが劇的に改善されることが多いんだ。

ひよこ ひよこ

全部のリンクを先読みしたらメモリとかサーバーが大変じゃないの?

ペンギン先生 ペンギン先生

いい指摘だよ。だからルールで条件を絞るんだ。「このパスのURLだけ」「ホバー後0.5秒で発動」など細かく設定できるよ。ブラウザ側もメモリ状況を見て自動的に制限してくれるんだ。

ひよこ ひよこ

Chrome 109以降ってことは、まだ全ブラウザじゃないの?

ペンギン先生 ペンギン先生

現時点ではChromium系が主な対応ブラウザだね。ただ未対応ブラウザは単に無視するだけだからプログレッシブエンハンスメントとして導入しやすいよ。Core Web Vitals改善の施策として注目が高まっているんだ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Speculation Rules」って出てきたら「ブラウザに次ページを先読みさせるJSON形式の指示書き」と思えればだいたいOK!
📖 おまけ:英語の意味
「Speculation Rules」 = 投機的ルール
💬 "Speculation(投機)"は「おそらくこうなるだろう」の意。ユーザーが次にどこに行くか予測して先読みするルールを定義するAPIだよ。
← 用語集にもどる