Aller au contenu principal
Performance

Speculation Rules : accélérer le web sans biaiser le SEO

Les Speculation Rules accélèrent les navigations. Découvrez comment les déployer sans fausser vos mesures, vos logs ni le crawl de Google.

Par Julien Morel 7 min de lecture
Speculation Rules : accélérer le web sans biaiser le SEO

Les Speculation Rules permettent à un navigateur compatible d’anticiper une navigation probable. Plutôt que d’attendre le clic, il peut récupérer à l’avance une page avec le prefetch, ou préparer son rendu avec le prerender. Le bénéfice attendu est simple : réduire l’attente ressentie entre l’action de l’internaute et l’affichage de la page suivante.

Pour un site éditorial, e-commerce ou SaaS, ce mécanisme est particulièrement intéressant sur les parcours internes prévisibles : article suivant, fiche produit liée, page de comparaison, tunnel de conversion ou espace connecté. Mais il modifie aussi la nature du trafic observé. Une requête présente dans les logs n’est plus nécessairement une page réellement vue. Un hit CDN peut provenir d’une navigation spéculative qui ne sera jamais activée. Une balise analytics peut, si elle est mal intégrée, enregistrer une visite avant même que l’utilisateur ait choisi de consulter la page.

Le bon angle SEO n’est donc pas de présenter les Speculation Rules comme une technique de positionnement. Elles sont avant tout un levier de performance de navigation côté navigateur. Leur déploiement demande en revanche une lecture plus fine des logs, du cache, des événements de mesure et des parcours réellement empruntés.

Speculation Rules : de quoi parle-t-on exactement ?

Les Speculation Rules sont déclarées dans une page HTML au moyen d’un script JSON portant le type speculationrules. Elles indiquent au navigateur quelles URL il peut charger de manière anticipée, selon des règles définies par le site.

Le mécanisme est standardisé pour laisser le navigateur décider de l’exécution effective. Une règle n’est donc pas une garantie qu’une ressource sera récupérée ou qu’une page sera prérendue : le navigateur conserve la main selon le contexte, ses limites de ressources, le réseau, les préférences de l’utilisateur et la compatibilité des pages concernées.

Il faut surtout distinguer trois notions souvent mélangées.

  • Le preload charge à l’avance une ressource nécessaire à la page courante, par exemple une police, une image principale ou une feuille de style. Il se déclare généralement avec rel="preload". Son objectif est d’améliorer le chargement de la page déjà demandée.
  • Le prefetch récupère une ressource ou un document susceptible d’être utile pour une navigation future. Avec les Speculation Rules, il vise notamment le document HTML d’une page interne.
  • Le prerender va plus loin : le navigateur charge et prépare une page candidate avant la navigation. Si l’internaute choisit finalement cette destination, la page peut être activée avec beaucoup moins d’attente visible.

Les Speculation Rules concernent donc d’abord la prochaine page, pas l’optimisation des ressources critiques de la page actuelle. Elles ne remplacent ni une stratégie de cache, ni l’optimisation des images, ni le travail sur les scripts tiers, ni le suivi des Core Web Vitals.

La documentation de Chrome Developers sur le prerender et celle de MDN sur la Speculation Rules API constituent de bonnes références techniques pour vérifier l’état du support et les contraintes du navigateur ciblé.

Prefetch et prerender : un gain potentiel, mais pas le même coût

Le prefetch est généralement le point de départ le plus raisonnable. Le navigateur récupère le document d’une URL pressentie afin de pouvoir le réutiliser au moment de la navigation. Cela peut réduire le délai nécessaire pour obtenir le HTML, sans pour autant équivaloir à une page entièrement prête à être affichée.

Le prerender prépare davantage d’éléments de la destination. Son potentiel sur l’expérience perçue est donc plus élevé, mais son coût l’est aussi : bande passante, capacité du serveur d’origine, charge CDN, exécution éventuelle de JavaScript et pression supplémentaire sur les outils de mesure.

Un exemple minimal de règle explicite peut cibler une page unique, connue et peu risquée :

<script type="speculationrules">
{
  "prefetch": [
    { "urls": ["/guide/"] }
  ]
}
</script>

