“Core Web Vitals assessment: Failed” means real visitors are having a slow or jumpy experience. Here’s how to find which metric is failing and fix it on a WordPress site.

Short answer

A WordPress site fails Core Web Vitals when real visitors see a slow main image or headline (LCP over 2.5 s), a page that jumps while loading (CLS over 0.1), or slow responses to taps and clicks (INP over 200 ms). The usual causes are a heavy hero image, images without dimensions, late-loading fonts and too much JavaScript from page builders and plugins.

TL;DR

Skim this first.

  1. 01The assessment uses real Chrome visitor data from the last 28 days, so fixes take up to four weeks to show as a pass.
  2. 02LCP is usually the hero image. Compress it, serve WebP, set its size and preload it.
  3. 03CLS is usually images without dimensions, late fonts, or banners that push content down.
  4. 04INP is usually JavaScript: page-builder bundles, sliders, chat widgets and tracking scripts.
  5. 05Fix the failing metric first. A higher Lighthouse score alone doesn’t pass the assessment.
On this page
  1. What the assessment actually measures
  2. Step 1
  3. Fixing LCP on WordPress
  4. Fixing CLS on WordPress
  5. Fixing INP on WordPress
  6. When fixes aren’t enough
  7. Does passing Core Web Vitals help rankings?
  8. Key takeaways

If PageSpeed Insights shows “Core Web Vitals Assessment: Failed” for your WordPress site, it isn’t about your score. It means real visitors are waiting too long for the page, watching it jump around, or tapping buttons that respond slowly. Each of those has a usual cause on WordPress, and each one has a fix.

What the assessment actually measures

Core Web Vitals are three measurements Google takes from real Chrome users visiting your site. To pass, at least 75% of visits need to be in the “good” range for all three.

MetricWhat it measuresGoodPoor
LCP (Largest Contentful Paint)How long the main image or headline takes to appear2.5 s or lessOver 4 s
CLS (Cumulative Layout Shift)How much the page jumps while it loads0.1 or lessOver 0.25
INP (Interaction to Next Paint)How quickly the page responds to taps and clicks200 ms or lessOver 500 ms

Google uses the last 28 days of real visitor data. After you fix something, the assessment can take up to four weeks to change from failed to passed.

The PageSpeed score and the assessment are different things. The 0–100 score is a lab test run once on a simulated phone. The pass or fail comes from your real visitors. A site can score 85 and still fail, or score 60 and pass.

Step 1: find which metric is failing

Open PageSpeed Insights, enter your page and look at the top section, “Discover what your real users are experiencing”. Each of the three metrics is coloured green, orange or red. Fix the red ones first, in this order: LCP, then CLS, then INP.

If that section says there isn’t enough data, your site doesn’t get enough Chrome visits for Google to measure. Use the lab results further down the page instead.

Fixing LCP on WordPress

On most WordPress business sites the LCP element is the hero image at the top of the page. PageSpeed Insights names it under “Largest Contentful Paint element”.

The usual causes, in order of how often I find them:

  • A hero image that’s too big: a 1–2 MB PNG or JPEG where a 150–250 KB WebP would look the same.
  • The hero image is lazy-loaded, so the browser deliberately waits before fetching it.
  • Render-blocking CSS and JavaScript from the theme, page builder and plugins.
  • Google Fonts loading from another domain before the headline can show.
  • A slow server with no page caching, so every visit builds the page from scratch.
  • No CDN, so files travel from a server on the other side of the world.

The fixes:

01Compress the hero and serve WebP

Resize the image to the largest size it actually displays at, convert it to WebP and keep it under about 250 KB.

02Stop lazy-loading the hero, and preload it

Lazy loading is right for images further down the page and wrong for the first one. Exclude the hero from lazy loading and add a preload hint so the browser fetches it first.

03Turn on page caching and a CDN

Full-page caching (WP Rocket, LiteSpeed Cache or your host’s built-in cache) serves ready-made HTML. A CDN such as Cloudflare serves files from a location close to your visitors.

04Host your fonts locally

Serving font files from your own domain removes a DNS lookup and a connection to Google’s servers before text can render.

On the Snowden Electrical rebuild, these fixes plus a theme rebuild took LCP from 6.2 s to 1.4 s.

Fixing CLS on WordPress

Layout shift is the page jumping as things load: you go to tap a link and it moves. The usual WordPress causes:

  • Images, videos and iframes without width and height attributes, so the browser doesn’t reserve space for them.
  • Web fonts that load late and swap in at a different size.
  • Cookie banners, promo bars or notices that appear after a delay and push content down.
  • Ads or embeds that load into an empty space.
  • Sliders and carousels that resize after their script runs.

The fixes are mostly simple: give every image and embed explicit dimensions, preload your main font and use font-display: swap, make cookie banners overlay the page instead of pushing it, and reserve space for anything that loads late. On the Snowden site, these took CLS from 0.18 to 0.02.

Fixing INP on WordPress

INP replaced First Input Delay in 2024 and is the metric WordPress sites now fail most often after LCP. It measures how long the page takes to respond when someone taps a menu, opens an accordion or adds to cart. When the browser is busy running JavaScript, it can’t respond.

The usual causes:

  • Page-builder bundles (Elementor, Divi, WPBakery) loading on every page whether or not they’re used.
  • Sliders, animation libraries and popup plugins.
  • Third-party scripts: chat widgets, tracking pixels, tag managers and review widgets.
  • Several plugins doing the same job.

The fixes, in order:

  • Remove plugins and scripts you don’t need. This is the biggest win and costs nothing.
  • Load scripts only on the pages that use them. A contact-form script doesn’t belong on your blog posts.
  • Delay third-party scripts like chat and tracking until the visitor interacts with the page.
  • Replace heavy sliders and animation effects with lighter alternatives.
  • If a page builder is the root cause, consider rebuilding key templates without it.

When fixes aren’t enough

Most failing WordPress sites can be fixed without a rebuild. Sometimes, though, the page builder is the problem rather than the setting: every page loads dozens of scripts and styles, and there’s nothing left to switch off. That was the case at Snowden Electrical, where the Elementor version needed 72 requests and the hand-coded theme needed 18.

Thresholds to compare your own site against:

LCP over 2.5 s

Start with the hero image, caching and a CDN.

CLS over 0.1

Check images without dimensions, late fonts and banners first.

INP over 200 ms

Cut JavaScript: page builders, sliders and third-party scripts.

Does passing Core Web Vitals help rankings?

It helps, but it’s one signal among many. Google uses page experience as a tie-breaker between pages of similar relevance, so a fast page won’t outrank a much more relevant one. The bigger effect is on people: faster pages lose fewer visitors before they load, and that shows up in enquiries. Snowden Electrical’s Google Ads enquiry rate went from about 1.2% to just over 3% after the speed work, on the same ad spend.

Mohtsham Ahmad

WordPress developer and web strategist. I build fast custom themes, page-builder sites and WooCommerce stores for businesses in New Zealand, Australia and the USA.

Key takeaways

Keep these.

  1. 01
    Field data decides the pass, not the lab score.

    The PageSpeed number is a lab test; the pass or fail comes from real Chrome users.

  2. 02
    Find the LCP element before changing anything.

    PageSpeed Insights names it. On most business sites it’s the hero image.

  3. 03
    Give every image and embed a size.

    Width and height attributes stop most layout shift on their own.

  4. 04
    Less JavaScript fixes INP.

    Remove what a page doesn’t use before trying to make it faster.

Get started

Send me your URL. I’ll tell you which metric is failing, why, and what it takes to fix it, with fixes ranked by impact. No obligation.

or email hello@mohtsham.com