Core Web Vitals
Last updated View as Markdown
Core Web Vitals are a set of real-world performance metrics Google uses as ranking signals. They measure three dimensions of page experience: loading performance, interactivity, and visual stability.
What are the three Core Web Vitals?
Largest Contentful Paint (LCP)
LCP measures how long it takes for the largest visible element on the page to render. This is typically a hero image or a large block of text. It is Google’s primary measure of perceived load speed.
Good: 2.5 seconds or less
Needs improvement: 2.5 to 4.0 seconds
Poor: over 4.0 seconds
Common LCP issues are slow server response times, render-blocking resources (large JavaScript or CSS files that delay rendering), and unoptimised images served without compression at the wrong size. Lazy loading is the exception that catches people out: it helps below-the-fold images, but applying it to the LCP element itself delays the very thing being measured.
Interaction to Next Paint (INP)
INP measures the responsiveness of a page to all user interactions (clicks, taps, keyboard inputs) throughout the session, including post-load interactions. It replaced First Input Delay (FID) as a Core Web Vital in March 2024.1
Good: 200ms or less
Needs improvement: 200 to 500ms
Poor: over 500ms
High INP is usually caused by heavy JavaScript execution that blocks the main thread. Third-party scripts (analytics, chat widgets, ad code) are frequent culprits.
Cumulative Layout Shift (CLS)
CLS measures unexpected layout shifts: elements moving around as the page loads. A button that jumps just as you tap it, or text that reflows when an image loads, are classic CLS problems.
Good: 0.1 or less
Needs improvement: 0.1 to 0.25
Poor: over 0.25
Common causes are images without defined dimensions, dynamically injected content above existing content, and web fonts causing FOIT (Flash of Invisible Text) or FOUT (Flash of Unstyled Text).
How does Google measure Core Web Vitals?
Core Web Vitals are assessed using field data: real user experiences captured via the Chrome User Experience Report (CrUX), not lab simulations. Your scores are based on actual visits from real users over the previous 28 days, graded at the 75th percentile.2
Lab tools like Google PageSpeed Insights and Lighthouse show what performance looks like under controlled conditions, which is useful for diagnosis. They do not directly represent the field scores Google uses for ranking. If lab and field data disagree, the field data matters for SEO.
How are single-page apps measured?
A single-page application (SPA) swaps content and updates the URL with JavaScript rather than loading a new page, and CrUX has measured only its first load, charging every later interaction and layout shift in the visit to the landing URL. In October 2026 Chrome began publishing experimental versions of LCP, INP and CLS that count these soft navigations as page views of their own, in the CrUX API, the BigQuery dataset and CrUX Vis.3 Chrome says SPA scores will improve or hold, and among origins where soft navigations make up 75 to 100% of page views, the share with Good LCP on Android rose from 26% to 87%, because follow-up views reuse code the first load already downloaded; about 70% of all origins use soft navigations for under 5% of page views and should see little change. Search Console will switch to the new data once Chrome takes it out of experimental status, which it aims to do in May 2027, so an SPA failing LCP or CLS in Search Console today should compare the experimental figures in CrUX Vis before committing engineering time.
Where to check your Core Web Vitals
- Google Search Console > Core Web Vitals report: shows field data segmented by URL group, with pass/fail status
- PageSpeed Insights: combines field data (where available) with lab diagnostics and improvement recommendations
- Chrome DevTools > Performance panel: live LCP, INP and CLS readings from your own visit, and a detailed trace for diagnosing specific issues. It replaced the Web Vitals Chrome extension, whose support ended in January 2025.4
Fixing common issues
The fixes below are the common cases. For the full diagnostic order, including how to tell a field-data problem from a lab-data one before you start changing code, see the Core Web Vitals optimisation guide.
Slow LCP:
- Improve server response time (TTFB). Consider CDN, caching, or upgrading hosting
- Preload the LCP element using
<link rel="preload"> - Compress and correctly size images; use modern formats (WebP, AVIF)
- Defer non-critical JavaScript and CSS
High INP:
- Audit third-party scripts. Load them asynchronously or defer them
- Break up long tasks (over 50ms) using
setTimeoutorscheduler.yield() - Reduce JavaScript bundle size; remove unused code
High CLS:
- Set explicit
widthandheighton images and video - Reserve space for dynamic content (ads, embeds) with CSS aspect ratios
- Preload web fonts; use
font-display: optionalto avoid FOIT
Core Web Vitals as a ranking factor
Google confirmed Core Web Vitals as a ranking signal with the Page Experience update in 2021.5 Their direct ranking impact is modest compared to relevance and authority signals. Passing the thresholds will not rescue poor content, and failing them will not sink excellent content.
Where they matter most is in close-competition scenarios. Google puts it this way: it “always seeks to show the most relevant content, even if the page experience is sub-par”, but where there is “lots of helpful content available”, a great page experience “can contribute to success”.6 For sites with large volumes of pages (news publishers, e-commerce, documentation), the work is mostly in templates: one fix reaches thousands of URLs at once. Ecommerce site speed also behaves differently from the web average: the platform a store runs on is a strong predictor of whether it passes, and the failures cluster in the collection and product templates rather than spreading evenly across URLs.
The score is not the signal
Google grades the three metrics on field data at the 75th percentile of real visits, so three quarters of your page loads need to be good, not all of them. It does not use the 0 to 100 performance score that Lighthouse and PageSpeed Insights display, which is a lab composite with half its weighting on metrics that are not Core Web Vitals. A page can score 92 and pass, or score 100 and still fail INP in the field.
Frequently asked questions
Do Core Web Vitals affect all pages equally?
No. Assessment needs enough real-user data. In Search Console’s report, a URL group without enough data is folded into a higher-level origin group covering every URL on the same protocol, host and port (so m.example.com is separate from www.example.com), and a site with too little CrUX data for a device type shows “No data available”.2
Can I improve my scores without a developer?
Some wins are accessible without code changes: compressing images, removing unused plugins on CMS platforms, switching to a faster hosting tier. Larger fixes (JavaScript optimisation, server-side improvements, font loading strategy) typically require developer involvement.
Do Core Web Vitals matter for mobile rankings?
Yes, and for desktop rankings too. Google brought page experience into mobile ranking in 2021 and into desktop ranking between February and March 2022, with the same Core Web Vitals and thresholds.7 Search Console reports mobile and desktop separately.2
Footnotes
-
Interaction to Next Paint becomes a Core Web Vital on March 12 — web.dev ↩
-
Experimental soft navigation metrics now available in CrUX — web.dev ↩
-
The Web Vitals extension, now in DevTools — Chrome for Developers ↩
-
More time, tools, and details on the page experience update — Google Search Central Blog ↩
-
Understanding page experience in Google Search results — Google Search Central ↩
-
Timeline for bringing page experience ranking to desktop — Google Search Central Blog, 4 November 2021 ↩