Une telle configuration est plus simple à auditer qu’une règle large appliquée à tous les liens du site. Elle permet de vérifier comment le CDN, le serveur, les cookies, les redirections et les outils analytics réagissent avant d’étendre le périmètre.

Le prerender mérite une sélection encore plus stricte. Il est pertinent lorsque la destination est fortement probable et qu’elle ne déclenche pas d’effet de bord. Une page de contenu, une fiche produit stable ou une page de tarifs peuvent être de bons candidats selon le parcours réel. À l’inverse, une URL qui modifie un panier, déconnecte un utilisateur, déclenche une action métier, génère un jeton unique ou lance une opération via une requête GET ne doit pas être prérendue.

Cette dernière règle est saine même sans Speculation Rules : une requête HTTP GET doit rester sûre et ne pas produire d’action irréversible. La navigation spéculative révèle simplement plus vite les défauts de conception où une simple consultation d’URL modifie l’état d’une application.

Ce que les requêtes spéculatives changent dans les logs serveur

Dans un fichier de logs, une requête de prefetch ou de prerender peut ressembler à une visite classique : même URL, même code HTTP, même navigateur, parfois même utilisateur authentifié. Si l’analyse se limite au nombre de requêtes par URL, les pages ciblées peuvent paraître plus demandées qu’elles ne le sont réellement.

Les navigateurs Chromium peuvent transmettre des en-têtes permettant d’identifier l’intention spéculative, notamment Sec-Purpose. Selon le cas, des valeurs telles que prefetch ou une combinaison incluant prerender peuvent être présentes. Des implémentations ou contextes plus anciens peuvent aussi utiliser l’en-tête Purpose: prefetch.

Ces signaux sont utiles, mais ils ne doivent pas être traités comme une vérité isolée. Les en-têtes effectivement reçus dépendent du navigateur, du type de navigation, des redirections et de l’infrastructure. La première étape consiste donc à les journaliser, quand la configuration du serveur ou du CDN le permet, puis à observer les requêtes réelles sur un échantillon.

Pour une analyse exploitable, séparez au minimum :

  • les requêtes avec un User-Agent de navigateur humain ;
  • les requêtes identifiées comme préchargées ou prérendues via les en-têtes disponibles ;
  • les navigations ordinaires vers les mêmes URL ;
  • les visites de robots, dont Googlebot ;
  • les réponses par statut HTTP, par type de contenu et par durée de traitement.

Cette segmentation évite une erreur fréquente : interpréter l’augmentation des hits sur certaines pages comme une hausse organique, une meilleure découverte interne ou un effet de campagne. Avec des règles actives sur des liens visibles, une partie de la hausse peut seulement correspondre à des téléchargements anticipés non suivis d’une activation.

Le sujet rejoint directement les méthodes présentées dans notre guide sur les fichiers de logs SEO et le crawl de Googlebot. Les logs restent la source la plus proche du serveur, mais ils exigent ici une dimension supplémentaire : distinguer une requête de navigation potentielle d’une consultation effective.

CDN, cache et origine : anticiper une hausse de trafic utile… ou inutile

Une requête spéculative traverse souvent la même chaîne qu’une navigation standard : CDN, WAF, reverse proxy, cache applicatif, serveur d’origine et services tiers. Si une page est bien mise en cache au CDN, un prefetch peut être absorbé avec un coût limité pour l’origine. Si elle est dynamique, personnalisée ou systématiquement en cache bypass, les conséquences peuvent être plus visibles.

Avant activation, examinez dans votre CDN ou votre observabilité :

  • le volume de requêtes par URL ciblée ;
  • le ratio de cache hit et cache miss ;
  • la charge sur l’origine et les temps de réponse ;
  • les codes 3xx, 4xx et 5xx ;
  • les règles WAF ou anti-bot qui pourraient interpréter ce trafic comme anormal ;
  • la présence éventuelle d’une personnalisation selon les cookies ou les en-têtes.

Cloudflare, Fastly, Akamai ou Amazon CloudFront offrent tous, avec des modalités différentes, des journaux ou métriques permettant d’observer la distribution entre cache et origine. Le principe ne change pas : une navigation anticipée vers une page qui ne sera pas consultée représente un coût. Il faut donc réserver les règles les plus ambitieuses aux pages à forte probabilité de clic et à faible coût technique.

