Speculation Rules (prefetch / prerender)

HTML / CSS 🔴 Senior

Définition

API qui indique au navigateur, dans un <script type="speculationrules"> JSON, quelles pages précharger (prefetch) ou pré-rendre entièrement (prerender) pour une navigation quasi instantanée. Livrée dans Chrome 109, les règles par document (where) dans Chrome 121. L'eagerness (immédiate, eager, moderate, conservative) règle l'agressivité. Non Baseline : Firefox et Safari ne l'implémentent pas entièrement.

Analogie

Le serveur qui prépare votre café dès qu'il vous voit vous diriger vers le comptoir.

Exemple de code

<script type="speculationrules">
{
  "prerender": [{
    "where": {
      "and": [
        { "href_matches": "/*" },
        { "not": { "href_matches": "/logout" } },
        { "not": { "selector_matches": ".no-prerender" } }
      ]
    },
    "eagerness": "moderate"
  }]
}
</script>

Cas d'usage

Sites multipages (e-commerce, médias) où le clic suivant est prévisible : LCP proche de zéro sur la page cible.

Anti-pattern

Pré-rendre des pages à effets de bord (déconnexion, ajout au panier) ou tout un site en immédiate : coût serveur et données.
#performance#advanced

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre