Improving your Shopify store speed comes down to four levers: serve smaller images, ship less JavaScript, pick a lean theme, and meet Google’s Core Web Vitals thresholds. Everything else is a variation on those four. This guide walks through each one with specifics you can act on today, plus the testing tools that tell you whether the changes actually worked.

Why it matters: Google uses page experience as a ranking signal, and Deloitte’s 2020 milliseconds-make-millions study found a 0.1-second improvement in mobile load time lifted retail conversions by 8.4%. If your store takes 5+ seconds to load on mobile, you’re not just losing SEO - you’re losing sales at the cart.

Key Takeaways
1
Compress and convert images to WebP; oversized hero images are the #1 cause of slow Shopify stores.
2
Audit and remove apps you don’t actively use - each one injects JavaScript on every page.
3
Aim to pass Core Web Vitals: LCP under 2.5s, INP under 200ms, CLS under 0.1.
4
A lightweight theme like Dawn consistently outperforms feature-heavy themes before you change anything else.

1. Compress Images and Switch to WebP

Images are almost always the biggest chunk of what loads on a Shopify page. A single uncompressed hero banner can be 2 MB on its own - more than most browsers want to download over mobile data.

What to actually do:

  • Convert to WebP. WebP is typically 25-35% smaller than JPEG at the same visual quality. Shopify fully supports it and serves it automatically when the browser allows.
  • Resize before upload. Don’t upload a 4000px-wide product photo if it’ll display at 800px. Resize to the largest size you actually need.
  • Compress without losing quality. Tools like TinyPNG, Squoosh, or ImageOptim can shave 40-70% off a file with no visible difference.
  • Write real alt text. “Women’s merino wool sweater in oatmeal” beats “IMG_4421.jpg” for accessibility and SEO alike.

2. Audit Your Apps (Ruthlessly)

Every Shopify app you install typically injects its own JavaScript and CSS into every page - not just the page it’s used on. A store with 20 apps is loading 20 scripts on the homepage even if only two are actually being used there.

Do this once a quarter:

  1. Open your app list and note which apps you’ve opened in the last 30 days.
  2. For each app you haven’t touched, ask: “Does this save me time or revenue?” If the answer is no, uninstall it (uninstall, not just disable - disabled apps often leave code behind).
  3. For the apps you’re keeping, check whether any two are doing the same job (e.g., two popup tools, two reviews widgets). Consolidate.

Most stores see their biggest single speed gain here - sometimes a full second shaved off LCP from removing 3-5 unused apps.

3. Pick a Lightweight Theme

Themes are the single biggest architectural decision affecting speed, and it’s often easier to switch themes than to retrofit a bloated one. Shopify’s own Dawn theme consistently scores well on PageSpeed Insights because it ships with less JavaScript out of the box. Many premium themes are beautiful but loaded with carousels, videos, and animations that tank mobile performance.

If you’re on a heavy theme and can’t migrate, at minimum strip the homepage down to essentials: one hero, one collection grid, one value-prop section. No auto-playing videos. No five-slide carousels. If you’re shopping for a new theme, you can use our Shopify theme detector to see what competitors run, and compare options in our theme-speed guides.

4. Lazy-Load Below-the-Fold Images and Videos

Lazy loading means images and videos don’t download until the visitor scrolls to them. Shopify themes built in the last few years handle this natively via the HTML loading="lazy" attribute - but only on images added through the theme editor. Images embedded in rich text blocks sometimes miss it.

Quick check: open your product page, view source, search for loading=. Every below the fold should have loading="lazy". Hero images above the fold should NOT be lazy-loaded - lazy-loading your LCP image hurts it.

5. Cut Third-Party Scripts

Third-party scripts - chat widgets, analytics, trust badges, heatmap tools, ad pixels - are the silent killers of Shopify speed. Each one phones home to an external server on page load.

A realistic audit: keep one analytics tool (GA4 or Shopify’s built-in), one chat tool if you actually staff it, and your ad pixels. Cut everything else. If you need heatmaps, run Hotjar for a week of research then turn it off.

6. Optimize Fonts

Custom fonts add character but also add requests and bytes. Three rules:

  • Pick one or two font families maximum. Mix weights within a family instead of mixing families.
  • Use system fonts where it doesn’t matter (body text on long pages).
  • Preload your primary font so text doesn’t flash invisible (FOIT) or swap mid-load (FOUT). Themes with good font handling do this automatically.

7. Hit Core Web Vitals Thresholds

Google’s Core Web Vitals are the concrete targets you’re actually optimizing for:

  • LCP (Largest Contentful Paint) ≤ 2.5 seconds - how fast your main content (usually the hero image) shows up.
  • INP (Interaction to Next Paint) ≤ 200ms - how quickly the page responds when someone taps or clicks.
  • CLS (Cumulative Layout Shift) ≤ 0.1 - whether stuff jumps around while loading (ads, late-loading images without dimensions, etc.).

If you pass all three in the “Good” bucket, you’re in rare company among Shopify stores. Most of the time, fixing LCP means image work (sections 1 and 4), fixing INP means cutting scripts (sections 2 and 5), and fixing CLS means setting explicit width and height on images and avoiding late-inserted banners.

8. Use the Shopify CDN (You Already Are)

One good-news item: every Shopify store already runs on Shopify’s global CDN, so your images, CSS, and JS are served from a location near the visitor. You don’t need to install a third-party CDN on top. What you DO need to avoid: hosting images on your own WordPress blog or Google Drive and hotlinking them - you lose CDN benefits and add a DNS lookup.

9. Test Speed With the Right Tools

You can’t improve what you don’t measure. Run these regularly:

  • PageSpeed Insights (pagespeed.web.dev) - Google’s own tool, tests real-user Core Web Vitals data, free.
  • Shopify’s Online Store Speed Report (Admin → Online Store → Themes → three-dot menu) - gives you a Shopify-specific score and compares to similar stores.
  • Lighthouse in Chrome DevTools - run locally for instant feedback while you iterate on changes.
  • GTmetrix - good for waterfall analysis to see which specific files are slow.

Test on mobile, not desktop. Mobile numbers are what Google ranks on.

10. Common Mistakes That Kill Shopify Speed

  • Uploading video to the homepage as an auto-playing background.
  • Installing a “speed optimization” app that just adds more scripts.
  • Running two reviews apps because you didn’t fully uninstall the first.
  • Using a slideshow with 5+ slides above the fold.
  • Loading multiple font weights you never use.
  • Keeping demo content (and its images) from a theme install.

Speed optimization on Shopify is maintenance, not a one-time project. Schedule a 30-minute audit each quarter, run PageSpeed Insights, and remove the one heaviest thing you can live without.