Core Web Vitals

Core Web Vitals fixed where they are measured

Google judges you on field data from real visitors, not on a lab score from your desktop. We diagnose against that data, fix the causes in the code, and verify the change in Search Console.

  • Field data first A perfect lab score with failing field data means you fixed the wrong thing.
  • Three metrics, three causes LCP, INP and CLS are different problems and need different fixes.
  • Verified afterwards Re-tested and confirmed in Search Console, not screenshotted once and invoiced.

See a speed result

Core Web Vitals passing after a store plugin and template cleanup

Get a free vitals audit

Send your URL. We will check your field data and send the diagnosis within 48 hours.

🔒 No spam. No cold calls. No obligation.

Reply in 1 business day Your data stays private Keep the plan either way

Request received!

Thanks! We have your request. Check your inbox within 48 hours for your written proposal. Nothing else needed from you.

Google Ads & SEOSearch, Maps and Shopping campaigns
Meta Ads ManagementFacebook and Instagram campaigns
WordPress & WooCommerceCustom builds, stores and plugins
Month to MonthNo long contracts, cancel any time
Sound Familiar?

Why the scores do not improve

Three reasons, and the first one accounts for most of it.

Optimising the lab scoreDesktop tests pass, real visitors on mid range phones still fail, and Search Console still says poor.
Treating three metrics as oneCaching improves LCP and does nothing for INP, which is a JavaScript problem.
Fixes that do not surviveA plugin is added next month, the score drifts back, and nobody notices for a quarter.
What's Included

What the work covers

Diagnosed per metric, because they have nothing in common except the report they appear in.

Field data diagnosis

Search Console and real user data first, then lab tests to find the cause.

LCP

Server response, render blocking resources, hero images and fonts, in that order.

INP

JavaScript execution, third party scripts and event handlers that block the main thread.

CLS

Image and iframe dimensions, injected banners, fonts and late loading elements.

Images and media

Correct formats and sizes, lazy loading below the fold, dimensions always set.

Verification

Search Console re-checked over the weeks after, because field data lags the fix.

Failing Core Web Vitals and not sure why?

Send the URL. We will tell you which metric is failing, why, and what fixing it involves.

Get My Free Vitals Audit
Our Process

How the work runs

Diagnose against field data, fix in the code, wait for the data to confirm it.

  1. 1

    Diagnose

    Search Console field data, then lab traces to find the specific cause on the specific templates.

    Week 1
  2. 2

    Fix

    Code and template changes, script loading, image pipeline and caching, per metric.

    Weeks 1 to 3
  3. 3

    Re-test

    Lab confirmation on real devices, not just the desktop tool.

    Week 3
  4. 4

    Confirm

    Search Console watched over the following weeks, since field data updates on a rolling window.

    Weeks 4 to 8
The First 90 Days

What changes per metric

Concrete, so you can check each one afterwards.

LCP

Largest Contentful Paint

  • Server response time
  • Render blocking CSS and JS
  • Hero image format and preload
  • Font loading
INP

Interaction to Next Paint

  • Heavy JavaScript split or deferred
  • Third party scripts audited
  • Long tasks broken up
CLS

Cumulative Layout Shift

  • Dimensions on all media
  • Space reserved for banners and ads
  • Font swap handled
Results

Technical work we have done

Who You Work With

Who does the work

Bint E Hafsa, WordPress Developer and SEO Lead, HAxel Digital

Bint E Hafsa

WordPress Developer and SEO Lead, HAxel Digital

Hafsa does this as development work rather than plugin configuration, which is the only way INP in particular gets fixed. Templates, script loading and image pipelines are code changes, and code is where the causes live.

Core Web VitalsWordPressWooCommerceTechnical SEO
Get My Free Vitals Audit
Why It Works

Three metrics, three different jobs

Which is why one plugin cannot fix all of them.

