Shopify Core Web Vitals 2026: a working checklist

Here’s a number that should scare you: nearly half of all websites fail Google’s Core Web Vitals. And most Shopify store owners have no idea theirs is one of them.

So let me save you the guesswork.

This is a working checklist for Shopify themes in 2026. Not the fluffy stuff. The items that actually move the score, ranked by what I’ve measured to matter most in real, live stores.

Let’s go.

Largest Contentful Paint (LCP)

On Shopify, LCP is almost always one of two things: your hero image or the big H1 sitting above the fold.

Want to fix it fast? Do these:

  • Preload the hero image with <link rel="preload" as="image">. This alone buys you a 200 to 400ms improvement. Instantly.
  • Serve the hero in AVIF with WebP and JPG fallbacks. And don’t skip the JPG. Some bots still need it.
  • Set explicit width and height on every image. No exceptions. Full stop.
  • Inline your critical CSS for everything above the fold, then defer the rest. Shopify themes that ship one giant theme.css file? They’re leaving 300ms+ on the table. That’s free speed you’re throwing away.

Cumulative Layout Shift (CLS)

You know that annoying jump where you go to click something and the whole page shifts? That’s CLS. And on Shopify, it’s almost always one of three culprits:

App-injected DOM (countdown timers, review widgets, pop-ups), web fonts swapping in, or lazy-loaded images with no dimensions set.

So here’s how you kill it:

  • Audit every app for CLS impact. Most third-party review widgets inject themselves above the fold and shove everything down the page. That’s a killer.
  • Use font-display: swap only if you also set fallback font metrics to match the loaded font. Otherwise you’re just trading one shift for another.
  • Lazy-load below-the-fold images only. Never the hero. Ever.

Interaction to Next Paint (INP)

This is the new kid. INP replaced FID back in March 2024, and it’s stricter.

For Shopify, INP problems almost always come down to app scripts blocking the main thread when someone clicks.

So how do you find them? Run a Lighthouse INP profile with throttling set to “Mobile slow 4G.” Then look at the long task waterfall. Anything above 200ms? That’s a candidate for the chopping block.

The App Audit (This Is the Big One)

Want to know the single biggest Core Web Vitals win on a typical Shopify store?

Auditing your apps. Hands down.

Every active app ships its own JavaScript bundle and stylesheet. And it adds up fast. I routinely find stores running 8 to 12 apps that pile on 1.5MB or more of JavaScript. That’s a ton of weight slowing your store to a crawl.

Here’s the fix pattern that works:

  1. Figure out what each app actually does (usually it’s one feature)
  2. Rebuild that feature as native Liquid plus lightweight JS
  3. Uninstall the app

It’s typically a 2 to 3 week project. And it pays for itself in conversion uplift inside three months. So it’s not a cost. It’s an investment that returns fast.

The Verification Checklist

Did it work? Don’t guess. Check against these:

  • Lighthouse score above 90 on mobile, 95+ on desktop
  • LCP under 2.5s on a real mobile device on 4G (not a simulator)
  • CLS under 0.1 on every single page template
  • INP under 200ms across your top 10 interactive elements
  • CrUX data confirms the lab metrics. Your lab and field numbers should converge within a month. If they don’t, something’s off.

So, where does your store actually stand right now?

If it’s failing Core Web Vitals, you’re losing rankings and conversions every single day you wait. We run speed audits that find exactly what’s dragging you down. Get in touch and I’ll have a quote in your inbox inside 24 hours.

Want it done for you? See my Shopify speed optimization service.

Budgeting a rebuild? See my custom Shopify theme cost guide.

On WordPress instead? See my WordPress Core Web Vitals guide.

Related notes

Other things you might find useful.

Next post

Why jewelry wishlists need bespoke logic

Read next
Get a free audit