ESStart a project

Why your Shopify store is slow, and the fixes that matter

Old rule: A slow store needs a whole new theme.Usually it needs fewer apps and smaller images.

How to read Core Web Vitals for a Shopify store, the usual causes of a slow theme (apps, images, video, fonts), and the fixes in the order that pays back first.

Facts checked: 4 min read

Most slow Shopify stores aren’t slow because of Shopify. They’re slow because of what was added on top over the years: apps, huge images, autoplay video, extra fonts and tracking tags nobody remembers adding.

The good news: the fixes are usually cheap, and you don’t need a new theme to get most of the gain.

Measure the right thing

There are two kinds of speed numbers, and they often disagree:

  • Lab scores (Lighthouse, PageSpeed Insights’ top number): one test, on one simulated phone, at one moment. Good for finding problems, bad for judging the store.
  • Field data (Core Web Vitals): how fast the store really was for your visitors, from Chrome users over the last 28 days. This is what Google uses.

Google’s three Core Web Vitals, and the “good” line for each, measured at the 75th percentile of visits:

Metric What it measures Good
LCP, Largest Contentful Paint When the main image or headline appears 2.5 s or less
INP, Interaction to Next Paint How fast the page reacts to a tap or click 200 ms or less
CLS, Cumulative Layout Shift How much things jump while loading 0.1 or less

INP replaced the older FID metric in March 2024. Stores that looked fine before often fail INP now, because heavy app scripts make every tap feel slow.

In Shopify, start with the performance summary on Online Store › Themes, then open the web performance reports under Analytics › Reports. They show your store’s real LCP, INP and CLS over time, by page type and by URL, from Chrome users who share performance data. Look for the date the numbers got worse and check what changed that week: a new app, a new section, a new video.

The usual causes, in order

1. Apps

Every app that shows something on the storefront can load its own JavaScript, often on every page, even where it does nothing. Reviews, pop-ups, chat, upsells, currency switchers, wishlists and tracking pixels add up quickly.

What to do:

  • List every app and ask of each one: did it make money or save time in the last 90 days? Remove the ones that didn’t.
  • Prefer apps built on theme app extensions (app blocks and app embeds). They load through Shopify without editing your theme files, and Shopify removes their blocks from your theme when you uninstall them.
  • Older apps edited theme files directly, and Shopify warns that this code isn’t always removed on uninstall. Search the theme for their leftovers: snippets, script tags and {% render %} calls that still load.
  • Replace three apps with one where you can. Chat, reviews and pop-ups each have all-in-one options.

2. Images

The hero image is usually the LCP element. If it’s a 3,000-pixel photo, the main content waits for it.

What to do:

  • Upload images no wider than you need (about 2,000 px for a full-width hero is plenty).
  • In theme code, use Shopify’s image_url filter with a width, and srcset so phones get a phone-sized file. Shopify’s CDN picks the best format for each browser, including WebP and AVIF, automatically.
  • Don’t lazy-load the hero image; do lazy-load everything below the first screen.
  • Give every image a width and height so the layout doesn’t jump (CLS).

3. Video

An autoplay background video can weigh more than the rest of the page together.

What to do:

  • Keep hero loops short (5 to 10 seconds), muted, and compressed hard: a few megabytes at most.
  • Make a separate, smaller portrait file for phones.
  • Show a still image first and start the video after the page has loaded.
  • Embedding YouTube or Vimeo players at the top of the page loads a lot of extra code; use a still with a play button that loads the player on tap.

4. Fonts

Each font family and weight is another download before text appears.

  • Use one or two families and only the weights you show.
  • Prefer fonts from Shopify’s font library or self-hosted files, with font-display: swap so text shows straight away.

5. Tags and tracking

Analytics, ad pixels and heatmaps all run scripts. Keep the ones you actually read. Load them through Shopify’s customer events (web pixels) where possible, which run in a sandbox instead of the main page.

When a new theme is worth it

Rebuild when the theme itself is the problem: it’s years old, heavily edited by several developers, built on page builders that output huge pages, or it can’t use app blocks. Themes in Shopify’s Theme Store must average a Lighthouse performance score of at least 60 on the home, collection and product pages, on mobile and desktop. Shopify’s own free themes are a lean starting point.

Do the cheap fixes first anyway. They tell you how much of the problem was the theme.

A one-afternoon checklist

  • Open the web performance reports and note LCP, INP and CLS
  • Remove apps that didn’t earn their place in the last 90 days
  • Search the theme for leftover code from removed apps
  • Resize the hero image; make sure it isn’t lazy-loaded
  • Compress or replace the hero video; add a phone version
  • Cut fonts to two families and the weights you use
  • Remove tracking tags nobody reads
  • Check the reports again after a month of real traffic

Questions

What is a good speed score for a Shopify store?

Look at Core Web Vitals from real visitors, not a single lab score. Google calls a page good when, for 75% of visits, the main content appears within 2.5 seconds (LCP), the page reacts to taps within 200 milliseconds (INP) and the layout barely shifts (CLS 0.1 or less). Shopify's web performance reports show these numbers for your store.

Do Shopify apps slow down my store?

They are the most common cause we see. Each app that adds a widget, pop-up, tracking pixel or review block can load its own scripts on every page. Remove apps you don't use, and check that uninstalled apps didn't leave code in your theme.

Should I switch to a faster theme?

Only after the cheap fixes. A new theme with the same 25 apps and 4 MB hero video will be slow too. Shopify's own free themes are a good, fast base if you do rebuild.

Does speed affect sales?

Speed affects how many visitors stay long enough to buy, and Core Web Vitals are part of how Google ranks pages. The exact effect varies by store, so measure your own conversion rate before and after the fixes.

Can I make Shopify checkout faster?

Checkout is hosted and tuned by Shopify, so most speed work happens on the storefront: home, collection and product pages, where visitors land first.

Sources

  1. web.dev: Web Vitals
  2. web.dev: Interaction to Next Paint becomes a Core Web Vital
  3. Shopify Help Center: Web performance reports
  4. Shopify.dev: Testing for performance
  5. Shopify.dev: Theme app extensions
  6. Shopify.dev: Theme app extensions, user experience (removal on uninstall)
  7. Shopify Help Center: Uninstalling apps (leftover theme code)
  8. Shopify Help Center: Theme images (WebP and AVIF delivery)
  9. Shopify.dev: image_url filter
  10. Shopify.dev: Theme Store performance requirements