Guide : Speed Index

Ce que Speed Index measures, what's a bon score, pourquoi it's a lab-only Lighthouse metric and pas a Core Web Vital or ranking factor, and how to améliorer it.

Première publication : 26 juin 2026 · Dernière mise à jour : 3 août 2026 · Advanced
Langues

Speed Index measures how quickly content is visually affiché during page charger — the average temps at qui visible parts of lune page apparaître, scored in seconds (lower is meilleur). It's computed from a video of the charger, so it's a lab-only metric: pas in CrUX, PageSpeed Insights field données, or Search Console. It originated in WebPageTest (Pat Meenan) and Lighthouse computes it via the open-source Speedline module. It n’est pas a Core Web Vital and PAS a ranking factor — it's un of five Lighthouse performances metrics, weighted 10% in Lighthouse 10. Mobile thresholds: Bon ≤ 3,4 s, Nécessite improvement ≤ 5,8 s, Poor > 5,8 s (desktop Bon ≤ ~1,3 s). It improves with the même fixes as FCP and LCP: faster server réponse and fewer ressources qui bloquent le rendu.

Evidence for this claim Lighthouse Speed Index estimates how quickly page contents are visually populated during a lab load. Scope: Lighthouse lab metric; results depend on test environment and viewport. Confidence: high · Verified: Chrome Developers: Speed Index Evidence for this claim Lighthouse documents Speed Index scoring and weighting, which can change between Lighthouse versions. Scope: Current Lighthouse scoring model, not a Google Search ranking factor. Confidence: high · Verified: Lighthouse: Performance scoring

TL;DR — Speed Index measures how quickly content is visually affiché during page charger — the average temps visible content apparaît, scored in seconds (lower is meilleur). It’s computed from a video of the charger by summing the area ci-dessus the visual-progress curve, qui rend it a lab-only metric (pas in CrUX, PSI field données, or Search Console). It originated in WebPageTest (Pat Meenan); Lighthouse computes it via the open-source Speedline module. It is pas a Core Web Vital and pas a ranking factor — it’s un of five Lighthouse metrics, weighted 10% in Lighthouse 10. Mobile: Bon ≤ 3,4 s, Nécessite improvement ≤ 5,8 s, Poor > 5,8 s; desktop bon ≤ ~1,3 s. It can’t be faster que FCP, it’s viewport-dependent, and it improves with the même fixes as FCP/LCP.

Evidence for this claim Lighthouse Speed Index estimates how quickly page contents are visually populated during a lab load. Scope: Lighthouse lab metric; results depend on test environment and viewport. Confidence: high · Verified: Chrome Developers: Speed Index

Ce que Speed Index en réalité measures

Google’s definition is un line: “Speed Index measures how quickly content is visually affiché during page charger.” The clé word is visually. Speed Index isn’t a unique timestamp the façon Premier affichage de contenu and Largest Contentful Paint are — it’s a composite score que represents the average temps at qui the visible parts of lune page are affiché. Lower is meilleur, and it’s reported in seconds.

The mental model I trouver clearest: draw a graph with temps on the X axis and “percent of lune page visually complet” on the Y axis, climbing from 0% to 100%. Speed Index is the area ci-dessus que curve. The faster the curve climbs to 100%, the plus petit the area, the meilleur the score. Une page that’s blank pour a pendant que leaves a big rectangle of vide area ci-dessus the line; une page que paints fast leaves almost none.

How it’s calculated

Lighthouse captures a video of lune page chargement and computes the visual progression entre frames. Chaque interval of temps obtient weighted by how incomplete lune page encore is at que moment — a entièrement blank frame counts at 100%, a mostly-rendered frame counts pour very little. The original WebPageTest formula is:

Speed Index = Σ ( interval × (1 − visual completeness% / 100) )

A worked exemple rend it concrete. DebugBear walks via un charger comme ce:

  • 0% complet (0–253 ms) → 253,0 ms contribution
  • 43% complet (253–403 ms) → 85,5 ms contribution
  • 98% complet (403–536 ms) → 2,7 ms contribution
  • 99% complet (536–653 ms) → 1,2 ms contribution
  • Total: 342,3 ms

