PageSpeed Insights (PSI)

PageSpeed Insights reports both real-user field data (CrUX) and a Lighthouse lab score. Only the field Core Web Vitals matter for ranking — the 0–100 score doesn't.

First published: Jun 26, 2026 · Last updated: Jul 18, 2026 · Advanced
demand #3 in Web Performance Tools#3 in Web Performance#8 in Technical SEO#14 on the site

PageSpeed Insights (PSI) at pagespeed.web.dev reports two different things for a URL: real-user field data from the Chrome UX Report (which drives the Passed/Failed Core Web Vitals Assessment at p75) and a single Lighthouse lab run (the 0–100 Performance score plus diagnostics). The 0–100 score is lab data and is NOT what Google ranks on — ranking uses the field Core Web Vitals (LCP, INP, CLS). The score also swings run-to-run, so run it a few times. Use field data to know where you stand and lab diagnostics to find what to fix.

TL;DR — PSI (pagespeed.web.dev) reports two independent analyses of one URL: field dataPerformance metrics captured from real users, not lab tests. from the Chrome UX ReportChrome User Experience Report — Google's public dataset of real-world (field) performance data from eligible Chrome users. It's the official field-data source behind the Core Web Vitals program. — real users over a rolling 28 days, which drives the Passed/Failed Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data. Assessment at the 75th percentile — and lab data, a single LighthouseLighthouse is Google's free, open-source tool that audits a page under simulated lab conditions and scores it 0–100 across Performance, Accessibility, Best Practices, and SEO. It's lab data — useful for debugging, not a ranking signal. run giving the 0–100 Performance score plus diagnostics. The 0–100 score is lab data and is not a ranking factor; ranking uses the field Core Web VitalsGoogle's three real-user UX metrics — LCP (loading), INP (responsiveness), and CLS (visual stability) — used by Google's ranking systems, with no official weight attached, measured on field data. (LCPLargest Contentful Paint — render time of the largest visible image or text block, relative to when the page started loading. ≤2.5 s (at the 75th percentile) is good./INPInteraction to Next Paint — the input-to-paint latency at the 75th percentile of a page's interactions. ≤200 ms is good./CLSCumulative Layout Shift — a unitless score for unexpected visual movement, taken from the largest burst (session window) of layout shifts, not the lifetime sum. ≤0.1 is good.). Field data needs enough CrUXChrome User Experience Report — Google's public dataset of real-world (field) performance data from eligible Chrome users. It's the official field-data source behind the Core Web Vitals program. samples (URL-level, falling back to origin-level, else “No data”). The lab score is also variable run-to-run — run it a few times. PSI is the web UI; LighthouseLighthouse is Google's free, open-source tool that audits a page under simulated lab conditions and scores it 0–100 across Performance, Accessibility, Best Practices, and SEO. It's lab data — useful for debugging, not a ranking signal. is the engine; Search ConsoleA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results.’s report is yet another CrUX view.

PSI is two tools wearing one coat

The single most important thing to understand about PageSpeed InsightsPageSpeed Insights (PSI) is a free Google tool at pagespeed.web.dev that reports two kinds of data for a URL: real-user field data from the Chrome UX Report and a single Lighthouse lab run with the 0–100 Performance score. Only the field Core Web Vitals are what Google uses for ranking. is that it’s not one analysis — it’s two, surfaced in one interface. web.dev puts it cleanly: “PSI is a tool that reports field data from CrUX and lab from Lighthouse for a given page.” Those two halves come from different systems, measure different things, and matter for different reasons. Conflate them and nearly every PSI question becomes confusing; keep them separate and it all clicks.

Evidence for this claim PageSpeed Insights combines CrUX field data with Lighthouse lab diagnostics for a tested public URL. Scope: Current PageSpeed Insights data sources and report structure. Confidence: high · Verified: Google Developers: About PageSpeed Insights
Field dataLab data
SourceChrome UX Report (real Chrome users)Lighthouse (one simulated run)
ShowsCore Web VitalsWeb Vitals is Google's initiative (launched May 2020) for unified page-experience quality signals. Core Web Vitals — LCP, INP, and CLS — are the subset used in ranking; the rest (TTFB, FCP, TBT, Speed Index) are diagnostic, not ranking factors. Assessment + p75 values0–100 Performance score + diagnostics
Device / networkReal user devices and connectionsEmulated mid-tier mobile or desktop, throttled
WindowRolling 28 daysA single point-in-time snapshot
UpdatesDailyEvery run
Ranking impactYes — Google’s page-experience ranking systems use CrUX field dataNo — not documented as a ranking signal

Field data: what real users experienced

The top section — “Discover what your real users are experiencing” — is powered by the Chrome UX Report (CrUX). web.dev describes the CrUX API as giving “low-latency access to aggregated real-user experience data at page and origin granularity” as a “28-day rolling average.” PSI updates daily; the BigQuery CrUX dataset releases monthly.

A few mechanics that matter:

  • The Core Web Vitals Assessment is Passed/Failed at p75. Per Chrome’s docs, “to pass, the percentile must be categorized as ‘good’ in all three Core Web Vitals. Otherwise, the assessment appears as ‘failed’.” The three are Largest Contentful Paint (good < 2.5s), Interaction to Next Paint (good < 200ms), and Cumulative Layout Shift (good < 0.1). PSI also shows FCPFirst Contentful Paint — the time from when a page starts loading to when any part of its content (text, image, SVG, or non-white canvas) first renders. Good is ≤1.8 s at the 75th percentile. It's a diagnostic metric, not a Core Web Vital. and TTFBTime to First Byte — the time from the start of a request to when the first byte of the response arrives. It's a diagnostic metric (not a Core Web Vital) and a major input to FCP and LCP; ≤0.8 s is good. as “Other metrics” — informative, but not part of the verdict.
  • There’s one documented exception, and it’s INPInteraction to Next Paint — the input-to-paint latency at the 75th percentile of a page's interactions. ≤200 ms is good.-only. If a page doesn’t have enough CrUX samples to report INP specifically, PSI’s current guide says it can still assess Pass/Fail from good LCPLargest Contentful Paint — render time of the largest visible image or text block, relative to when the page started loading. ≤2.5 s (at the 75th percentile) is good. and CLSCumulative Layout Shift — a unitless score for unexpected visual movement, taken from the largest burst (session window) of layout shifts, not the lifetime sum. ≤0.1 is good. p75 values alone. There’s no equivalent exception for LCP or CLS — if either of those is the one missing enough data, don’t read that as a pass; insufficient data isn’t a documented free pass on any metric except INP.
  • p75 means the 75th percentile. The value shown is the experience 75% of page views were faster than. web.dev chose the 75th percentile so the number is “resistant to outliers” — a stricter target than a median.
  • INP replaced FID in March 2024. If you’re looking at old screenshots or old guides (including my own older Ahrefs writing on PageSpeed Insights and Core Web Vitals), they may still show FID; the assessment now uses INP.
  • URL → origin → “No data” fallback. If there isn’t enough CrUX data for the specific URL, PSI falls back to origin-level data (aggregated across the whole site). If there’s no CrUX data at all, you’ll see “No data,” but Lighthouse still runs. As web.dev notes, “CrUX data is only available when sites meet certain eligibility criteria” and “PSI is only available for public URLs.” Low-traffic pages and brand-new pages frequently have no URL-level field data.

Lab data: the 0–100 Lighthouse score

The lower section is a single Lighthouse run on a simulated device and network, producing the Performance score and a list of opportunities and diagnostics. Google’s banding: “A score of 90 or above is considered good. 50 to 89 is a score that needs improvement, and below 50 is considered poor.”

What to know about the lab run:

  • It’s simulated, and the mobile run is deliberately slow. Mobile emulates a mid-tier phone on a throttled connection; desktop uses a faster emulated profile. That’s why your mobile score is almost always lower than desktop — and why real-user field data often looks better than the lab diagnostics suggest.
  • The score is variable. Each run is a fresh, server-side Lighthouse audit — the page, Google’s datacenter, network conditions, and even the Chrome/Lighthouse version can all move the number between runs. I recommend running it a few times (3–5) and looking at the range rather than treating any single run as gospel. A few points of swing is noise.
  • If you’re comparing runs, save more than the score. The API response carries a timestamp, the requested and final URL, form factor, the emulated environment, the Lighthouse version, and any warnings — keep those alongside each score. Two “72”s aren’t comparable if one ran on a different Lighthouse version or hit a redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. the other didn’t. Don’t average unlabeled scores; label them or don’t compare them.
  • Lighthouse versions move independently of the PSI API. PSI stayed on API v5, but the Lighthouse engine underneath it keeps shipping new releases (the most recent noted in Google’s release notes as of this review is Lighthouse 13.0, dated 2025-10-20) — audit fields, weights, and bands can shift with the engine version even though the API contract doesn’t change.
  • “Estimated savings” are not additive. The seconds shown next to each diagnostic assume that fix is made in isolation. Issues interact; real-world gains are almost always less than the sum of the individual estimates. Treat them as directional, not as a budget you can total up.
  • The metric weights change with Lighthouse versions. The Performance score is a weighted blend of lab metrics (load-time metrics, Total Blocking Time, and CLS carry the most weight), but the exact weights shift between Lighthouse releases — check the current scoring calculator rather than trusting a fixed split.

The myth that causes the most damage: “the score is a ranking factor”

It isn’t. The 0–100 Performance score is a Lighthouse lab number, and I haven’t found any current official Google Search source that documents that score itself as a ranking input or ties a score change to a ranking change. Google’s page experience documentation instead points to field Core Web Vitals — CrUX-based real-user data, the same type of data PSI’s field section shows at p75. (One caveat worth being precise about: PSI’s public field display is a reporting surface with its own eligibility and fallback rules; Google hasn’t published the exact internal pipeline that feeds ranking, so treat “field data” as the same kind of signal rather than assuming byte-for-byte identity with what PSI shows you.) A page can sit at 72 in the lab and still pass the Core Web Vitals Assessment because its real-user data is good — different numbers from different systems. The corollary myth — “a good lab score equals a good real-user experience” — fails for the same reason: lab conditions aren’t your visitors’ conditions. When field and lab diverge, field data is the more relevant one for SEO.

Evidence for this claim Google's Core Web Vitals ranking systems use real-user Core Web Vitals; a Lighthouse 0–100 lab score is diagnostic rather than a ranking signal. Scope: Google Search use of Core Web Vitals and PageSpeed Insights' separation of field and lab data. Confidence: high · Verified: Google Search Central: Core Web Vitals Google Developers: About PageSpeed Insights

And even the field Core Web Vitals are a fairly small ranking input. Google’s own people have downplayed them — Gary Illyes has called page experience closer to a tiebreaker than a major signal. My honest position hasn’t changed: I don’t think Core Web Vitals have much impact on SEO, and unless a site is extremely slow, I generally won’t prioritize fixing them over content and links. Fix them for users and for the genuinely-slow case — not out of panic over a red number.

How to actually read a PSI report

  1. Read the field data first. Did it Pass or Fail the Core Web Vitals Assessment? That’s the SEO-relevant verdict. If it says “No data,” there isn’t enough CrUX traffic yet — you’re working from lab data alone.
  2. Check mobile and desktop separately. Mobile is the default and usually the weaker one; it’s also what mostly matters, since Google indexes mobile-first.
  3. Then use the lab diagnostics to find the cause. Lab data is your fast feedback loop for finding and fixing the root issue — render-blocking resourcesRender-blocking resources are CSS and synchronous JavaScript files a browser must download and process before it can paint any visible content. They sit on the critical rendering path and delay First Contentful Paint and Largest Contentful Paint., oversized images, layout shift sources, long tasksAny main-thread task over 50 ms — the primary cause of INP regressions..
  4. Fix, then wait. Field data is a rolling 28-day window, so a fix you ship today can take up to 28 days to fully show up in the Core Web Vitals Assessment. Use lab data to confirm the fix immediately; use field data to confirm it actually moved real users.
  5. Benchmark competitors. Because PSI works on any public URL, you can run a competitor’s pages and compare their field Core Web Vitals to yours — a use case most guides never mention.
TIP Read no field data as unavailable, not passing

PSI's field and lab sections answer different questions. When CrUX has no stable sample, a Lighthouse run can diagnose the page but cannot supply a field verdict.

Check the same boundary with my free Page Speed Test Free

  1. Look for URL-level or origin-level field data before reading the lab score.
  2. If field data is unavailable, use the lab audit to find testable causes rather than declaring a pass.
  3. Compare later checks by source, device, and scope so field and lab numbers are never blended.
No data removes the field verdict; it does not turn the lab score into real-user history.

The result reports no stable CrUX sample at URL or origin level, marks mobile and desktop not evaluated, and offers a fresh lab audit whose simulated numbers can vary between runs.

PSI vs. the tools it gets confused with

  • PSI vs. Lighthouse. Lighthouse is the engine; PSI is a web UI that runs Lighthouse and layers CrUX field data on top. Run Lighthouse yourself (in Chrome DevTools or the CLI) and you get the lab audit but on your machine and network, with no field data.
  • PSI vs. Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance.’s Core Web Vitals reportThe Google Search Console report (under Experience) that shows how your indexed URLs perform on the Core Web Vitals — LCP, INP, and CLS — using real-user field data from CrUX, grouped by device, status, and clusters of similar-performing URLs.. Both are CrUX-based, so both reflect real users. The difference: Search Console groups similar URLs together and reports at scale across your whole property, while PSI is per-URL (or origin-level fallback). If GSC and PSI seem to disagree, it’s usually the grouping.
  • PSI vs. Chrome DevTools / WebPageTestWebPageTest is a free, open-source, lab-based website performance testing tool — created by Patrick Meenan in 2008 and acquired by Catchpoint in 2020 — that runs pages on real browsers from distributed locations and produces deep diagnostics (waterfalls, filmstrips, connection views, Core Web Vitals). It's a diagnostic tool, not a Google ranking input. / DebugBear / Ahrefs Site Audit. These give more configuration (custom devices, locations, throttling) and, in some cases, real-user monitoring. PSI’s strength is being free, zero-setup, and tied to Google’s own CrUX dataset.

The PSI API (for bulk testing)

You don’t have to use the web UI one URL at a time. The PageSpeed Insights API (base https://www.googleapis.com/pagespeedonline/v5) returns the same data programmatically. Key parameters: url (required), strategy (mobile or desktop), and category (performance, accessibility, best-practices, seo). The response splits the same way the UI does: loadingExperience (URL-level field data), originLoadingExperience (origin-level field data), and lighthouseResult (the lab audit). That’s how you’d test a batch of URLs on a schedule rather than clicking through them by hand.

Don’t build durable field-data automation on this API. Google’s own API documentation now opens with a notice that it plans to discontinue including CrUX real-world data in the PSI API, and points automators at the dedicated CrUX API or CrUX History API instead. Keep using the PSI API for the Lighthouse lab audit — that part isn’t affected — but if you’re scheduling bulk field-data pulls, build against a CrUX-specific API, not loadingExperience/originLoadingExperience in the PSI response.

Where this sits in web performance

PSI is a measurement tool, not the destination. The metrics it surfaces — Largest Contentful Paint, Interaction to Next Paint, Cumulative Layout Shift — are the Core Web Vitals, and the hub for those (thresholds, what each one means, and how to improve them) is the place to go next. Lighthouse is the lab engine PSI runs on; CrUX (the Chrome UX Report) is the field-data source feeding the top of every PSI report. Understand those three and PSI stops being a mystery box.

Add an expert note

Pin an expert quote

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