Publié le 12 février 2025
La recherche Google est l'un des sites les plus populaires sur le Web, et aussi l'un des plus rapides. L'équipe chargée de la recherche investit continuellement pour accélérer l'expérience de recherche. Sur une page aussi populaire que la recherche Google, même des millisecondes d'amélioration s'additionnent rapidement. Cet intérêt pour la rapidité inclut la page d'accueil Google, la page de résultats de recherche (SERP) et les clics vers d'autres sites à partir de ces résultats de recherche.
La recherche Google utilise l'API Speculation Rules pour améliorer la vitesse de navigation entre la page de résultats de recherche et les liens de résultats. Elle utilise également quelques fonctionnalités de l'API qui pourraient intéresser d'autres propriétaires de sites.
Préchargez les deux premiers résultats.
L'une des premières utilisations des règles de spéculation consistait à précharger les deux premiers résultats de recherche. Par exemple, la recherche de "test" inclut la règle de spéculation suivante sur la page:
{
"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"
]
}]
}
Les deux URL en bas correspondent aux deux premiers résultats de recherche. Elles sont immédiatement préchargées. Si l'utilisateur clique dessus, il aura un avantage, car le document HTML devrait déjà être disponible pour le navigateur.
La règle et les tentatives de préchargement sont visibles dans l'onglet "Application" de DevTools -> "Speculation" (comme indiqué précédemment) :

Préchargements respectueux de la confidentialité
Étant donné que ces liens renvoient vers du contenu sur d'autres sites, le préchargement doit prendre en compte des considérations supplémentaires en matière de confidentialité, car l'utilisateur n'a pas encore visité ces sites.
Heureusement, l'API a été conçue dans cet esprit, et la recherche Google utilise deux fonctionnalités pour préserver la confidentialité des utilisateurs.
La première consiste à utiliser la configuration requires
pour vous assurer que les préchargements utilisent le proxy de préchargement privé dans Chrome:
"requires": [
"anonymous-client-ip-when-cross-origin"
],
Un proxy est utilisé pour s'assurer que la connexion anonymise l'adresse IP afin que nous ne divulguions pas l'adresse IP de l'utilisateur au site avant qu'il ne clique sur le lien pour y accéder depuis la page de résultats de recherche.
Deuxièmement, le moteur de recherche Google utilise le paramètre referrer_policy
pour s'assurer qu'aucun détail encodé dans l'URL de la page de recherche n'est envoyé au site dans l'en-tête HTTP referer
:
"referrer_policy": "strict-origin",
La plupart des navigateurs utilisent désormais strict-origin-when-cross-origin
par défaut, mais ce paramètre utilise un paramètre plus strict pour utiliser la règle de référence strict-origin
, même pour les préchargements de même origine.
Une troisième protection est automatiquement appliquée si l'utilisateur dispose de cookies pour le site. Dans ce cas, les résultats peuvent être différents en fonction de ces cookies, et Chrome n'utilisera pas le code HTML préchargé:

Cela signifie que les utilisateurs disposant de cookies ne bénéficieront pas des performances améliorées du préchargement lorsqu'ils cliqueront sur ce site, mais la protection de la confidentialité et les chargements de pages précis sont prioritaires. De plus, si un utilisateur a déjà visité un site et qu'il dispose de cookies pour ce site, il est plus susceptible de voir certains éléments de ce site mis en cache et de bénéficier d'un chargement de page plus rapide, même sans préchargement.
Impact du préchargement des deux premiers résultats sur les utilisateurs
Comme pour la plupart des modifications, la recherche Google a déployé le préchargement dans un test A/B et a mesuré son impact. Ils ont constaté des améliorations significatives au niveau du Largest Contentful Paint (LCP). Dans Chrome pour Android, le LCP pour les clics provenant de la recherche Google a été réduit de 67 millisecondes. Un lancement ultérieur pour Chrome pour ordinateur a permis d'améliorer le LCP de 58,6 millisecondes. Il s'agit d'améliorations apportées au site vers lequel les utilisateurs accèdent, et non au site de la recherche Google lui-même. Toutefois, ces améliorations profitent aux utilisateurs de la recherche Google.
Ces améliorations du LCP peuvent sembler insignifiantes, mais pour un site hyper-optimisé comme la recherche Google, nous nous réjouissons de chaque milliseconde gagnée par nos utilisateurs. Des améliorations de l'ordre de dizaines de millisecondes sont donc inhabituelles ! Votre site peut en bénéficier de manière beaucoup plus importante. Essayez-le pour le savoir !
Le préchargement à l'aide de règles de spéculation est activé par défaut dans la recherche sur Android depuis octobre 2022 et a été déployé sur ordinateur de bureau d'ici septembre 2024.
Au-delà des deux premiers résultats
Depuis le lancement initial de l'API Speculation Rules, elle a été améliorée avec une propriété d'impatience qui permet aux spéculations de ne se produire que lorsque l'utilisateur pointe sur un lien ou commence à cliquer dessus.
La recherche Google a décidé d'aller au-delà des deux premiers résultats de recherche et de précharger les résultats restants, mais uniquement lorsque l'utilisateur pointe sur le lien, à l'aide du paramètre d'impatience moderate
. Cela évite de gaspiller inutilement des ressources pour les liens sur lesquels les utilisateurs sont moins susceptibles de cliquer.
Encore une fois, la règle est visible dans DevTools lorsque vous effectuez une recherche dans Chrome. Elle est identique à la règle précédente, mais cette fois, l'option "eagerness": "moderate"
est définie:

