Core Web Vitals for WordPress: What Actually Matters?

What LCP, INP and CLS actually measure, what slows each one down on a WordPress site, and what fixing them did on real sites I’ve worked on.

Core Web Vitals dashboard illustration

An Elementor site, rebuilt as a block theme

Elementor
Measure
Rebuilt
56
Mobile speed score 40 points up
96
8.25s
Main content on a phone 4× sooner
2.03s
4.75s
First thing on screen 3.25 s sooner
1.50s
0.063
Layout shift Rock steady
0.001
A service business site I rebuilt in 2026. Home page tested with Google’s Lighthouse on a simulated phone, median of three runs, both versions on the same server. Same content, same design. After launch it scores 100 on desktop.

Core Web Vitals can sound more complicated than they need to be.

If you have ever tested your WordPress site in PageSpeed Insights, you have seen the terms: LCP, INP, CLS, render-blocking resources, unused JavaScript. It is a lot. But for most sites the goal isn’t a perfect score. It is a site that feels fast, stable and easy to use for real visitors. That is what Core Web Vitals are trying to measure.

The numbers above are from a site that had already been tuned as far as its page builder allowed. I rebuilt it as a custom block theme, keeping the same design and content, and it became four times quicker on a phone. Most sites don’t need a rebuild, though. The fixes further down cover the photos, fonts and scripts I find on nearly every slow WordPress site.

LCP, INP and CLS: the three Core Web Vitals

Google judges each one on the slowest quarter of real visits, so a fast result on your own laptop doesn’t mean much on its own.

LCP: how long the main content takes to appear

Largest Contentful Paint is the moment the biggest thing on the first screen, usually the hero image or the headline, has loaded. Good is 2.5 seconds or less. Over 4 seconds is poor. It is often the most important of the three on a WordPress site, because it is how fast the page feels when someone lands on it.

What I usually find behind a slow LCP:

  • Large hero images and sliders
  • Slow hosting or no page caching
  • Heavy themes and page builders
  • CSS that blocks the page from drawing
  • Fonts that load too slowly
  • The hero image being lazy-loaded, so the browser fetches it last

Images are the usual winner. On one small business site the header images alone came to 16.2 MB. Converting them to the right format, with no resizing and no visible change, took the home page from about 6 MB to 1 MB.

Before Lower is better After
6,017 KB
Home page 83% lighter
1,041 KB
4,883 KB
Equipment page 93% lighter
357 KB
2,787 KB
About page 83% lighter
460 KB

Page weight measured logged out at phone width. Photos saved as PNG converted to JPEG at quality 90, checked pixel by pixel against the originals.

INP: how quickly the page responds

Interaction to Next Paint measures the delay between a tap or click and the page reacting to it. Good is 200 milliseconds or less. Over 500 is poor. It can only be measured with real visitors, which is why PageSpeed’s lab test shows Total Blocking Time instead.

The cause is nearly always JavaScript:

  • Page builder scripts
  • Plugins loading their files on every page
  • Tracking and tag manager scripts
  • Chat widgets, popups and cookie banners
  • WooCommerce scripts on pages that sell nothing

Tracking is the one people don’t expect. On a brand new site that scored 99 to 100 on mobile, adding the standard Google Tag Manager snippet dropped it to 75–85 and pushed the main content from 1.7 to 4.5 seconds. Loading the tag manager after the visitor’s first tap or scroll brought all 13 pages back to 98–100.

Standard snippet Lower is better After first tap
4.5 s
Main content, mobile 2.8 s sooner
1.7 s

PageSpeed Insights, mobile. If you run Google Ads, visitors arriving from an ad still need the tag straight away, so they are exempt; otherwise the delay costs you the click data.

CLS: whether the page holds still

Cumulative Layout Shift adds up how much things jump around while the page loads. Good is 0.1 or less. Over 0.25 is poor. It is why you sometimes tap the wrong link while a page is still loading.

  • Images without set dimensions
  • Web fonts swapping in at a different size
  • Cookie banners and announcement bars pushing the page down
  • Ads, embeds and form widgets that appear late
  • Sliders and sticky headers

The fixes are usually small once you know which element moves. Each of these took about an hour or less:

Before Lower is better After
0.440
Space kept for a spam-check box Desktop score 80 → 100
0.011
0.510
Space kept for images while they load Desktop score 70 → 92
0.012