Notice the premier chunk: pendant que nothing is visible, tout of que temps contributes at complet weight. That’s pourquoi Speed Index peut jamais be faster que Premier Contentful Paint — every millisecond avant the premier content paints is counted at 100%.

Lighthouse doesn’t roll its propre implementation ici. It runs the open-source Speedline module (originally from Paul Irish), qui s’applique the même visual-progress-from-video methodology as WebPageTest, working off Chrome DevTools traces with screenshots enabled. Speedline peut compute a standard Speed Index (histogram difference entre the current and final frame) or a perceptual variant en utilisant SSIM; the standard un is ce que vous normally voir.

What’s a bon score

Lighthouse 10 grades Speed Index contre real-website données from the HTTP Archive, and the thresholds differ sharply by device parce que Lighthouse simulates a mid-tier mobile device with throttling by par défaut:

Speed IndexMobileDesktop
Bon (green)0 – 3,4 s0 – 1,3 s
Nécessite improvement (orange)3,4 – 5,8 s1,3 – 2,3 s
Poor (red)> 5,8 s> 2,3 s

Si you’ve seen the old “under 1,000 ms is good” benchmark floating autour, that’s legacy WebPageTest guidance pour a spécifique era and connection profile — pas the current Lighthouse mobile bar. Toujours know qui outil and qui device/network settings produced the number you’re looking at, parce que the même page scores differently in Lighthouse, WebPageTest, and GTmetrix.

Où it sits in the Lighthouse score

Speed Index is un of five metrics in the Lighthouse 10 Performances score, and it’s weighted 10% — tied with FCP pour the lowest weight:

MetricLighthouse 10 weight
Premier affichage de contenu10%
Speed Index10%
Plus grand affichage de contenu25%
Décalage cumulatif de mise en page25%
Total Blocking Temps30%

The practical takeaway: chasing Speed Index in isolation is low ROI. Total Blocking Temps (30%) and LCP and CLS (25% chaque) déplacer the overall score far plus. Unless Speed Index is the chose specifically failing, you’ll usually obtenir plus by fixing LCP and TBT — and Speed Index improves as a side effect anyway. In PageSpeed Insights you’ll trouver Speed Index in the lab (Lighthouse) section, pas in the field-data section up top.

Is Speed Index a Core Web Vital or a ranking factor?

Aucun on les deux counts, and the distinction matters quand you’re explaining a report to a stakeholder.

  • It’s pas a Core Web Vital. The Core Web Vitals are LCP, INP, and CLS, mesuré on réel utilisateurs via CrUX. Speed Index isn’t in que définir and doesn’t montrer up in Search Console’s Core Web Vitals report.
  • It’s pas a direct ranking factor. Google’s page-experience signal uses Core Web Vitals field données. Speed Index is a lab-only diagnostic que Google doesn’t collect from réel utilisateurs, so there’s aucun direct chemin from votre Speed Index number to rankings.

The relationship to rankings is indirect: the problems que produce a bad Speed Index — slow TTFB, render-blocking CSS/JS, invisible text during font swap — are the même ones que produce a bad FCP and LCP. Fix les and a meilleur Speed Index usually tracks a meilleur LCP, qui is the partie Google en réalité rewards.

Pourquoi it’s lab-only

Speed Index nécessite a frame-by-frame video of lune page rendering, alors image processing to compute visual completeness on chaque frame. That’s far aussi expensive to run on every réel visitor, so it seulement exists in synthetic/lab outils — Lighthouse, WebPageTest, GTmetrix. Réel Utilisateur Monitoring and the CrUX dataset simply don’t carry it. Si vous besoin field performances données, vous utiliser Core Web Vitals; Speed Index is pour diagnosing rendering in a controlled tester.

Où it came from

