Home/SEO Guide/Reference/Core Web Vitals
Reference article · 25 sources · last reviewed 1 Oct 2026

Web performance and Core Web Vitals

PRACTICAL GUIDEPrefer diagrams and quick fixes? The Performance guide covers the same topic visually.Open the guide →

Web performance, in search engine optimisation, is how quickly and smoothly a web page loads and responds for the people using it. Google measures it chiefly through Core Web Vitals, three user-centred metrics, Largest Contentful Paint (LCP), Interaction to Next Paint (INP) and Cumulative Layout Shift (CLS), that cover loading, responsiveness and visual stability [1]. The metrics were introduced in 2020 [2] and are used by Google’s ranking systems as part of page experience [4][5].

IN SHORT
  • A page passes Core Web Vitals when, at the 75th percentile of real visits, LCP ≤ 2.5 s, INP ≤ 200 ms and CLS ≤ 0.1 [1].
  • Google ranks with field data from real Chrome users, not the Lighthouse lab score [5][13].
  • Good scores help, but Google says they don’t outrank relevance [5].
  • Each metric has different causes: server and images for LCP, JavaScript for INP, unreserved space for CLS [17][21][22].

1History

Google first announced site speed as a ranking signal for desktop search in April 2010, noting that it affected a small share of queries [23]. In January 2018 the “Speed Update” extended page speed as a ranking factor to mobile search, aimed at the slowest pages [24].

In May 2020 Google introduced the Web Vitals initiative to give site owners a small, stable set of metrics that reflect real user experience, naming LCP, First Input Delay (FID) and CLS as the first Core Web Vitals [2]. The same month, Google Search announced it would combine Core Web Vitals with existing signals such as mobile-friendliness and HTTPS into a page experience signal [3].

The definition of CLS was revised in 2021 to measure the largest burst of layout shifts rather than their total across the page’s lifetime, which had penalised long-lived pages [10]. On 12 March 2024, INP replaced FID as the responsiveness metric [8].

YearChange
2010Site speed becomes a desktop ranking signal [23]
2018Speed Update applies page speed to mobile ranking [24]
2020Web Vitals and Core Web Vitals introduced [2]; page experience announced [3]
2021Page experience used in ranking; CLS redefined around session windows [4][10]
2024INP replaces FID as a Core Web Vital [8]

2The three Core Web Vitals

Thresholds per web.dev [6][7][9].
MetricMeasuresGoodNeeds improvementPoor
LCPLoading: when the largest content element renders≤ 2.5 s2.5–4.0 s> 4.0 s
INPResponsiveness: delay from interaction to next paint≤ 200 ms200–500 ms> 500 ms
CLSVisual stability: unexpected movement of content≤ 0.10.1–0.25> 0.25

Largest Contentful Paint

LCP reports the render time of the largest image, video poster, background image or block of text visible in the viewport, relative to when the page started loading [6]. The browser stops reporting new candidates once the user interacts with the page, so the value reflects the initial load [6].

Interaction to Next Paint

INP observes the latency of every click, tap and key press during a visit and reports a value close to the slowest, ignoring one outlier for every 50 interactions on busy pages [7]. Each interaction’s latency is the sum of input delay, processing time and presentation delay until the next frame is painted [7][21].

Cumulative Layout Shift

CLS scores unexpected movement of visible content. Each layout shift is scored as the impact fraction multiplied by the distance fraction, and the reported value is the largest session window: a burst of shifts less than one second apart, capped at five seconds [9][10]. Shifts within 500 ms of a user input are excluded, because users expect the page to react [9].

KEY FACTINP replaced First Input Delay because FID measured only the first interaction’s input delay, not the full time until the page visibly responded [8].

3Supporting metrics

Several other metrics help diagnose Core Web Vitals without being part of them.

  • Time to First Byte (TTFB) measures how long the server takes to begin responding. web.dev suggests 0.8 s or less as a rough guide, since it delays every later metric [11].
  • First Contentful Paint (FCP) marks when any text or image is first rendered; 1.8 s or less is considered good [12].
  • Total Blocking Time (TBT) is a lab metric that sums how long the main thread was blocked; Lighthouse uses it as a proxy for responsiveness because lab runs have no real user interactions [16].

4How performance is measured

Field data

Field data, also called real-user monitoring, comes from actual visits. Google’s source is the Chrome UX Report (CrUX), which aggregates measurements from Chrome users who have opted in, over a rolling 28-day period, at both page and origin level [13].

Core Web Vitals are assessed at the 75th percentile of those visits, separately for mobile and desktop, so that a page passes only if most users have a good experience [1]. Search Console’s Core Web Vitals report uses the same data and groups similar URLs together [14].

Lab data

Lab data comes from a controlled test on a single device and network profile, typically Lighthouse. It is reproducible and detailed, which makes it useful for finding causes, but it can differ considerably from field data [15][16].

Comparison drawn from [13], [15] and [16].
Field (CrUX)Lab (Lighthouse)
SourceReal Chrome visitsOne simulated load
PeriodRolling 28 daysA single run
ResponsivenessINP from real interactionsTBT as a proxy
Used for rankingYes [5]No
Best forKnowing if users are affectedFinding why

PageSpeed Insights shows both: CrUX field data when enough traffic exists, and a Lighthouse lab run for diagnosis [15].

5Role in Google Search ranking

Google states that Core Web Vitals are used by its ranking systems and recommends that site owners achieve good scores [5]. Its documentation also describes page experience as a set of considerations, Core Web Vitals, HTTPS, mobile usability, absence of intrusive interstitials, rather than a single ranking signal [4].

