WordPress · Performance · Core Web Vitals

How to fix Core Web Vitals on a WordPress site

The Core Web Vitals fixes that worked on my WordPress client sites: cutting scripts, lean builders, caching, sized images and fewer plugins, in order.

Mohit Goyal 5 min readUpdated 26 Oct 2026
How to fix Core Web Vitals on a WordPress site

To fix Core Web Vitals on a WordPress site, start by removing what the page does not need (preloaders, animation scripts, unused plugins), then size and lazy load images, then add page caching. On my client sites the biggest gains came from deleting things rather than installing another optimisation plugin. The three metrics to work on are Largest Contentful Paint (LCP), Interaction to Next Paint (INP) and Cumulative Layout Shift (CLS).

What are Core Web Vitals in plain terms?

They are three measurements Google collects from real Chrome users and reports in Search Console and PageSpeed Insights.

MetricWhat it measuresUsual WordPress causeFirst fix
LCPHow fast the main content appearsA huge hero image or video, a preloader, render-blocking CSS and JavaScriptRemove the loader, size the hero image, load it early
INPHow quickly the page responds to a tap or clickHeavy JavaScript from sliders, animation libraries and widgetsRemove or delay non-essential scripts
CLSHow much the layout jumps while loadingImages without dimensions, late banners, popups, web fonts swappingSet image dimensions, reserve space for late elements

Lab tools like Lighthouse are good for debugging. The field data in Search Console is what Google uses, and it updates slowly because it is a rolling window of real visits. To turn a PageSpeed Insights or Lighthouse report into a ranked fix list, paste it into the free Page Speed Fix Planner.

Where should you start on a slow WordPress site?

  1. 1

    Measure on mobile

    Run PageSpeed Insights on the homepage and your top landing pages, and open the Core Web Vitals report in Search Console to see which URL groups fail.

  2. 2

    List what loads

    Check the network waterfall. Note every script, font, image and video, and which plugin or theme feature adds it.

  3. 3

    Remove

    Delete loaders, unused plugins, demo content and scripts that do not earn their weight.

  4. 4

    Fix images

    Resize, convert and lazy load images, starting with the hero on each template.

  5. 5

    Cache and retest

    Add page caching, then retest the same pages on mobile and compare.

Which scripts should you remove first?

Start with anything that delays the first view for decoration.

  • Preloaders and smooth-scroll scripts. The Crowne Plaza London Kingston site had a heavy loader that delayed every visit. In the rebuild I removed the loader and the smooth-scroll scripts. The gains came from removing scripts rather than adding them.
  • Plugins you do not use. The theme demo behind the Raasa launch page had installed WooCommerce on a coming-soon page. Removing it cut weight and attack surface.
  • Overlapping plugins. Two slider plugins, two form plugins, two SEO plugins. Pick one of each. I cap client sites at a dozen active plugins.
  • Third-party widgets. Chat bubbles, review widgets and popups each add JavaScript. Keep the ones that make money, and load them after the page is usable.

How do you fix slow images?

Images are the largest bytes on most pages and are often the LCP element.

  • Resize to the slot. For the Grow Organic launch pages I fixed image specs up front (1920 by 1080 for the hero, 1000 by 1000 and 1080 by 1080 for product images), so new listings arrive at the right size.
  • Serve separate mobile images where the crop differs. Wow Vastra has separate desktop and mobile banner sets.
  • Re-export from originals when photography is the selling point. On Magpie Retreat I re-exported every image at the right dimensions and compression instead of running a blanket optimiser, so the photos stayed sharp.
  • Lazy load below the first screen, and never lazy load the hero image.
  • Set width and height on every image so the browser reserves space and the layout does not jump.

For the full method, see how to optimise website images without losing quality.

Does the page builder matter?

It sets the starting point. Bricks Builder outputs lean markup: Ravens Ait, with WP Rocket for caching, has a reported PageSpeed score of 94 or higher despite video and heavy photography.

Elementor can get there with discipline. Samko Holdings, an Elementor Pro build, measured 96 on desktop and 90 on mobile in PageSpeed Insights after launch, and I delivered GTmetrix reports alongside as a baseline. My own Inspired Monks site runs on Elementor with custom caching logic, lazy loading and image optimisation at upload. More on this in Bricks vs Elementor vs Oxygen.

What about caching and hosting?

Caching comes after the cleanup, not instead of it.

  • Page caching with a plugin such as WP Rocket, which I use on Ravens Ait and Whitfield Service Station.
  • Load assets only where they are used. On Wow Vastra, moving asset loading into the theme and adding caching brought the desktop homepage to about 1.5 seconds, measured after the change.
  • Watch host-level caches. On two sites, GoDaddy's cache layer was swallowing form submissions. Upgrading PHP from 8.0 to 8.3 fixed it. When something breaks after a speed change, check the hosting layer before the plugin.
  • Stay on a supported PHP version. It is a security issue as much as a speed one.

How do you handle a video hero?

Treat it as progressive enhancement. On the Procol Nexus 2026 page, the full-screen video hero is the heaviest asset, so the page stays usable while it loads. On WordPress the same idea applies: show a compressed poster image immediately, load the video after, and keep scroll animations subtle, as I did on the Warren House homepage.

How do you know the fixes worked?

Retest the same pages on mobile in PageSpeed Insights, then watch the Search Console report move over the following weeks. Keep a before and after record, ideally GTmetrix or PageSpeed reports saved on launch day, so you have a baseline to hold future changes against.

If you would rather hand this over, I do it as part of my technical SEO and Core Web Vitals service. Send me the URL and I will tell you what I would remove first.

Frequently asked

Do Core Web Vitals affect Google rankings?+

They are part of Google's page experience signals. Relevance still matters more, but a slow page loses visitors before rankings ever come into it.

Will a caching plugin fix my Core Web Vitals?+

Rarely on its own. Caching speeds up the server response, but it does not shrink oversized images or remove heavy scripts that hurt LCP and INP. Clean up first, then cache.

Is Elementor too slow to pass Core Web Vitals?+

No. It needs discipline. A responsive Elementor Pro site I launched measured 96 on desktop and 90 on mobile in PageSpeed Insights.

Why is my mobile score so much lower than desktop?+

PageSpeed Insights tests mobile on a simulated slower phone and network, so heavy JavaScript and large images hurt far more. Most of your visitors are probably on mobile, so that is the score to fix.

How many plugins is too many?+

There is no magic number, but I cap client sites at a dozen active plugins. Every plugin above that is a future performance ticket.

Mohit Goyal

Written by Mohit Goyal

Senior Web Developer in Gurugram, India. 100+ fast, SEO-friendly sites shipped in 4+ years with Next.js, React and WordPress, including the procol.ai rebuild. Send me your next project.

Keep reading

Let's build

Have a site that needs to be fast, rank and convert?

Open to Work. Usually replies within a day.