Core Web Vitals for WooCommerce: what actually moves the needle

Most Core Web Vitals advice is written for generic websites. WooCommerce stores fail these metrics in specific, predictable ways, and if you know where to look you can fix the things that matter and ignore the things that don’t. Here’s what actually moves the needle, in the order I’d tackle it.

First: measure the field, not the lab

Google ranks you on field data — what real visitors on real devices experience, collected in the Chrome UX Report. A perfect PageSpeed lab score means nothing if your actual customers on mid-range phones are having a slow time. Check Search Console’s Core Web Vitals report and the “field data” section of PageSpeed Insights first. That’s what counts.

LCP — Largest Contentful Paint

This is how long until the biggest thing on screen shows up. On a store it’s almost always the hero image or the main product image. The usual culprits:

  • A slow server response, so the page hasn’t even started arriving yet (see why your store is slow — LCP can’t be good if TTFB is bad).
  • The hero image is huge, unoptimised, and not served as WebP/AVIF.
  • The image isn’t preloaded, so the browser discovers it late.

Fix the server, compress and properly size the hero, preload it, and LCP usually falls into line.

CLS — Cumulative Layout Shift

This is the annoying jump where you go to tap something and the page moves. On stores it’s caused by:

  • Images and embeds without width and height, so the browser doesn’t reserve space and everything jumps when they load.
  • Web fonts swapping in and reflowing text.
  • Dynamically injected banners — cookie notices, promo bars, upsells — that push content down after paint.

Set explicit dimensions on media, load fonts with a sensible fallback, and reserve space for anything you inject. CLS is usually the cheapest of the three to fix.

INP — Interaction to Next Paint

INP replaced FID and it’s the one catching a lot of stores out. It measures how quickly the page responds when someone actually interacts — tapping add-to-cart, opening a filter, expanding a menu. The enemy is heavy JavaScript blocking the main thread: bloated page builders, a stack of third-party scripts, and — reliably — cart fragments firing on every page. Trim the JavaScript, defer what isn’t needed immediately, and get the third-party scripts out of the critical path.

The priority order

If you can only do three things:

  • Fix the server response first — it caps how good LCP can ever be.
  • Fix CLS next — it’s cheap and it’s the most visible to customers.
  • Then grind down INP by cutting JavaScript weight.

Core Web Vitals are part performance and part technical SEO — a fast store that Google can measure well tends to rank and convert better. If you want yours driven into the green without the trial and error, that’s a performance engagement, and a store audit will tell you which of the three is actually holding you back today.

Want a hand with something like this?

Tell me the URL, the platform, and what’s stuck. I’ll come back with a straight answer.

Get in touch