Site Speed & Core Web Vitals

Core Web Vitals fixed on real CrUX data, not Lighthouse.

We get LCP under 2.5s, INP under 200ms, CLS under 0.1 in field data. Fixed in your codebase, measured in CrUX.

  • Field data first: CrUX + GSC, not Lighthouse
  • Code-level LCP, INP and CLS fixes as Git PRs
  • Real-user monitoring tracked monthly
LASEO senior consultant reviewing a Core Web Vitals report and CrUX field data in Google Search Console

Trusted by ambitious brands worldwide

56+
SEMrush
#1

SEMrush agency

Rated #1 SEO agency in The Netherlands by SEMrush

Most speed reports chase a green Lighthouse score. Then ignore the red CrUX data Google actually uses. We fix what real users feel.

Lighthouse is a lab simulation on a throttled Moto G4. CrUX is the 28-day rolling field dataset Google pulls from real Chrome users on your site, and it is the data Google uses for the Core Web Vitals ranking signal. We baseline both, prioritise the metrics that are failing in the field, and ship code-level fixes for LCP, INP and CLS until your origin passes assessment.

See speed outcomes

How a speed engagement runs

How a LASEO site speed engagement runs

Five distinct phases. Baseline first, then LCP, then INP, then CLS, then RUM. Each phase ships fixes to production before the next begins, so improvements compound month over month in CrUX.

  • 01

    CrUX baseline + Lighthouse audit (week 1)

    We pull 28-day CrUX origin and URL-level data via the PageSpeed Insights API for your top 20 templates (home, PLP, PDP, blog, pillar pages). Lighthouse runs in CI mode against the same set. Deliverable: baseline scorecard showing where each template sits versus the Good/Needs Improvement/Poor thresholds.

  • 02

    LCP analysis + image and preload optimisation (weeks 2-3)

    We profile the LCP element on every template, add fetchpriority=high and preload hints, convert hero images to AVIF or WebP with correct responsive sizes, move the LCP image out of any lazy-load layer, and configure the CDN (Cloudflare Polish, Imgix or Vercel) to serve the right format per device.

  • 03

    INP analysis + JS bundle splitting + long-task fixes (weeks 4-5)

    Chrome DevTools Performance profile of the slowest interactions. We split bundles by route, defer non-critical third parties to onload, break long tasks with scheduler.yield, and replace synchronous event handlers with passive listeners. INP is verified in field data via the web-vitals library.

  • 04

    CLS analysis + font/ad/image space reservation (week 6)

    We reserve dimensions for every image, ad slot and embed, switch web fonts to font-display: optional or use size-adjust descriptors, and stop late-loading content from pushing layout. Cumulative Layout Shift is verified across the full user session, not just initial paint.

  • 05

    Real-user monitoring + continuous tracking (ongoing)

    We instrument RUM (web-vitals JS reporting to GA4, Cloudflare Web Analytics, Vercel Analytics or SpeedCurve), set up alerting for regressions over the 75th percentile threshold, and add Lighthouse CI to your deployment pipeline so a slow PR cannot ship to production without review.

Canon Medical homepage hero from a LASEO Core Web Vitals optimisation engagement
The model
02 - How we work

We work in your repo,not behind a speed plugin.

Speed plugins concatenate, lazy-load and cache around your problems. They never fix the long task in your hydration script or the layout shift from your web font. We sit in your Next.js, Liquid or WordPress codebase, identify the root cause of each failing metric, and ship the fix as a reviewable pull request your engineers merge.

<2.5sLCP target (Good) in field data
<200msINP target (Good) in field data
<0.1CLS target (Good) in field data

What site speed work actually means

Site speed optimization, explained without the marketing fluff

Core Web Vitals is three metrics with very specific definitions, measured in two different ways, and what you optimise depends on which measurement you trust. Here is the honest decomposition.

01

LCP, INP and CLS explained

Largest Contentful Paint: time until the largest above-the-fold element renders. Interaction to Next Paint: 75th percentile of all interaction delays in a session, replacing FID since March 2024. Cumulative Layout Shift: total layout movement over the session lifetime. Good thresholds are 2.5s, 200ms and 0.1 at the 75th percentile.

02

Lab data vs field data

Lab data comes from Lighthouse running a throttled headless Chrome under controlled conditions. Field data is CrUX, which Google aggregates from real Chrome users over a rolling 28 days. Field data is what feeds the Core Web Vitals ranking signal and the GSC Core Web Vitals report. Optimising for Lighthouse without checking CrUX is optimising the wrong number.

03

Why mobile is always slower

Mobile means slower CPU (often 4-6x slower than desktop), slower network (median 4G is far from gigabit fibre), and the same JavaScript bundle being parsed and executed on a thermally throttled phone. The fix is not 'make the desktop site faster'; it is mobile-first asset budgets, route-level code splitting and avoiding heavyweight third-party tags.

04

INP is the metric most sites fail

Since INP replaced FID in March 2024, sites that used to pass Core Web Vitals started failing. INP measures the full delay from user input to next paint, so any long task on the main thread now hurts. JS-heavy SPAs (React, Vue, Shopify Hydrogen) are the most affected. Fixing INP is mostly JavaScript work, not network work.

05

HTTP/2 push is dead, 103 Early Hints is the replacement

