Performance guide

How to improve WordPress website speed and Core Web Vitals

How to measure speed properly, what LCP, INP and CLS mean, and the WordPress-specific fixes that make the biggest difference, in roughly the order to try them.
On this page
Talk to us

Tell us what is happening and we will reply with a clear next step.

Measure first: lab data vs field data

Before changing anything, measure. Two kinds of data matter:

  • Lab data comes from a simulated page load: PageSpeed Insights’ Lighthouse section, Chrome DevTools, WebPageTest. It’s repeatable and detailed, which makes it ideal for diagnosing problems and checking fixes.
  • Field data comes from real Chrome users visiting your site over the previous 28 days (the Chrome UX Report). It’s shown at the top of PageSpeed Insights and in Search Console’s Core Web Vitals report. It reflects real phones, real networks and real behaviour.

Google’s Core Web Vitals assessment uses field data. A perfect lab score doesn’t guarantee passing, and passing doesn’t require a perfect score. Use the lab to find and fix problems; use the field to judge success.

Low-traffic sites may not have enough field data to show. In that case, lab data on mobile settings is your best guide.

The three Core Web Vitals

MetricMeasuresGoodPoor
LCP · Largest Contentful PaintHow quickly the main content appears≤ 2.5 s> 4 s
INP · Interaction to Next PaintHow quickly the page responds to taps, clicks and typing≤ 200 ms> 500 ms
CLS · Cumulative Layout ShiftHow much the layout jumps while loading≤ 0.1> 0.25

A page passes when at least 75% of visits are “good” for all three. INP replaced First Input Delay (FID) as a Core Web Vital in March 2024, so guides still talking about FID are out of date.

Fixing LCP: make the main content appear sooner

LCP is usually the hero image or the main heading. The fixes, roughly in order of impact:

  1. Speed up server response (TTFB). Use page caching so most visitors get a ready-made HTML page instead of WordPress building it each time. If the server is still slow, look at PHP version, object caching, database bloat, slow plugins, and whether your hosting plan is adequate.
  2. Optimise the LCP image. Size it correctly for the screen (not a 4000px photo scaled down), serve modern formats (WebP or AVIF), and don’t lazy-load it. Lazy-loading the hero image is one of the most common mistakes, often applied automatically by optimisation plugins. Consider giving it fetchpriority="high".
  3. Reduce render-blocking CSS and JavaScript. Large stylesheets and scripts in the `` delay everything. Remove unused plugins, load scripts only on pages that need them, and defer non-critical JavaScript.
  4. Use fewer web fonts. Each font file is another download before text looks right. Limit families and weights; self-host fonts and preload the main one.

Fixing INP: make interactions feel instant

Poor INP means the browser is too busy running JavaScript to respond when someone taps. On WordPress, the usual suspects are:

  • Third-party scripts: chat widgets, heatmaps, multiple analytics and ad tags, social embeds. Each runs code on the main thread. Remove what you don’t use; load the rest after interaction or idle time.
  • Heavy page builders and theme scripts that run large amounts of code on every page.
  • Sliders, carousels and animation libraries loaded site-wide.
  • Plugins adding scripts to every page when they’re only needed on one (forms, galleries, maps).

Test with Chrome DevTools’ Performance panel: interact with menus, buttons and forms on a mobile-throttled profile and look for long tasks.

Want it measured and fixed for you?

We find the real causes, fix them on staging and report before-and-after with field data.

Fixing CLS: stop the page jumping

  • Set width and height on images and videos (WordPress does this for images inserted normally; custom code and some builders don’t), or use CSS aspect-ratio.
  • Reserve space for embeds, ads and banners that load late, including cookie and consent banners.
  • Avoid inserting content above existing content after load, such as announcement bars that push the page down.
  • Match fallback fonts to web fonts so text doesn’t reflow when the web font arrives.
Useful, with care

About optimisation plugins

Caching and optimisation plugins can deliver most of the easy wins: page caching, minification, delaying scripts, image conversion. But “turn everything on” settings can backfire:

  • Delaying all JavaScript can break menus, forms and checkouts, and can change the order in which consent banners and analytics load.
  • Lazy-loading everything delays the LCP image.
  • Combining files can make caching less effective on modern HTTP/2 hosting.

Turn features on one at a time, on staging, and test forms, menus, checkout and your consent banner after each change. One well-configured plugin beats three overlapping ones.

WooCommerce-specific tips

  • Cart, checkout and account pages can’t be fully cached; keep them lean with fewer scripts and extensions.
  • Product and category pages can be cached. Make sure your caching setup handles cart fragments sensibly.
  • Optimise product images in bulk, and use consistent image dimensions so grids don’t shift.
  • Busy stores need enough PHP workers on the server; a store waiting for workers feels slow at checkout regardless of front-end optimisation.

A sensible order of work

  1. Measure key templates on mobile: home, a service or product page, a blog post, checkout.
  2. Fix server response with caching and hosting basics.
  3. Fix the LCP image on each template.
  4. Remove unused plugins and third-party scripts.
  5. Defer or delay what remains, carefully.
  6. Fix layout shifts.
  7. Re-measure in the lab, then watch field data over the next four weeks.

Official references: web.dev’s guides to Core Web Vitals, optimising LCP, INP and CLS. If you’d like us to do it, see website speed optimization.

Frequently asked questions

There’s no magic number. Focus on passing Core Web Vitals in the field data; the lab score is a diagnostic tool.

Field data covers the previous 28 days, so improvements appear gradually over about four weeks.

It often helps with server response and LCP, but it can’t fix heavy third-party scripts, oversized images or a slow host on its own.

Page experience is one signal among many. Speed has a bigger effect on whether visitors stay and convert.

About this guide

WebExpert Solutions logo
Written by Web Expert Solutions

We build, repair, move and maintain WordPress and WooCommerce websites for businesses in the UAE, US, UK and Canada. This guide reflects how we approach the problem in client work, checked against the official documentation linked in the text. Published 16 October 2026.

Found an error or something out of date? Tell us and we’ll correct it.

Related guides

Illustration: WordPress admin access
Performance ·
23 min read

Slow WordPress Admin? Find the Bottleneck Before Upgrading

Diagnose a slow WordPress admin by tracing the affected task, browser requests, queries, external calls, jobs, and hosting limits before choosing a correction.
Illustration: server response time
Performance ·
23 min read

Reduce WordPress Server Response Time: Diagnose TTFB

Reduce WordPress server response time with evidence from cached, uncached, logged-in, and regional requests. Find the slow layer and preserve correct behavior.
Illustration: Largest Contentful Paint
Performance ·
23 min read

Fix Largest Contentful Paint in WordPress: A Diagnostic Guide

Improve Largest Contentful Paint in WordPress by finding the measured element and costly phase. Check response, discovery, transfer, rendering, and functions.

Slow site? We'll find out why.

info@webexpert.solutions · +92 345 7723858 · Faisalabad, Pakistan · Serving the UAE, US, UK & Canada