Speculation Rules APIがGoogle検索の高速化を実現

[レベル: 上級]

Google は、Speculation Rules API という技術を用いて、検索結果の速度向上を実現しています。
この Speculation Rules API が検索でどのように機能しているかを開発者向け Chrome ブログが共有しました。

最初の 2 件の結果のプリフェッチ

Google 検索では Speculation Rules API を活用し、特に検索結果ページからリンク先への移動を高速化しています。

Speculation Rules の最初の実装の 1 つとして、検索結果の上位 2 件のプリフェッチ (Prefetch the first two results) が実装されました。
📝すずき補足:プリフェッチ (prefetch) はユーザーがクリック/タップする前にリンク先を読み込むこと

たとえば、「test」という検索を実行すると、上位 2 件の URL をプリフェッチする Speculation Rules が適用されます。
この処理により、上位 2 件のリンクをユーザーがクリックしたときには HTML ドキュメントがブラウザにすでに読み込まれており、ページの読み込み時間が短縮されます。

Speculation Rules やプリフェッチの試行は、デベロッパーツールの「Application」→「Speculation」タブで確認できます。

最初の 2 件の結果のプリフェッチの効果

Google 検索での最初の2件のプリフェッチを A/B テストで実施したところ、Largest Contentful Paint (LCP) の大幅な改善を確認できました。

  • Android 版 Chrome では、Google 検索からのクリック時に LCP が 67 ミリ秒短縮
  • デスクトップ版 Chromeでも、LCP が 58.6 ミリ秒改善

この改善は、Google 検索自体ではなく、検索結果から遷移するサイトの表示速度に関するものです。
0.5 秒強の時間短縮ですが、検索においてはわずかな時間短縮でも価値があると Google は考えています。

Speculation Rules を用いたプリフェッチは、2022 年 10 月に Android の検索でデフォルト有効化され、2024 年 9 月までにデスクトップにも展開されました。

最初の 2 件以外の結果のプリフェッチ

Speculation Rules API は、eagerness プロパティの導入により、ユーザーがリンクにホバーしたり、クリックを開始したときにもプリフェッチを実行できるようになりました。

Google 検索では、最初の 2 件以外の検索結果についても moderate 設定のプリフェッチを実施しています。

  • クリックされる頻度が低いリンクの無駄なリソース消費を抑えるため、"eagerness": "moderate" を設定
  • これにより、ユーザーがリンクにホバーするとプリフェッチが開始される
  • 広告のプリフェッチを防ぐため、Google 検索は API の document ルールではなく、個別のURLをリストアップする形で実装

最初の 2 件以外の結果のプリフェッチの効果

A/B テストの結果、デスクトップ版 Chrome では、Google 検索からのナビゲーション時に以下の改善が確認されました。

  • First Contentful Paint (FCP) が 7.6 ミリ秒短縮
  • LCP が 9.5 ミリ秒短縮

最初の 2 件のプリフェッチに比べると改善幅は小さいものの、有用な結果と考えられます。

デスクトップ版の検索での追加プリフェッチは 2024 年 12 月にデフォルト有効化されました。
一方で、モバイルでは有意な改善が見られなかったため、この機能は有効化されていません。

Speculation Rules のさらなる活用

Googleは、Speculation Rules API のさらなる活用を模索しており、次のようなシナリオでの適用を検討しています。

  • Chrome のアドレスバーで検索クエリを入力した際の検索結果ページのプリレンダリング
  • Android の検索ボックスなど、他の検索エリアでの活用

ブラウザの対応状況

現在、Speculation Rules API は、Chrome や Edge などの Chromium ベースのブラウザで実装されています。
Safari や Firefox は現状ではサポートしていません。

Google は、Speculation Rules API の W3C 標準化に取り組んでおり、他のブラウザもこの API を実装することを目指しています。

サイトでの活用

Speculation Rules API はすべてのサイトで利用可能です。
Google 検索のように大きなパフォーマンス向上を期待できそうです。

また、ここでは省きましたが、プライバシー保護機能も Speculation Rules API には備わっています。

Speculation Rules API の実装に興味を持ったなら、まずはブログ記事で詳細を確認してください。