Google is explicit that good page experience does not override relevance: a page with better content can rank above a faster one [4][5]. In practice, performance acts as one factor among many and matters most when competing pages are otherwise similar.

KEY FACTThere is no Core Web Vitals “score” to maximise for ranking. A page either meets the thresholds for its real users or it doesn’t [1][5].

6Improving LCP

web.dev divides LCP into four sub-parts: time to first byte, resource load delay, resource load duration and element render delay. Most slow LCPs are dominated by one of them [17].

  • Reduce server response time with caching and a CDN, since TTFB delays everything after it [11][17].
  • Make the LCP image discoverable in the initial HTML rather than injected by JavaScript or CSS [17].
  • Give the LCP image priority with fetchpriority="high"[18].
  • Never lazy-load the LCP image; loading="lazy" is for images below the fold [19].
  • Serve appropriately sized, compressed images in modern formats [17].

7Improving INP

Poor INP is almost always caused by JavaScript occupying the main thread when the user interacts. A task longer than 50 milliseconds is considered a long task, because it can delay input handling perceptibly [20].

  • Break long tasks into smaller ones and yield to the main thread between them [20].
  • Load less JavaScript up front, and defer non-critical and third-party scripts [21].
  • Keep event handlers short and move expensive work out of the path of the next paint [21].
  • Avoid very large DOM trees, which make each rendering update slower [21].

8Improving CLS

  • Always set width and height (or CSS aspect-ratio) on images and video so the browser reserves space [22].
  • Reserve space for ads, embeds and banners before they load; avoid inserting content above what the user is reading [22].
  • Use font-display and matched fallback fonts to limit shifts when web fonts swap in [25].
  • Animate with CSS transform rather than properties that change layout, such as top or height[22].

9Common misconceptions

BeliefWhat the sources say
A Lighthouse score of 100 guarantees better rankingsRanking uses field Core Web Vitals, and good scores don’t outrank relevance [5][16]
Speed only matters on mobileCore Web Vitals are assessed separately for mobile and desktop [1]
Scores should be identical every runLab results vary with network, device and server conditions [15]
Fixing one metric fixes all threeEach metric has distinct causes [17][21][22]

See also

References

  1. [1]“Web Vitals”. web.dev. web.dev/articles/vitals
  2. [2]“Introducing Web Vitals: essential metrics for a healthy site”. Chromium Blog, May 2020. blog.chromium.org/2020/05/introducing-web-vitals-essential-metrics.html
  3. [3]“Evaluating page experience for a better web”. Google Search Central Blog, May 2020. developers.google.com/search/blog/2020/05/evaluating-page-experience
  4. [4]“Understanding page experience in Google Search results”. Google Search Central. developers.google.com/search/docs/appearance/page-experience
  5. [5]“Understanding Core Web Vitals and Google search results”. Google Search Central. developers.google.com/search/docs/appearance/core-web-vitals
  6. [6]“Largest Contentful Paint (LCP)”. web.dev. web.dev/articles/lcp
  7. [7]“Interaction to Next Paint (INP)”. web.dev. web.dev/articles/inp
  8. [8]“Interaction to Next Paint becomes a Core Web Vital on March 12”. web.dev blog, 2024. web.dev/blog/inp-cwv-march-12
  9. [9]“Cumulative Layout Shift (CLS)”. web.dev. web.dev/articles/cls
  10. [10]“Evolving the CLS metric”. web.dev. web.dev/articles/evolving-cls
  11. [11]“Time to First Byte (TTFB)”. web.dev. web.dev/articles/ttfb
  12. [12]“First Contentful Paint (FCP)”. web.dev. web.dev/articles/fcp
  13. [13]“Chrome UX Report overview”. Chrome for Developers. developer.chrome.com/docs/crux
  14. [14]“Core Web Vitals report”. Search Console Help. support.google.com/webmasters/answer/9205520
  15. [15]“About PageSpeed Insights”. Google for Developers. developers.google.com/speed/docs/insights/v5/about
  16. [16]“Lighthouse performance scoring”. Chrome for Developers. developer.chrome.com/docs/lighthouse/performance/performance-scoring
  17. [17]“Optimize Largest Contentful Paint”. web.dev. web.dev/articles/optimize-lcp
  18. [18]“Optimize resource loading with the Fetch Priority API”. web.dev. web.dev/articles/fetch-priority
  19. [19]“Browser-level image lazy loading for the web”. web.dev. web.dev/articles/browser-level-image-lazy-loading
  20. [20]“Optimize long tasks”. web.dev. web.dev/articles/optimize-long-tasks
  21. [21]“Optimize Interaction to Next Paint”. web.dev. web.dev/articles/optimize-inp
  22. [22]“Optimize Cumulative Layout Shift”. web.dev. web.dev/articles/optimize-cls
  23. [23]“Using site speed in web search ranking”. Google Search Central Blog, April 2010. developers.google.com/search/blog/2010/04/using-site-speed-in-web-search-ranking
  24. [24]“Using page speed in mobile search ranking”. Google Search Central Blog, January 2018. developers.google.com/search/blog/2018/01/using-page-speed-in-mobile-search
  25. [25]“Best practices for fonts”. web.dev. web.dev/articles/font-best-practices
CITE THIS ARTICLEKalenux. (2026). Web performance and Core Web Vitals. In Kalenux SEO Guide. Last reviewed 1 Oct 2026. https://kalenux.com.tr/seo-guide/performance