Blogs

Home/Blog Details
Website & Funnel EngineeringAutomation & Internal ToolsAI & Data SystemsTechnical SEOMarketing Data IntegrationsCustom SaaS PlatformsOngoing Technical SupportCore Web VitalsCRM WorkflowsLead ScoringClient PortalsReporting PipelinesWebsite & Funnel EngineeringAutomation & Internal ToolsAI & Data SystemsTechnical SEOMarketing Data IntegrationsCustom SaaS PlatformsOngoing Technical SupportCore Web VitalsCRM WorkflowsLead ScoringClient PortalsReporting Pipelines
Core Web Vitals in 2025: What Actually Moves the Needle (With Real Before/After Data)
Technical SEO

Core Web Vitals in 2025: What Actually Moves the Needle (With Real Before/After Data)

Dream Code Labs
Written by Dream Code Labs
24 Feb 20259 min read
Share

Key Takeaways

  • Core Web Vitals are a tiebreaker ranking signal — impactful in competitive niches, less so in uncontested ones
  • LCP is the metric with the highest ranking impact when improved from Poor to Good
  • Image optimisation — WebP, explicit dimensions, proper lazy loading — accounts for 40–60% of LCP gains
  • CLS is the easiest fix and has the most immediate impact on engagement metrics and bounce rate
  • INP replaced FID in March 2024 and is the hardest metric to optimise on JavaScript-heavy sites

Who Is This For?

This guide is for technical SEOs, developers, and agency owners who want to understand which Core Web Vitals improvements actually move rankings — based on real data from 30+ UK site optimisations — rather than theoretical SEO guidance that does not account for practical trade-offs.

Core Web Vitals 2025 remain one of the most debated topics in technical SEO. At one extreme, some practitioners dismiss them as barely relevant to rankings; at the other, some teams treat every millisecond of LCP as a make-or-break ranking factor. After optimising Core Web Vitals on more than 30 websites over the past two years — and tracking ranking changes across all of them with consistent methodology — we have enough real data to give a more nuanced and honest answer than either extreme.

The foundational reality is that Google confirmed Core Web Vitals as a ranking signal in its 2021 Page Experience update and has maintained that position through subsequent algorithm updates. The correct framing is that CWV functions as a tiebreaker signal: when two pages are otherwise comparable in content quality, backlink profile, and topical authority, the page with better Core Web Vitals will typically outrank the other. In genuinely competitive niches, that tiebreaker is the difference between position 4 and position 7. In less competitive niches, it matters less — but rarely not at all.

What follows is our analysis of each Core Web Vitals metric — LCP, CLS, and INP — based on the optimisations we have performed and the ranking changes we have tracked. We include specific fix techniques and the before/after data from a SaaS marketing site case study that illustrates what properly executed Core Web Vitals optimisation actually delivers.

LCP in 2025: The Metric That Moves Rankings Most

Largest Contentful Paint measures how long it takes for the largest visible element on the page — typically a hero image or a large text block — to render in the user's browser. Google's 'Good' threshold is LCP below 2.5 seconds. 'Needs Improvement' is 2.5–4 seconds. 'Poor' is above 4 seconds. In our data across 30+ site optimisations, moving LCP from the 'Poor' band to the 'Good' band is the single Core Web Vitals improvement most consistently associated with measurable ranking gains — specifically on mobile search results, where Google's mobile-first indexing means performance scores carry the most direct ranking weight.

The most impactful LCP fix, bar none, is image optimisation. The LCP element on most marketing sites is an above-the-fold hero image. Serving that image in WebP format (typically 25–35% smaller than equivalent JPEG at comparable quality), adding explicit width and height attributes to prevent layout shifts during load, setting the `fetchpriority='high'` attribute on the LCP image so the browser deprioritises nothing else to fetch it, and ensuring it is not lazily loaded — these four changes alone routinely deliver 40–60% reductions in LCP time. On sites where the LCP image was previously served at full resolution without compression, the gains are even larger.