Layout shift on desktop, two client sites, one fix each. Google’s limit for good is 0.1.

WordPress is rarely the problem

The problem is usually what gets added over time: a page builder, a plugin for every feature, analytics, forms, cookie tools, sliders, embedded videos. Each one seems small. Together they slow the site down, which is why performance tends to get worse gradually.

I tested this directly. A well-built WordPress page was about half a second behind the same page built in Astro, and over two and a half seconds ahead of a typical page-builder site. The full test is in Astro vs WordPress: a fair speed test.

Mobile main content time: Astro static rebuild 1.58 s, WordPress well built, block theme 2.10 s, WordPress page builder 4.88 s, 0.52 s Astro’s lead over well-built WordPress, 2.78 s what the build costs a page-builder site.

Your PageSpeed score isn’t the whole story

A good score helps, but sites can score well and still feel slow, or score lower because of a few warnings while feeling fine. PageSpeed Insights actually shows two different things. The section at the top, when your site gets enough traffic, is real Chrome visitors over the last 28 days. The score underneath is one simulated phone on one connection.

The PageSpeed score

  • Tests one simulated device and connection
  • Flags technical warnings, useful and otherwise
  • Can tempt you to chase 100
  • Changes a little every time you run it

Real performance

  • Comes from the people who actually visit
  • Shows whether pages load, respond and hold still
  • Points you at the improvements that matter
  • Is what Google uses for Core Web Vitals

For a business site, a fast, clear, reliable experience matters more than a perfect score.

How to improve Core Web Vitals on WordPress

Not every PageSpeed warning deserves the same attention. This is the order I work in on most WordPress sites:

Test the pages that matter

The home page can be fine while service pages, posts or the shop are slow. Start with the pages that bring in leads and sales.

Find the actual LCP element

PageSpeed names it. Is it a hero image, a slider, a heading? Is it being lazy-loaded?

Size and compress images

The right size for the screen and a modern format. This is usually the biggest single saving.

Stop plugins loading everywhere

A form plugin only needs its files on the page with the form.

Delay what can wait

Tracking, chat and other third-party scripts can load after the first tap or scroll.

Give everything its space

Images, embeds, banners and fonts should take their space before they load, so nothing moves.

You don’t need to fix everything at once. Start with your most important pages and your mobile visitors.

Check your own site for free

My free health check runs these tests for you. It reads eight pages of your site the way a visitor on a phone sees them, then sends a two-page report in plain English covering four things:

  • SpeedHow long your main content takes on real visitors’ phones, against Google’s “good” range.
  • Google basicsPage titles, descriptions and how your pages look when shared.
  • AI-readyWhether AI assistants and agents can read and use your pages.
  • Trust and mobileSecure connection, and how easy you are to contact from a phone.

It ends with what is already working and what to fix first.

Page one of an example health-check report: a verdict, traffic lights for speed, Google basics, AI readiness and trust, and the main content time on a scale from good to poor

When to get help with WordPress speed

Some of this you can do yourself: removing plugins you no longer use, compressing large images, setting up caching, replacing a heavy slider. If the site still feels slow, or Search Console is reporting Core Web Vitals problems, it is worth a proper review. Especially if your site:

  • Uses a page builder
  • Has a lot of plugins
  • Is slow on phones
  • Runs WooCommerce
  • Feels slow despite a decent PageSpeed score
  • Has had optimisation work before without a clear result
  • Brings in leads, bookings or sales

My performance audit finds what is actually holding the site back and turns it into a clear plan. If you would rather not think about it again, a maintenance plan keeps the site fast as it changes. You can see what the work did for other sites in the case studies.

Core Web Vitals: common questions

LCP of 2.5 seconds or less, INP of 200 milliseconds or less and CLS of 0.1 or less, for at least three quarters of real visits. Pass all three and the page passes.

The test runs on a shared machine over a simulated connection, so it varies from run to run. Run it several times and look at the middle result, not the best or worst one.

They are part of how Google judges page experience, but relevant, useful content matters far more. A pass won’t lift a weak page above a better one. Speed matters most for the visitors you already have.

Google only reports real-visitor data once a page gets enough Chrome traffic. Until then, the lab test in PageSpeed Insights is the best guide you have.

Rarely. A well-built WordPress page passes comfortably. The slow part is usually the page builder and plugins, not WordPress. My Astro vs WordPress test has the numbers.