Si vous pointez sur ces liens, le préchargement est déclenché. Notez que la recherche Google liste explicitement les URL au lieu d'utiliser la fonctionnalité de règles de document de l'API Speculation Rules, car elle ne souhaite pas précharger d'autres URL comme les annonces.
Impact sur les utilisateurs de la précharge au-delà des deux premiers résultats
Chrome pour ordinateur a réduit le First Contentful Paint (FCP) pour les navigations depuis la recherche Google de 7,6 millisecondes et le LCP de 9,5 millisecondes (comme l'ont montré les tests A/B). Ces gains sont moins importants que les 58,6 millisecondes gagnées pour les deux premiers résultats, mais ce n'est pas surprenant compte tenu du délai d'exécution plus court, car ils ne sont pas préchargés aussi rapidement. Cependant, ces gains restent intéressants pour les mêmes raisons que celles évoquées précédemment.
Le préchargement des résultats de recherche restants sur ordinateur a été déployé par défaut en décembre 2024.
Pour les appareils mobiles, où le survol n'est généralement pas disponible, aucune amélioration réelle n'a été constatée. Par conséquent, bien qu'il n'y ait pas eu de régressions, ces préchargements supplémentaires n'ont pas été activés sur les appareils mobiles.
Utilisation supplémentaire de spéculations pour la recherche Google
Google n'a pas fini de tester cette nouvelle API passionnante. Notre objectif est de rendre la navigation sur le Web aussi rapide que possible. Nous avons d'autres astuces en réserve sur lesquelles nous travaillons.
Par exemple, Chrome déploie des pages de résultats de recherche prérendues (pour les utilisateurs dont le préchargement est activé) lorsqu'ils saisissent des requêtes de recherche dans la barre d'adresse de Chrome et dans d'autres emplacements, comme le champ de recherche sur Android. Cette fonctionnalité est également disponible pour les autres moteurs de recherche, et pas seulement pour la recherche Google. Toutefois, nous n'avons pas connaissance d'implémentations pour d'autres moteurs de recherche pour le moment.
La recherche Google ne cherche pas à aller plus loin et à implémenter le préchargement pour les liens de résultats eux-mêmes, car cette fonctionnalité n'est pas disponible pour la navigation intersites (et doit même être activée pour les préchargements inter-origines et sur le même site).
Remarque concernant la compatibilité des navigateurs
L'API Speculation Rules est actuellement implémentée dans les navigateurs basés sur Chromium, mais Chrome publie la spécification de l'API via le processus de normalisation du W3C et souhaite que d'autres navigateurs l'implémentent.
Le proxy de préchargement privé n'est actuellement implémenté que dans Chrome et non dans les autres navigateurs basés sur Chromium. Toutefois, si d'autres navigateurs implémentent leur propre proxy de préchargement privé, la recherche Google pourrait également implémenter ces améliorations.
En raison des implications de la précharge sans proxy de précharge privé sur la confidentialité, la recherche Google ne précharge pas les navigateurs qui ne prennent pas en charge cette technologie. Elle n'a donc pas implémenté de solution de remplacement utilisant d'autres technologies pour les autres navigateurs. Toutefois, comme il s'agit d'une amélioration progressive, cela signifie simplement que les utilisateurs de ces navigateurs ne bénéficient pas de cette petite augmentation de vitesse.
Essayez-la sur votre site !
L'API Speculation Rules est disponible pour tous les sites, et pas seulement pour la recherche Google. En plus des fonctionnalités de préchargement abordées ici, le prérendu offre d'autres avantages lorsque et où il peut être utilisé. Les grands sites comme la recherche Google montrent clairement les avantages de cette API pour l'expérience utilisateur. Nous encourageons donc tous les propriétaires de sites à découvrir comment l'utiliser et à en tirer potentiellement profit.
De plus, les protections de la confidentialité décrites dans cet article sont également disponibles pour d'autres sites. Toutefois, les utilisateurs doivent avoir activé la compatibilité avec le préchargement étendu dans leurs paramètres pour permettre aux sites autres que Google de router le trafic à l'aide du proxy de préchargement privé de Google. En effet, Google devient une partie supplémentaire entre l'utilisateur et le site, ce qui n'est pas nécessaire sur les sites Google, car ils font déjà partie des parties impliquées.