The second most impactful LCP fix is eliminating render-blocking resources. Third-party scripts — analytics platforms, chat widgets, advertising tags, A/B testing tools — that load synchronously in the document head delay the browser from rendering any page content until those scripts have downloaded and executed. Moving these scripts to load with the `defer` or `async` attribute, or using a script-loading strategy that delays non-critical scripts until after the main content has rendered, consistently reduces LCP by 0.5–1.5 seconds on sites with multiple synchronous third-party scripts.

CLS in 2025: The Easiest Win With Immediate Engagement Impact

Cumulative Layout Shift measures the visual instability of a page — specifically, how much the content moves around as the page loads and elements render. A high CLS score means content jumps around as the page loads, which is jarring to users and a direct driver of high bounce rates. Google's 'Good' threshold is CLS below 0.1. In our experience, CLS is the Core Web Vitals metric most likely to be in the 'Poor' band on sites that have not been specifically optimised for it, and it is also consistently the fastest to fix when the root causes are identified.

The most common CLS culprits we encounter are: images without explicit width and height attributes (the browser cannot reserve the correct space before the image loads, so content shifts when it arrives); web fonts that cause a flash of invisible or unstyled text during loading (fixed by using `font-display: swap` in the CSS `@font-face` declaration); dynamically injected elements such as cookie consent banners, chat widgets, and ad slots that push content down after initial render; and embeds from third-party platforms — YouTube videos, Typeform forms, Instagram posts — without explicit container dimensions.

The fix for most CLS issues is straightforward: set explicit width and height on every image, add `font-display: swap` to all custom font declarations, and ensure all dynamically injected elements have pre-allocated space in the layout rather than pushing content when they appear. In our experience, these three changes fix approximately 80% of CLS issues on most sites within a single focused development session. The improvement in engagement metrics — bounce rate, session duration, pages per session — is typically visible within 7–14 days of the fix going live.

Want a Free Core Web Vitals Audit for Your Site?

Our free technical SEO audit includes a full Core Web Vitals analysis with prioritised, specific fixes for each metric. You will receive an actionable report within 48 hours — with no sales obligation.

Get Your Free Technical Audit

INP in 2025: The New Metric and Why It Is Hardest to Optimise

Interaction to Next Paint replaced First Input Delay as Google's responsiveness metric in March 2024. Where FID measured only the delay before the browser began processing a user interaction, INP measures the full latency from the first user interaction to the moment the browser visually updates in response. Google's 'Good' threshold is INP below 200ms. The most important distinction from FID: INP captures all interactions throughout the page visit, not just the first — making it a more comprehensive and therefore harder-to-optimise measure of a site's interactivity.

High INP scores — above 500ms — are most common on JavaScript-heavy sites where the main thread is frequently blocked by long-running tasks. React and Vue applications that perform complex state updates on user interactions, sites with multiple third-party scripts running simultaneously on the main thread, and pages with large event listener-heavy components are the most common offenders. The core diagnostic tool is Chrome DevTools' Performance panel, which identifies Long Tasks — JavaScript execution events longer than 50ms that block the main thread from responding to user input.

The fixes for poor INP depend on the root cause. The most broadly effective approach is breaking up long tasks using the scheduler API or `setTimeout` chunking, which allows the browser to process input events between chunks of work rather than blocking during an entire long computation. Deferring non-critical third-party scripts that register many event listeners — particularly chat widgets and some analytics implementations — removes a significant source of main thread contention. On React applications, memoising expensive calculations with `useMemo` and avoiding unnecessary re-renders with `React.memo` can meaningfully reduce INP during complex interaction sequences.

Real Before/After Data: SaaS Marketing Site Case Study

The following data comes from a SaaS company's marketing site we optimised over three weeks in Q4 2024. Starting scores: LCP 5.2 seconds, CLS 0.31, INP 480ms. Lighthouse mobile performance score: 38. The site used a JavaScript-heavy theme with multiple page builder plugins, unoptimised images served in JPEG format, three synchronous third-party analytics scripts in the document head, and no explicit dimensions on any images or embeds.

