Speculation Rules API : la navigation quasi instantanée
La Speculation Rules API précharge et prérend vos pages pour une navigation quasi instantanée. Guide d'implémentation, pièges et gains mesurés en 2026.
Sommaire
La Speculation Rules API prérend vos pages avant le clic de l'utilisateur — votre site multi-pages devient aussi fluide qu'une SPA en quelques lignes de JSON.
Cette promesse n'est plus théorique. Chrome supporte cette API depuis la version 109, Edge suit, et en 2026 la couverture dépasse 80 % des sessions desktop mondiales. Pourtant, la grande majorité des sites vitrine et e-commerce français l'ignorent encore.
Chez ConsilioWEB, nous avons déployé cette technologie sur plusieurs sites Next.js développés pour des PME en Corrèze et Nouvelle-Aquitaine. Les gains sur le LCP (Largest Contentful Paint) varient de 30 % à 60 % selon l'architecture et le type de site. Ce guide vous montre comment l'implémenter, quels pièges éviter et comment mesurer l'impact réel sur vos Core Web Vitals.
Pourquoi la navigation instantanée compte-t-elle pour l'UX et le SEO ?
La vitesse de navigation impacte directement les ventes et les classements Google. Ce n'est pas une hypothèse : les chiffres restent valides depuis des années.
Amazon a documenté dès 2012 que 100 ms de latence supplémentaire coûtent 1 % de chiffre d'affaires. Cloudflare a confirmé ce ratio en 2024 pour les sites e-commerce. Sur mobile, les utilisateurs abandonnent une page qui prend plus de 3 secondes à charger dans 53 % des cas, selon les données Google.
L'impact sur les Core Web Vitals
Google intègre les Core Web Vitals dans ses signaux de classement depuis 2021. Parmi eux, le LCP mesure le temps d'affichage du plus grand élément visible. Un LCP sous 2,5 secondes est jugé "bon". Au-delà de 4 secondes, vous perdez des positions.
L'INP (Interaction to Next Paint), devenu métrique officielle en mars 2024, mesure la réactivité globale. Une page prérendue en arrière-plan affiche un INP de navigation proche de zéro. L'utilisateur perçoit une réponse immédiate.
L'alternative aux frameworks SPA
Les frameworks comme React ou Vue offrent une navigation client ultra-rapide. Ils imposent en contrepartie un bundle JavaScript lourd et une architecture complexe.
La Speculation Rules API propose une alternative élégante. Elle précharge ou prérend les pages en HTML pur, sans contrainte de framework. Un site WordPress, Shopify, Astro ou Next.js en mode statique peut en bénéficier. Les études de Jakob Nielsen rappellent que 0,1 seconde suffit pour qu'un utilisateur perçoive une réponse comme instantanée. C'est précisément cet objectif.
Speculation Rules : comment ça marche
La Speculation Rules API est un mécanisme déclaratif. Vous décrivez dans un bloc JSON quelles URLs précharger ou prérendre, et selon quels critères. Le navigateur décide ensuite, selon ses ressources disponibles et le type de connexion.
Voici la structure minimale à insérer dans votre <head> :
1<script type="speculationrules">2{3 "prerender": [4 {5 "where": { "href_matches": "/produits/*" },6 "eagerness": "moderate"7 }8 ]9}10</script>
Ce bloc demande au navigateur de prérendre toutes les URLs commençant par /produits/. Simple. Efficace.
Les trois niveaux d'eagerness
Le paramètre eagerness contrôle quand le navigateur déclenche l'action :
conservative: déclenchement uniquement lors d'un survol prolongé. Ressources minimales consommées.moderate: déclenchement après environ 200 ms de survol. Bon compromis pour la plupart des sites.eager: déclenchement dès qu'un lien candidat apparaît dans le viewport. Maximum de prérendu, maximum de consommation.
Le niveau eager convient aux catalogues e-commerce denses avec des parcours prévisibles. Le niveau conservative est préférable pour un blog ou un site vitrine avec de nombreuses destinations potentielles.
Le cycle de vie d'une page prérendue
- Le navigateur détecte un lien candidat selon les règles JSON
- Il lance une requête HTTP discrète en arrière-plan
- Il parse le HTML, exécute le JavaScript et construit le DOM complet
- Lors du clic, il "active" la page déjà prête en mémoire
- L'utilisateur voit la page s'afficher en quelques dizaines de millisecondes
L'ensemble reste transparent. La page prérendue est invisible jusqu'à l'activation.