Les redirections méritent une attention particulière. Une URL interne qui redirige vers une destination canonique, une version localisée ou une URL avec paramètres n’est pas forcément un bon candidat. Le navigateur peut devoir suivre la redirection, tandis que vos métriques répartissent les hits entre plusieurs URL. Avant d’ajouter une règle, il est préférable de viser l’URL finale, canonique et accessible directement.

Ne modifiez pas non plus les directives de cache uniquement pour “faire fonctionner” les Speculation Rules. Les en-têtes HTTP doivent d’abord correspondre à la nature de la page et à vos contraintes de confidentialité. Une réponse personnalisée ne doit pas être mise en cache publiquement parce qu’un gain de navigation semble prometteur.

Speculation Rules et SEO : aucune instruction donnée à Googlebot

Les Speculation Rules ne sont ni une balise SEO, ni une directive de crawl, ni un signal de classement documenté par Google. Elles indiquent à un navigateur compatible comment anticiper une possible navigation d’utilisateur. Elles ne demandent pas à Googlebot d’explorer plus vite, plus profondément ou plus souvent les URL déclarées.

Il serait donc erroné d’en déduire qu’ajouter des dizaines ou des centaines d’URL dans des règles de speculation améliore leur indexation. Pour aider les moteurs à découvrir et comprendre les pages importantes, les leviers restent les fondamentaux : liens HTML crawlables, architecture interne, sitemap XML, codes HTTP corrects, contenu accessible, canonicals cohérentes et directives robots adaptées.

Sur ce point, il faut conserver les distinctions essentielles entre robots.txt, noindex et canonical. Une règle de prerender ne rend pas une URL indexable. Elle ne neutralise pas un noindex, ne contourne pas un blocage robots.txt et ne remplace pas une canonical.

Googlebot peut rendre des pages lorsque cela est nécessaire à son processus d’indexation, mais il ne faut pas assimiler ce rendu à l’usage d’un navigateur humain suivant un parcours de clics. En pratique, considérez toute requête identifiée comme Googlebot dans vos logs comme une activité de crawl à analyser séparément. Considérez les requêtes spéculatives identifiées par leurs en-têtes comme du trafic de navigation navigateur. Mélanger les deux catégories fausse l’interprétation du budget de crawl.

Le bénéfice SEO éventuel est indirect : une expérience de navigation plus fluide peut aider un utilisateur à poursuivre sa visite, à consulter plus de contenus ou à convertir. Ces effets dépendent du produit, de l’interface et de la pertinence des pages proposées. Ils ne justifient pas d’attribuer aux Speculation Rules un impact direct sur les positions.

Analytics : éviter les pages vues et conversions fantômes

Le point le plus sensible est souvent la mesure. Une page prérendue peut exécuter du code avant son activation effective. Si votre implémentation envoie immédiatement une page vue, un événement de lecture, une impression publicitaire ou un événement de conversion, vous risquez de compter une interaction qui n’a jamais eu lieu.

Les navigateurs exposent des mécanismes liés au cycle de vie du prerender, notamment document.prerendering et l’événement prerenderingchange. Ces éléments permettent aux développeurs de différer certaines opérations jusqu’à l’activation de la page. Les outils de mesure, le gestionnaire de consentement et le code applicatif doivent être testés dans ce contexte précis.

Dans une architecture utilisant Google Tag Manager, Google Analytics, Matomo, Piano Analytics ou un outil maison, vérifiez concrètement :

  • à quel moment la page vue est envoyée ;
  • si l’outil détecte ou non une page en prerender ;
  • si les événements automatiques de scroll, d’engagement ou de visibilité sont déclenchés avant activation ;
  • si une conversion peut partir à partir d’un simple chargement ;
  • si le consentement est correctement respecté dans cet état ;
  • si l’activation provoque un doublon de page vue ou, au contraire, l’absence de mesure.

Les données de performance demandent la même prudence. Une page prérendue activée peut sembler extrêmement rapide dans les outils RUM, ce qui est précisément le but pour l’utilisateur. Mais comparer ce résultat à une navigation classique sans segmenter les modes de navigation peut produire une conclusion trompeuse sur l’effet d’une optimisation serveur ou front-end.