Three weeks of targeted work produced the following results. LCP moved from 5.2s to 1.8s — a 65% improvement driven primarily by converting all above-the-fold images to WebP, setting the `fetchpriority` attribute on the hero image, and moving analytics scripts to deferred loading. CLS moved from 0.31 to 0.04 — fixed almost entirely by adding explicit width and height to all images and adding `font-display: swap` to the two custom font declarations. INP moved from 480ms to 140ms — achieved by removing two unused event-heavy plugins and chunking a large JavaScript task triggered on scroll events. Lighthouse mobile performance score after: 91.

In the 90 days following the optimisation going live, the site gained 22 featured snippets on informational queries it had previously ranked in positions 4–8 for, total organic traffic increased 38%, and average session duration increased 47% — likely reflecting the improvement in CLS and overall page stability. The conversion rate on the site's primary CTA — a free trial signup — improved 19% over the same period. The direct relationship between technical performance and commercial outcome was measurable and significant. For a full technical audit of your site's Core Web Vitals, visit our free audit page.

Dream Code Labs

Dream Code Labs

Web Development & Automation Agency · 7+ years experience

Dream Code Labs is a remote-first development and automation agency specialising in custom websites, AI-powered tools, and workflow automation for marketing agencies and growing SMEs across the UK, US, Canada, and Australia. We have delivered 50+ projects that produce measurable, real-world results.

Frequently Asked Questions

Do Core Web Vitals still affect Google rankings in 2025?

Yes. Google confirmed Core Web Vitals as a ranking signal in 2021 and has maintained that position through subsequent updates. The correct framing is that CWV functions as a tiebreaker signal: when two pages are otherwise comparable in content quality and authority, the page with better Core Web Vitals typically ranks higher. In competitive niches, that tiebreaker is highly meaningful. Sites with 'Poor' CWV scores are consistently at a disadvantage relative to competitors with 'Good' scores.

Which Core Web Vital has the biggest impact on SEO rankings?

LCP (Largest Contentful Paint) has the most consistently measurable impact on rankings when improved from 'Poor' to 'Good'. Sites moving LCP from above 4 seconds to below 2.5 seconds see average ranking improvements of 4–7 positions on mobile search within 60 days in our data. CLS improvements have the most immediate impact on engagement metrics like bounce rate, and INP improvements are most significant for JavaScript-heavy applications with complex user interactions.

How do I improve my website's LCP score?

The four highest-impact LCP fixes are: convert above-the-fold images to WebP format with explicit width and height attributes; add fetchpriority='high' to the LCP hero image; move non-critical third-party scripts from the document head to deferred or async loading; and ensure the LCP image is not lazily loaded. These four changes alone typically deliver 40–60% LCP reductions on most marketing sites.

What is INP and why did it replace FID?

INP (Interaction to Next Paint) replaced FID (First Input Delay) in March 2024 as Google's responsiveness metric. FID measured only the delay before the browser began processing the first user interaction. INP measures the full latency from any user interaction to the next visual update, capturing all interactions throughout a page visit rather than just the first. This makes INP a more comprehensive measure of a site's responsiveness during real user sessions.

How long does it take to see ranking improvements after fixing Core Web Vitals?

In our data across 30+ site optimisations, ranking improvements following Core Web Vitals fixes typically become measurable within 30–60 days of the improved scores being reflected in Google's field data. Google's CrUX data updates monthly, so it takes at least one full data cycle before improved scores are factored into ranking calculations. Featured snippet gains and mobile ranking improvements tend to appear first, followed by broader position improvements over the 60–90 day window.

Last updated: 20 Apr 2025

The Tech Setup That Helps a £500K Small Business Run Like a £5M CompanyHire a Developer vs Use a No-Code Tool? The Small Business Decision Guide