Prefetch vs prerender : choisir son niveau
La Speculation Rules API propose deux actions distinctes. Choisir la bonne est crucial pour l'équilibre performances / coûts serveur.
Action | Ce qui est fait | Ressources | Temps gagné |
|---|---|---|---|
| Télécharge le HTML et les ressources critiques | Faible | Réseau uniquement |
| Charge, parse et exécute la page entière | Élevé | Réseau + parse + JS |
Le prerender est nettement plus puissant. Lors du clic, la navigation est véritablement instantanée. Le navigateur active simplement une page déjà construite en mémoire. Avec le prefetch, le réseau ne bloque plus — mais le parse HTML et l'exécution JavaScript restent à faire au moment du clic.
Quand préférer le prefetch
Optez pour le prefetch dans ces situations :
- Pages avec fort trafic serveur (APIs tierces, calculs lourds)
- Sites avec de nombreuses destinations différentes (blog, documentation)
- Pages contenant des effets de bord au chargement (tracking, formulaires)
- Utilisateurs sur connexion mobile limitée
Quand utiliser le prerender
Le prerender convient parfaitement pour :
- Un tunnel de conversion à 2-3 étapes (panier → livraison → paiement)
- Les articles "suivant" dans une navigation linéaire
- Une landing page de campagne avec une destination unique et prévisible
Chrome limite d'ailleurs à 10 prerenders simultanés par défaut. En pratique, 2 à 3 prerenders actifs suffisent pour la grande majorité des cas.
Le lien avec le bfcache
Le bfcache (Back/Forward Cache) est un mécanisme distinct mais complémentaire. Il garde en mémoire la page visitée pour accélérer le retour arrière. La Speculation Rules API anticipe, elle, les pages futures. Les deux fonctionnent ensemble.
Pour que le bfcache reste actif, évitez les unload event listeners — ils le désactivent. Cette précaution améliore aussi la compatibilité avec le prerender.
Comment implémenter la Speculation Rules API pas à pas ?
Voici le workflow que nous appliquons sur les projets Next.js livrés à nos clients PME.
Étape 1 : cartographier les parcours prioritaires
Avant d'écrire une ligne, identifiez les transitions les plus fréquentes dans votre analytics :
- Quelle page suit la page d'accueil dans 80 % des sessions ?
- Quel est le chemin type dans le tunnel de conversion ?
- Y a-t-il une navigation "liste → fiche" évidente ?
Commencez par 2 ou 3 destinations prioritaires. Évitez de spéculer sur tout le site dès le départ.
Étape 2 : insérer les rules en Next.js
Dans un projet Next.js App Router, ajoutez le bloc dans votre layout principal :
1// app/layout.tsx2import Script from 'next/script'34const speculationRules = {5 prerender: [6 {7 where: { href_matches: "/produits/*" },8 eagerness: "moderate"9 }10 ],11 prefetch: [12 {13 where: { href_matches: "/*" },14 eagerness: "conservative"15 }16 ]17}1819export default function RootLayout({ children }) {20 return (21 <html>22 <head>23 <Script24 id="speculation-rules"25 type="speculationrules"26 dangerouslySetInnerHTML={{ __html: JSON.stringify(speculationRules) }}27 />28 </head>29 <body>{children}</body>30 </html>31 )32}
Cette configuration prérend les pages produit en mode modéré et précharge le reste du site en mode conservatif.
Étape 3 : combiner avec les View Transitions
La Speculation Rules API devient encore plus puissante couplée aux transitions fluides natives de la View Transitions API. Quand la page est déjà prérendue et que vous ajoutez une transition CSS, la navigation donne l'illusion d'une vraie SPA sans aucun routeur JavaScript.
1@view-transition {2 navigation: auto;3}
Cette seule ligne active les transitions entre documents. Le navigateur applique un fondu par défaut que vous pouvez personnaliser librement.
Étape 4 : définir les exclusions explicites
Certaines pages ne doivent jamais être prérendu. Ajoutez une règle "not" pour les protéger :
1{2 "prerender": [3 {4 "where": {5 "and": [6 { "href_matches": "/*" },7 { "not": { "href_matches": "/panier" } },8 { "not": { "href_matches": "/compte/*" } },9 { "not": { "href_matches": "/checkout/*" } }10 ]11 },12 "eagerness": "conservative"13 }14 ]15}
Excluez systématiquement les pages authentifiées, les pages de paiement et toute page qui déclenche une action au chargement.
Étape 5 : valider dans DevTools
Chrome DevTools > onglet Application > section Speculation Rules affiche en temps réel :
- Les règles actives et leur statut
- L'état de chaque URL (
eligible,pending,ready,failed) - Les raisons d'échec (
cross-origin,no-vary-search, etc.)
Vérifiez qu'aucune URL exclue ne se retrouve dans la liste active. Ouvrez ensuite l'onglet Network et filtrez sur "Prerender" pour confirmer les requêtes anticipées.
Les pièges : analytics, effets de bord, coûts
L'implémentation naïve introduit des effets secondaires non évidents. En voici les principaux.
Le double comptage analytics
C'est le piège le plus fréquent. Quand une page est prérendue, elle s'exécute — y compris votre script de tracking. Si vous enregistrez une page vue au chargement, vous doublez le compteur sans que l'utilisateur soit réellement arrivé.
La solution : retarder le tracking via document.prerendering.
1function trackPageView() {2 // votre code analytics ici3}45if (document.prerendering) {6 document.addEventListener('prerenderingchange', trackPageView)7} else {8 trackPageView()9}
Google Analytics 4 gère ce cas nativement depuis mi-2024. En revanche, les intégrations personnalisées et certains scripts tiers nécessitent encore ce patch manuel.
Les effets de bord à contrôler
Certaines actions ne doivent pas s'exécuter pendant le prérendu :
- Appels API payants : quotas consommés sans visiteur réel
- Connexions WebSocket : chats live, notifications temps réel
- Animations d'entrée : elles se jouent avant que l'utilisateur arrive
- Initialisations de formulaire : états créés côté serveur avant toute soumission
Utilisez document.prerendering comme garde systématique. Déclenchez ces scripts à l'événement prerenderingchange à la place.
Le coût serveur du prerender
Chaque prerender déclenche une vraie requête HTTP vers votre serveur. Si 1 000 utilisateurs sont sur votre site et que vous prérendez 3 pages par utilisateur, vous générez 3 000 requêtes supplémentaires.
Sur un serveur bien dimensionné, c'est négligeable. Sur un hébergement mutualisé avec quota serré, c'est un problème concret.
Deux stratégies pour limiter l'impact :
- Passer à
eagerness: "conservative"— seules les pages très probables sont traitées - Servir depuis un CDN — Cloudflare, Vercel Edge ou Fastly répondent en cache sans solliciter votre serveur
Pour les sites statiques générés avec Astro 5 ou Next.js en mode SSG, le prerender ne coûte rien côté serveur. Le CDN répond directement depuis le cache. C'est l'architecture idéale pour tirer le maximum de cette optimisation.
Les limites cross-origin
La Speculation Rules API ne précharge pas les URLs cross-origin par défaut. Si votre site redirige vers un sous-domaine différent, le prerender s'arrête à la redirection.
Depuis Chrome 121, l'en-tête Supports-Loading-Mode: credentialless permet le prerender cross-origin. Attention cependant : cette option désactive les cookies sur la page prérendue. À éviter pour les pages authentifiées ou les paniers e-commerce.
Mesurer les gains : LCP, INP et ressenti utilisateur
Implémenter sans mesurer, c'est piloter à l'aveugle. Voici comment quantifier l'impact réel sur vos métriques.
Les indicateurs clés à surveiller
- LCP : doit passer sous 2,5 s. Avec prerender, vous pouvez descendre sous 500 ms pour une navigation interne.
- FCP (First Contentful Paint) : premier pixel affiché — indicateur de réactivité perçue immédiate.
- INP : pour une page prérendue, l'INP de navigation descend à quasi zéro.
- TTFB (Time to First Byte) : atteint zéro sur une page prérendue — tout est déjà en mémoire.
CrUX et Google Search Console
Lighthouse mesure les métriques en conditions contrôlées. C'est utile pour valider une implémentation. Néanmoins, les métriques terrain via Chrome User Experience Report (CrUX) donnent la réalité de vos utilisateurs réels.
Comparez dans Google Search Console les Core Web Vitals avant et après l'implémentation. Le délai de rapport est de 28 jours glissants — soyez patient avant de tirer des conclusions.
Pour une mesure immédiate en JavaScript :
1new PerformanceObserver((list) => {2 list.getEntries().forEach(entry => {3 console.log('LCP navigation:', entry.startTime, 'ms')4 })5}).observe({ type: 'largest-contentful-paint', buffered: true })
Des résultats documentés sur des sites réels
Plusieurs études publiées en 2024-2025 montrent des résultats cohérents :
- E-commerce Rakuten Japan : −46 % sur le LCP des fiches produit après activation du prerender
- Sites d'actualité : LCP médian réduit de 2,1 s à 0,3 s sur les articles prérendus
- Sites vitrine B2B : amélioration de l'INP de 40 à 60 % avec prefetch seul
Sur nos propres projets Next.js, nous mesurons en moyenne un gain de 35 % sur le LCP terrain pour les pages internes sur mobile 4G.
Combiner avec d'autres optimisations
Cette API se complète naturellement avec le streaming SSR de React 19. Le prerender anticipe le chargement complet d'une page. Le streaming SSR réduit le TTFB initial. Combinés, les deux approches couvrent tous les scénarios — pages froides comme pages chaudes.
Par ailleurs, réduire la taille de vos bundles avec Vite 6 et Rolldown allège chaque requête prefetch. Moins de données à transférer, gains amplifiés.
Support navigateurs en 2026
Navigateur | Version minimale | Prefetch | Prerender |
|---|---|---|---|
Chrome | 109+ | ✅ | ✅ |
Edge | 109+ | ✅ | ✅ |
Opera | 95+ | ✅ | ✅ |
Firefox | — | ❌ | ❌ |
Safari | — | ❌ | ❌ |
En 2026, Chrome et Edge représentent environ 72 % des sessions mondiales sur desktop. Chrome Android ajoute 25 % sur mobile. La couverture effective dépasse 80 % pour la majorité des sites occidentaux.
L'absence de support Firefox et Safari n'est pas bloquante. La Speculation Rules API est une progressive enhancement : les navigateurs non compatibles ignorent simplement le bloc JSON. Aucun risque de régression.
Questions fréquentes sur la Speculation Rules API
Faut-il désactiver le prerender sur mobile pour préserver la data ?
Non, pas systématiquement. Chrome utilise l'API Network Information pour ajuster automatiquement le comportement selon la connexion. Sur une connexion save-data ou 2G, le prerender se désactive d'office. Vous pouvez aussi conditionner l'injection du bloc JSON en JavaScript selon navigator.connection.saveData avant de l'injecter dans le DOM.
Ça fonctionne avec WordPress ou Shopify ?
Oui. Insérez le bloc <script type="speculationrules"> dans votre <head> via le functions.php ou un plugin de performance. Chrome 112+ supporte aussi l'en-tête HTTP Speculation-Rules: "/rules.json" pour déléguer à un fichier JSON servi par votre serveur — idéal pour les CMS sans accès direct au code frontend.
Comment éviter de prérendre les pages admin ou compte client ?
Utilisez les règles "not" combinées aux "href_matches". Excluez les patterns /compte/*, /admin/*, /checkout/* et toute URL avec query string sensible. Toute page qui vérifie une session ou effectue une action au chargement doit être exclue explicitement.
Le prerender peut-il casser les animations d'entrée ?
Oui, si vos animations se déclenchent au DOMContentLoaded ou load — la page est déjà construite avant que l'utilisateur arrive. Écoutez plutôt prerenderingchange pour déclencher vos animations au bon moment. Vous pouvez aussi adopter des animations CSS scroll-driven, qui se basent sur le scroll et non sur le cycle de chargement.
Quelle différence avec <link rel="prerender"> ?
L'ancienne balise <link rel="prerender"> était non standard et dépréciée. La Speculation Rules API la remplace officiellement avec un contrôle bien plus fin : paramètre eagerness, conditions where, exclusions not et reporting natif dans DevTools. N'utilisez plus jamais l'ancienne balise sur de nouveaux projets.
Conclusion : un standard sous-exploité qui change la donne
La Speculation Rules API est l'une des rares optimisations web qui donne des résultats visibles sans refonte architecturale. Quelques lignes de JSON suffisent à transformer une navigation ordinaire en expérience quasi instantanée.
Les gains sur le LCP et l'INP sont mesurables, documentés et souvent spectaculaires. En revanche, une implémentation sans audit préalable introduit des effets de bord sur les analytics et les scripts tiers.
Combinée aux View Transitions pour des transitions fluides entre documents et à une architecture statique ou edge bien pensée, cette API place votre site au niveau des meilleures SPAs — sans leur complexité ni leur coût en JavaScript.
La distance entre "je lis cet article" et "mon LCP passe sous 1 seconde" est courte. Il suffit de poser les bons jalons dans le bon ordre.
Vous souhaitez implémenter la Speculation Rules API sur votre site et mesurer les gains concrets ? Notre équipe à Ussel audite votre architecture actuelle, identifie les parcours prioritaires et déploie la configuration adaptée à votre contexte — contactez-nous via le formulaire de devis.
Pour aller plus loin
- Spécification Speculation Rules — WICG : la spec officielle du Web Incubator Community Group
- Chrome for Developers — Prerender pages with Speculation Rules : documentation complète avec guide de débogage DevTools
- web.dev — Speculation Rules API : tutoriel pratique avec cas d'usage e-commerce et mesures de performance
- Chrome User Experience Report (CrUX) : pour mesurer l'impact terrain de vos optimisations sur les Core Web Vitals
Articles liés
Hébergement souverain : rapatrier votre site en Europe en 2026
Hébergement souverain en 2026 : pourquoi les PME quittent les clouds américains. CLOUD Act, RGPD, alternatives françaises et méthode de migration sans casse.
Lire →shadcn/ui : construire une interface pro sans repartir de zéro
shadcn/ui s'est imposé comme la base UI des projets React : composants copiés dans votre code, Tailwind, accessibilité Radix. Guide et cas concrets 2026.
Lire →Vibe coding : Lovable, v0, Bolt — promesses et réalité 2026
Vibe coding : créer son site par IA avec Lovable, v0 ou Bolt. Ce que ces outils font vraiment, la règle des 70/30, les risques et quand passer par un pro.
Lire →