HTTP/2 server push was deprecated by Chrome in 2022. The modern equivalent is 103 Early Hints, an HTTP status returned before the final response that lets the browser start preloading critical resources. Supported in Cloudflare, Fastly and Vercel. Pairing Early Hints with fetchpriority=high on the LCP element can reduce LCP by 200-600ms.

06

Speed plugins cannot fix everything

WP Rocket, Autoptimize, NitroPack and the Shopify equivalents can concatenate JS, defer non-critical CSS and add browser caching. They cannot fix layout shift from a Google Ads slot, INP from a heavy hydration cascade, or LCP from a hero video that has no poster image. Those require code changes.

Philips
WOOOD
Bugaboo
Balmain Hair
Martini
Intersport
CUBE
Lovens
Philips
WOOOD
Bugaboo
Balmain Hair
Martini
Intersport
CUBE
Lovens

Why LASEO vs alternatives

Site speed work compared honestly

Speed plugins, designer-led front-end shops and in-house hires all have legitimate use cases. Here is where LASEO fits and where it does not.

Typical speed work

Plugin installs and Lighthouse chasing

  • Lighthouse score from a single isolated run, screenshotted into a report.
  • Install a speed plugin (WP Rocket, NitroPack, Autoptimize) and configure it. No code changes.
  • INP is mentioned in the audit but no actual flame chart analysis is done. Recommendation is usually 'reduce JavaScript'.
  • One-off audit, no ongoing tracking. Regressions are discovered months later when traffic drops.
  • Optimised for visual polish first, with speed treated as a secondary concern. Heavy hero videos, custom fonts, animation libraries.
  • Capable engineers but speed is one priority of many. INP profiling is rarely the urgent ticket.
LASEO

Performance engineering in your codebase

  • 75th percentile CrUX field data over 28 days, cross-checked with GSC Core Web Vitals report and a Looker Studio dashboard.
  • Code-level fixes as Git pull requests to your Liquid, Next.js or WordPress codebase. Your engineers review and merge.
  • Chrome DevTools Performance profiling of the slowest interactions, long tasks split with scheduler.yield, third parties deferred, INP verified in field data.
  • Real-user monitoring via web-vitals JS, alerting on 75th percentile regressions, Lighthouse CI in the deployment pipeline.
  • Performance engineering with the same rigour as accessibility. Visual decisions are weighed against their metric cost in CrUX.
  • Speed is the engagement. Senior consultants dedicate weekly hours to field-data improvement, alongside your team.

What our speed clients say

Core Web Vitals work in their own words

Our mobile LCP went from 4.1s to 2.2s in field data over 8 weeks. The previous agency had been quoting Lighthouse scores of 92 while CrUX was deep red. LASEO read the flame charts, fixed the LCP image preload and the hydration cascade, and shipped it to our Next.js repo.
Daniël Postma
Head of Engineering · Loavies
INP was killing us after the March 2024 metric change. We dropped from 92 Good URLs to 31 overnight. LASEO profiled the long tasks, split our bundle by route, and got us back to 89 Good in two months. The GSC Core Web Vitals report went from red to green.
Saskia Knight
VP Product · Reclaimd
Layout shift from our ad slots and web font swap was costing us conversions and rankings. They reserved every dimension, switched to font-display: optional with size-adjust, and our CLS at the 75th percentile dropped from 0.34 to 0.07. Revenue per visitor lifted 11% the next quarter.
Marcus Lindholm
Head of Growth · Northvolt Stories
Our mobile LCP went from 4.1s to 2.2s in field data over 8 weeks. The previous agency had been quoting Lighthouse scores of 92 while CrUX was deep red. LASEO read the flame charts, fixed the LCP image preload and the hydration cascade, and shipped it to our Next.js repo.
Daniël Postma
Head of Engineering · Loavies
INP was killing us after the March 2024 metric change. We dropped from 92 Good URLs to 31 overnight. LASEO profiled the long tasks, split our bundle by route, and got us back to 89 Good in two months. The GSC Core Web Vitals report went from red to green.
Saskia Knight
VP Product · Reclaimd
Layout shift from our ad slots and web font swap was costing us conversions and rankings. They reserved every dimension, switched to font-display: optional with size-adjust, and our CLS at the 75th percentile dropped from 0.34 to 0.07. Revenue per visitor lifted 11% the next quarter.
Marcus Lindholm
Head of Growth · Northvolt Stories

Honest answers about site speed and Core Web Vitals LASEO

What buyers actually ask before signing a Core Web Vitals optimisation engagement.

LASEO senior consultants reviewing Core Web Vitals field data and CrUX trends

Yes, but as a smaller factor than most agencies suggest. Google has confirmed Core Web Vitals is a ranking signal since 2021, applied at the page level via the page experience system. In competitive SERPs where the top results are otherwise comparable on relevance and authority, the page with better LCP, INP and CLS in CrUX field data will usually edge ahead. In non-competitive SERPs, content quality and links matter far more. The real reason to fix speed is the user experience and conversion lift, with the ranking benefit as a bonus rather than the primary driver.

Senior strategy call

Bring a Core Web Vitals problemto a senior consultant.

30 minutes with a LASEO senior consultant. We will not pitch. We will pull your CrUX data live in the call, identify the biggest LCP, INP or CLS blocker, and tell you whether we are the right partner for the fix.

Badge Plus
Agency Partner
Sortlist Elite Agency
56+
Trusted by ambitious brands worldwide

Book a senior strategy call

Fill in the form, a senior consultant responds within one business day