Slow WordPress website? 10 practical ways to improve your Core Web Vitals

LCP, INP, CLS: understanding Core Web Vitals and the 10 optimisations that really speed up a WordPress website.

Slow WordPress website? 10 practical ways to improve your Core Web Vitals

A slow website drives visitors away and weighs on SEO. Google measures the loading experience with Core Web Vitals, and a poorly configured WordPress site can quickly degrade them: a heavy theme, plugins everywhere, unoptimised images. Here is how to read these metrics and the 10 actions that really make a difference.

Core Web Vitals in a nutshell

Google uses three metrics, measured on real visitors:

  • LCP (Largest Contentful Paint): the time it takes to display the largest visible element, often the main image or heading. Good: under 2.5 seconds.
  • INP (Interaction to Next Paint): responsiveness to clicks and typing. Good: under 200 milliseconds. It replaced FID in 2024.
  • CLS (Cumulative Layout Shift): visual stability, i.e. elements that “jump” while the page loads. Good: under 0.1.

Measure before you optimise

Start with PageSpeed Insights, page by page, and the Core Web Vitals report in Google Search Console. Distinguish field data (your real visitors, the data Google uses) from lab data (a simulation, useful for diagnosis).

1. Hosting that is up to the job

No optimisation makes up for a slow server. Check the PHP version (use a recent, maintained version), the server response time and the presence of server-side caching.

2. Page caching

A caching plugin serves pre-generated pages instead of recomputing every visit. On a LiteSpeed server, LiteSpeed Cache is the natural choice; elsewhere, solutions such as WP Rocket do the job very well. One caching plugin, never two.

3. Images in the right format and size

  • Serve modern formats (WebP or AVIF).
  • Resize images to their real display size.
  • Specify width and height to avoid layout shifts (CLS).

4. Don’t lazy-load the main image

Lazy loading is excellent for images below the fold, but the image at the top of the page must load immediately. Deferring it directly hurts LCP. You can even prioritise it with the fetchpriority="high" attribute.

5. Fewer plugins

Each plugin can add scripts, styles and database queries. Take stock: remove what you no longer use and replace “Swiss army knife” plugins with targeted code where possible.

6. A lightweight theme rather than a page builder

Page builders such as Divi or Elementor are convenient, but they generate a lot of code and scripts on every page. A custom theme only ships what the website needs. It is often the most powerful lever, and it is why we code our themes from scratch.

7. Controlled fonts

  • Limit the number of font families and weights.
  • Use font-display: swap to show text immediately.
  • Host fonts locally or preconnect to the font service.

8. Deferred JavaScript

JavaScript blocks rendering and hurts INP. Load scripts with defer, delay third-party scripts (chat, pixels, videos) and remove the ones you no longer need.

9. A CDN for static files

A CDN serves images, CSS and JavaScript from a server close to the visitor. Useful as soon as your audience is spread geographically.

10. A clean database

Too many post revisions, data left by deleted plugins, autoloaded options: a cluttered database slows down the admin and sometimes the website. Regular clean-ups, with a backup first, are a must.

Where to start?

If you only do three things: page caching, optimised images without lazy loading on the main image, and a plugin clean-up. If the website is still slow, the problem almost always lies with the theme or the page builder, and a technical overhaul becomes more cost-effective than patches.

Frequently asked questions

Do Core Web Vitals really affect SEO?

Yes, they are part of the page experience signals Google uses. They don’t replace content relevance, but with equivalent content a fast website has the edge — and it converts better.

Is a caching plugin enough to make WordPress fast?

No. Caching speeds up the server response, but it doesn’t fix a heavy theme, oversized images or too much JavaScript. It is a starting point, not a complete solution.

Should I abandon Divi or Elementor?

Not necessarily for a small website. But if your Core Web Vitals stay poor despite optimisation, a custom theme is often the only way to reach good scores durably.