Get My Free Audit
3
Metrics that make up Core Web Vitals
28
Day rolling window Search Console reports on
Mobile
The data set that actually counts
48 hrs
To your free vitals diagnosis
The Difference

Fixing causes vs chasing a score

The usual approach
HHAxel Digital
Optimise the desktop lab score
Diagnose against mobile field data
One caching plugin for all three metrics
A different fix per metric
Screenshot and invoice
Verified in Search Console weeks later
Theme left untouched
Templates and scripts changed at the source
Drifts back in a quarter
Causes removed, so it holds
Investment

What the work costs

Quoted as a fixed price after the diagnosis, since the cause decides the effort.

Which metric is failingCLS is usually quick. INP on a script heavy site is the expensive one.
Theme and builderPage builder markup limits how far cleanup can go.
Number of templatesA store has more page types to fix than a brochure site.
HostingServer response time is part of LCP, and some hosts cap what is achievable.

What you can count on

We diagnose before quoting, and if passing is not realistically achievable without a rebuild we will say so up front rather than billing for an improvement that never clears the threshold.

Want your vitals passing on mobile?

Free diagnosis of your field data within 48 hours.

Send My Site

Lab data and field data are not the same thing

A lab test simulates one load on one connection from one place. Field data is collected from your actual visitors, on their actual phones, over a rolling window of about a month. Google uses the field data. This is why sites with a proud lab score still see poor in Search Console, and why optimising the score alone is a way to spend money without moving anything.

Three metrics, three unrelated causes

  • LCP is about how fast the main content appears: server time, render blocking resources, hero images, fonts
  • INP is about responsiveness: JavaScript running when it should not, usually including third party scripts
  • CLS is about stability: missing image dimensions, injected banners, late loading fonts and elements

A caching plugin helps the first and does essentially nothing for the other two, which is why sites plateau after installing one.

Why the fix has to hold

Speed drifts. A plugin gets added, a tracking script goes in, an oversized image is uploaded, and six months later the site is back where it started. Fixing causes rather than symptoms is most of the answer, and a maintenance routine that re-checks quarterly is the rest.

Where this sits

Vitals are one part of technical SEO, and on WordPress the fixes are development work, which is why this page and speed optimisation overlap. If you want the SEO framing, you are in the right place; if you want the site made faster generally, that page is the better starting point.

FAQ

Core Web Vitals FAQ

What clients ask about vitals work.

Message Us

They are a ranking signal, and a minor one next to relevance and links. The stronger argument is commercial: on mobile, slow and unstable pages lose buyers before they lose positions.

Because they measure different things. The score is a lab simulation; Search Console reports field data from real visitors on real devices over a rolling window. Field data is the one Google uses.

Usually three to six weeks, because the report is based on a rolling window of real user data. Nothing is wrong if it does not move the next morning.

Interaction to Next Paint measures how quickly the page responds when someone taps. Failures are almost always JavaScript: too much of it, running at the wrong time, often from third party scripts.

Partly. Caching and image plugins help LCP. Nothing in a plugin settings screen fixes heavy JavaScript or a bloated template, which is where INP and much of LCP actually come from.

Related. This page is the metric side; the broader WordPress work is <a href="/wordpress-development/speed-optimization/">speed optimisation</a>, which is usually where the fixes get made.

Free vitals diagnosis

Find out which metric is failing and why

Send your URL. We check your field data and lab traces and reply within 48 hours.

  • Which of the three metrics is failing, on mobile
  • The specific cause, not a generic recommendation
  • What fixing it would realistically involve

What happens next

  1. 1You send the form. It takes about 30 seconds.
  2. 2We pull your field data and run lab traces.
  3. 3Your diagnosis arrives by email.

Get your free vitals diagnosis

Diagnosed by hand, within 48 hours.

🔒 No spam. No cold calls. No obligation.

Reply in 1 business day Your data stays private Keep the plan either way

Request received!

Thanks! We have your request. Check your inbox within 48 hours for your written proposal. Nothing else needed from you.