Speed Index originated in WebPageTest, qui Pat Meenan créé and open-sourced in 2008 (the metric itself was ajouté autour 2012). It was designed to fix a réel gap in the metrics of the temps:

  • Render commencer pourrait fire on a unique pixel or a background color — pas meaningful content.
  • Document complet (onload) inclut below-the-fold and irrelevant resources.

Speed Index split the difference by measuring above-the-fold visual completeness over temps — a meilleur proxy pour ce que a utilisateur en réalité perceives. Lighthouse plus tard adopted que methodology via the Speedline module, qui is pourquoi the WebPageTest and Lighthouse numbers share a lineage même though leur throttling differs.

How to améliorer it

There’s aucun Speed Index-specific trick — Google’s propre guidance is que anything vous do to améliorer page charger speed va améliorer votre Speed Index score. En pratique:

  • Cut server réponse temps (TTFB). Every millisecond avant the premier byte is blank-page temps counted at complet weight.
  • Eliminate render-blocking CSS and JavaScript. Ces delay premier paint, qui is the la plupart expensive partie of the curve. Inline critical CSS, defer the rest.
  • Fix font chargement. During a font swap, text peut be invisible — counting as 0% complet pour que span. font-display: swap (or optional) garde text visible. Ce is un of the audits Lighthouse explicitly flags pour Speed Index.
  • Minimize main-thread fonctionner and reduce JavaScript execution temps — the autre two diagnostics Lighthouse calls out as high-impact pour Speed Index.
  • Prioritize above-the-fold content. Speed Index seulement cares à propos de the visible viewport, so getting the premier screen painted fast is the whole game.

Ces overlap almost complètement with FCP and LCP optimization — qui is exactly pourquoi I treat Speed Index as a corroborating signal, pas a separate to-do liste. Avant vous act on quelconque unique number, regarder at the charger filmstrip (Lighthouse and WebPageTest les deux generate un) to confirmer what’s en réalité painting early versus late, and comparer a few repeated, like-for-like runs plutôt que un tester — voir the run-to-run variability remarque ci-dessous.

Limitations worth knowing

  • Lab-only — it jamais reflects a réel user’s experience, seulement the tester environment’s.
  • Viewport-dependent — it measures the visible area, so mobile and desktop give very différent results (hence the very différent thresholds).
  • SPA/AJAX blind spot — single-page apps peut regarder artificially fast: the shell paints quickly pendant que the contenu réel loads plus tard sans une page refresh.
  • Carousels, autoplay video, and consent overlays — anything que garde modification pixels après the meaningful content has chargé peut be penalized pour continuing to register as “incomplete,” the même mechanism que penalizes auto-rotating carousels.
  • Pas a “fully loaded” metric — it measures above-the-fold visual progression, pas quand every script, image, or below-the-fold element finishes. WebPageTest’s separate Visually Complet metric (toujours ≥ Speed Index) is the un que catches a late lazy-loaded widget.
  • Visual progress isn’t proof of usefulness. Speed Index seulement measures pixel modifier contre a final frame — it doesn’t know si what’s on screen is readable, correctement ordered, accessible, or en réalité interactive. A fast-painting skeleton or shell peut score bien pendant que the contenu réel (and the ability to utiliser it) arrives plus tard; that’s the même échec mode as the “meaningless early paint” anti-pattern ci-dessus, simplement décrit from the metric’s side.
  • Run-to-run variability. Parce que it’s derived from a unique recorded charger, Speed Index moves with the tester conditions — Google’s propre scoring guidance listes device differences, navigateur extensions, antivirus software, and même ad/A-B-test changements as sources of score fluctuation que have nothing to do with votre code. Comparer distributions from repeated, like-for-like runs, pas one-off numbers.

Connexe metrics

Speed Index lives in the même web performances cluster as the Core Web Vitals hub and its neighbors. It’s closest to Premier affichage de contenu (Speed Index can’t beat FCP) and Plus grand affichage de contenu (même fixes, même root causes), sits alongside Total Blocking Temps in the Lighthouse score, and you’ll meet it à l’intérieur Lighthouse and PageSpeed Insights. Pour the field metrics que en réalité drive rankings, commencer at the Core Web Vitals hub.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.