Le navigateur expose également des informations de timing pour les navigations ; les équipes techniques peuvent s’appuyer sur les API de performance pour identifier les navigations concernées dans leur instrumentation. L’important est de conserver deux lectures : la performance de la navigation activée pour l’utilisateur, et le coût total incluant les tentatives spéculatives abandonnées.

Une méthode de déploiement progressive et mesurable

Le déploiement doit commencer par un périmètre limité, stable et observable. Évitez de poser une règle globale sur tous les liens internes d’une page d’accueil, d’un menu ou d’un catalogue. Sur un site e-commerce, cela pourrait produire un volume considérable de demandes pour des fiches que les visiteurs ne consulteront jamais.

Une méthode pragmatique peut suivre les étapes suivantes :

  • Cartographier les parcours : utilisez vos données analytics et vos liens internes pour identifier une destination fréquemment choisie après une page donnée.
  • Écarter les URL à risque : comptes, panier, paiement, recherche interne, pages avec données sensibles, opérations métier et pages instables doivent rester hors périmètre.
  • Commencer par le prefetch : testez quelques URL explicites ou un ensemble très restreint avant d’envisager le prerender.
  • Tester hors production : contrôlez les en-têtes, les redirections, les cookies, les réponses de cache et le comportement des scripts de mesure.
  • Déployer sur une fraction du trafic : une expérimentation contrôlée facilite la comparaison avec un groupe non exposé.
  • Observer les logs et le CDN : mesurez le trafic supplémentaire, les cache misses, la charge origine et les éventuels statuts anormaux.
  • Vérifier l’analytics : rapprochez les requêtes serveur des pages vues et des activations réelles, sans confondre les indicateurs.
  • Étendre seulement si le bilan est positif : le gain de fluidité doit être proportionné au coût de trafic et à la complexité de mesure.

Surveillez également les réponses 429 Too Many Requests. Une stratégie de limitation mal configurée pourrait affecter des navigateurs légitimes qui effectuent des navigations anticipées, en plus des robots. Notre article consacré au HTTP 429 et à la limitation des bots aide à séparer la protection de l’infrastructure du blocage involontaire de trafic utile.

Les indicateurs à suivre après mise en ligne

Le succès ne se mesure pas avec une seule métrique. Un temps de navigation perçu en baisse est positif, mais il doit être mis en regard du taux d’activation des pages spéculées, de l’augmentation de trafic et de la qualité des données.

Construisez un suivi combinant les indicateurs suivants :

  • Taux d’activation : part des pages spéculativement demandées qui deviennent effectivement des navigations utilisateur.
  • Requêtes supplémentaires : évolution du volume HTTP sur les URL concernées, en distinguant navigateur, préchargement et bots.
  • Coût cache/origine : cache hit ratio, requêtes à l’origine, CPU, latence et erreurs serveur.
  • Qualité de la navigation : temps perçu lors de la transition, abandons, poursuite du parcours et conversions réellement validées.
  • Fiabilité analytics : écarts entre chargements, pages vues, sessions et événements avant/après déploiement.
  • Stabilité SEO : évolution distincte du crawl Googlebot, de l’indexation et de la visibilité, sans attribuer mécaniquement une variation aux Speculation Rules.

Une hausse de requêtes sans amélioration mesurable des parcours est un signal pour réduire le périmètre. À l’inverse, un petit groupe de pages dont l’activation est fréquente, bien servies par le cache et correctement mesurées peut justifier une extension progressive.

Conclusion : accélérer les clics, conserver des données fiables

Les Speculation Rules peuvent rendre certaines navigations nettement plus fluides, surtout lorsque le prochain clic est prévisible. Elles ne modifient pas les règles du crawl de Googlebot et ne constituent pas un raccourci vers de meilleurs classements. Leur valeur se situe dans l’expérience navigateur.

Le déploiement réussi repose sur une sélection stricte des URL, des pages sans effets de bord, une instrumentation analytics compatible avec le prerender et une analyse segmentée des logs et du CDN. Commencez avec quelques parcours internes à forte intention, puis validez le rapport entre gain utilisateur, trafic additionnel et fiabilité des mesures avant de généraliser.