公開日: 2025 年 2 月 12 日
Google 検索は、ウェブ上で最も人気のあるサイトの一つであり、最も高速なサイトの一つでもあります。Google の検索チームは、検索エクスペリエンスの高速化に継続的に取り組んでいます。Google 検索のような人気の高いページでは、わずか数ミリ秒の改善でも、その効果はすぐに積み重なっていくでしょう。速度に関する関心には、よく知られている Google のホームページ、検索エンジン結果ページ(SERP)、検索結果から他のサイトへのクリックが含まれます。
Google 検索では、Speculation Rules API を使用して、検索結果ページから結果リンクへの移動速度を改善してきました。また、他のサイト所有者にとって有用と思われる API のいくつかの機能を使用しています。
最初の 2 件の結果をプリフェッチする
推測ルールの最初の用途の 1 つは、最初の 2 つの検索結果をプリフェッチすることでした。たとえば「test」を検索すると、ページに次の推測ルールが含まれます。
{
"prefetch": [{
"source": "list",
"requires": [
"anonymous-client-ip-when-cross-origin"
],
"referrer_policy": "strict-origin",
"urls": [
"https://www.merriam-webster.com/dictionary/test",
"https://dictionary.cambridge.org/dictionary/english/test"
]
}]
}
下部にある 2 つの URL は最初の 2 つの検索結果であり、すぐにプリフェッチされます。ユーザーがそれらをクリックすると、HTML ドキュメントがすでにブラウザで利用可能になっているため、先行して読み込まれます。
ルールとプリフェッチの試行は、前述の説明に従って、DevTools の [Application] -> [Speculation] タブで確認できます。
![単語「text」の 2 つの辞書定義がリストされ、どちらも正常にプリフェッチされたことを示す DevTools の [投機] パネル](https://developer.chrome.google.cn/static/blog/search-speculation-rules/image/speculations-panel-with-two-successful-prefetches.png?authuser=1&hl=ja)
プライバシー保護プリフェッチ
これらのリンクは他のサイトのコンテンツを対象としているため、ユーザーがまだそのサイトにアクセスしていないため、プリフェッチにはプライバシーに関する追加の考慮事項があります。
幸い、この API はプライバシー保護を念頭に設計されており、Google 検索では 2 つの機能を使用してユーザーのプライバシーを保護しています。
1 つ目は、requires
構成を使用して、プリフェッチで Chrome のプライベート プリフェッチ プロキシを使用するようにすることです。
"requires": [
"anonymous-client-ip-when-cross-origin"
],
このプロキシを使用すると、接続で IP アドレスが匿名化されるため、ユーザーが検索結果ページからリンクをクリックしてサイトに移動する前に、ユーザーの IP アドレスがサイトに漏洩することはありません。
次に、Google 検索では referrer_policy
設定を使用して、検索ページの URL にエンコードされた詳細が referer
HTTP ヘッダーでサイトに送信されないようにしています。
"referrer_policy": "strict-origin",
ほとんどのブラウザでは、デフォルトで strict-origin-when-cross-origin
になっていますが、この設定では、同じオリジンのプリフェッチでも strict-origin
リファラ ポリシーを使用する厳格な設定が使用されます。
3 つ目の保護は、ユーザーがサイトの Cookie を持っている場合に自動的に実行されます。この場合、Cookie に基づいて異なる結果が返される可能性があり、Chrome はプリフェッチされた HTML を使用しません。
![DevTools の [投機] パネルに 2 つの URL が表示されているが、1 つはプリフェッチに失敗し、ユーザーがそのオリジンの Cookie を保有しているため対象外であるというエラーが表示される](https://developer.chrome.google.cn/static/blog/search-speculation-rules/image/speculations-panel-with-one-failed-prefetch.png?authuser=1&hl=ja)
つまり、Cookie を使用しているユーザーは、そのサイトをクリックしたときにプリフェッチによるパフォーマンスの向上を享受できませんが、プライバシー保護と正確なページ読み込みが優先されます。また、ユーザーがすでにサイトにアクセスしていて、そのサイトの Cookie を持っている場合、そのサイトのアセットがキャッシュに保存されている可能性が高いため、プリフェッチしなくてもページの読み込みが速くなる可能性があります。
最初の 2 件の結果をプリフェッチした場合のユーザーへの影響
ほとんどの変更と同様に、Google 検索では A/B テストでプリフェッチをリリースし、影響を測定しました。Largest Contentful Paint(LCP)が大幅に改善されました。Android 版 Chrome では、Google 検索からのクリックの LCP が 67 ミリ秒短縮されました。パソコン版 Chrome のフォローアップ リリースでは、LCP が 58.6 ミリ秒改善されました。これらの改善は、Google 検索サイト自体ではなく、リンク先のサイトに対するものです。ただし、Google 検索のユーザーにとって有益です。
LCP の改善はわずかに思えますが、Google 検索のような高度に最適化されたサイトでは、ユーザーにとって 1 ミリ秒の改善でも大きな意味があります。そのため、数十ミリ秒の改善は異例です。サイトによっては、さらに大きな効果が得られる可能性があります。試してみることをおすすめします。
推測ルールを使用したプリフェッチは、2022 年 10 月より Android 版検索でデフォルトで有効になり、2024 年 9 月までにパソコンにも展開されました。
最初の 2 件の結果以降
Speculation Rules API の最初のリリース以降、eagerness プロパティが強化され、ユーザーがリンクにカーソルを合わせたときやリンクのクリックを開始したときにのみ推測が行われるようになりました。
Google 検索では、最初の 2 件の検索結果を超えて、残りの検索結果もプリフェッチすることにしました。ただし、moderate
の早期読み込み設定を使用して、ユーザーがリンクにカーソルを合わせた場合に限られます。これにより、クリックされる可能性が低いリンクのリソースを不必要に浪費することを防ぐことができます。
このルールは、Chrome で検索すると DevTools に表示されます。このルールは前のルールと同じですが、"eagerness": "moderate"
オプションが設定されています。
![anonymouse-client-ip-when-cross-origin、strict-origin リファラ ポリシー、moderate の eagerness、7 つの URL を使用するリストルールを示す DevTools の [ルール] パネル](https://developer.chrome.google.cn/static/blog/search-speculation-rules/image/rules-panel.png?authuser=1&hl=ja)
これらのリンクにカーソルを合わせると、プリフェッチがトリガーされます。Google 検索では、広告などの他の URL をプリフェッチしないため、Speculation Rules API のドキュメント ルール機能ではなく、URL を明示的にリストします。
最初の 2 件を超える結果のプリフェッチがユーザーに与える影響
パソコン版 Chrome では、Google 検索からの移動時のFirst Contentful Paint(FCP)が 7.6 ミリ秒、LCP が 9.5 ミリ秒短縮されました(A/B テストによる結果)。これは、最初の 2 つの結果で得られた 58.6 ミリ秒の改善と比べると小さな改善ですが、それほど積極的にプリフェッチされていないため、リードタイムが短いことを踏まえれば、驚くべきことではありません。ただし、前述の理由から、これらのメリットは依然として大きいものです。
デスクトップで残りの検索結果のプリフェッチは、2024 年 12 月にデフォルトでリリースされました。
モバイル(通常ホバーは使用できません)では、実質的な改善は見られませんでした。そのため、リグレッションも発生しませんでしたが、これらの追加プリフェッチはモバイルで有効にされませんでした。
Google 検索での推測のさらなる使用
Google は、この新しい API の試験運用をまだ終了していません。Google は、ウェブのブラウジングをできるだけ高速にすることを目標としています。他にもいくつかの機能の開発に取り組んでおります。
たとえば、Chrome では、プリロードを有効にしているユーザーに対して、Chrome のアドレスバーや Android の検索ボックスなどで検索クエリを入力したときに、事前レンダリングされた検索結果ページがリリースされます。これは Google 検索だけでなく、他の検索エンジンでも実装可能ですが、現時点では他の検索エンジンで実装されている例はありません。
Google 検索では、検索結果のリンク自体のプリレンダリングを実装する予定はありません。これは、クロスサイト ナビゲーションでは使用できないためです(同一サイトのクロスオリジン プリレンダリングを有効にする必要もあります)。
ブラウザのサポートに関する注意事項
Speculation Rules API は現在、Chromium ベースのブラウザで実装されていますが、Chrome は W3C 標準プロセスを通じて API 仕様を公開しており、他のブラウザでもこの API を実装することを強く推奨しています。
プライベート プリフェッチ プロキシは現在、Chrome にのみ実装されていますが、他の Chromium ベースのブラウザに独自のプライベート プリフェッチ プロキシが実装された場合は、Google 検索でもこれらの改善を導入する可能性があります。
非公開プリフェッチ プロキシを使用しないプリフェッチはプライバシーに影響するため、Google 検索ではこの技術をサポートしていないブラウザではプリフェッチを行いません。そのため、他のブラウザ向けに他の技術を使用したフォールバックを実装していません。ただし、これは段階的な機能強化であるため、これらのブラウザを使用しているユーザーは、このわずかな速度向上の恩恵を受けられないことを意味します。
サイトでお試しください。
Speculation Rules API は、Google 検索だけでなく、すべてのサイトで使用できます。ここで説明したプリフェッチ機能に加えて、プリレンダリングは、使用できるタイミングと場所によってさらに多くのメリットをもたらします。Google 検索などの大規模なサイトでは、この API がユーザー エクスペリエンスに明確なメリットをもたらしています。すべてのサイト所有者様に、この API の使用方法とそのメリットを検討することをおすすめします。
また、この投稿で詳しく説明したプライバシー保護機能は、他のサイトでも利用できます。ただし、Google 以外のサイトが Google の限定公開プリフェッチ プロキシを使用してトラフィックをルーティングできるようにするには、ユーザーが拡張プリロードのサポートを設定で有効にしている必要があります。これは、ユーザーとサイトの間に Google が追加の当事者として介入するためです。Google サイトの場合は、すでに当事者の 1 人であるため、この必要はありません。