Free consultation & project quote, Let's talk →

All articles
ShopifyPerformance

Why Your Shopify Store Is Slow (And How to Fix It in 2026)

19 June 2026 6 min read
Share
Why Your Shopify Store Is Slow (And How to Fix It in 2026)

Open your store on your phone, on mobile data, not office WiFi. Count the seconds until you can actually tap a product. If it feels slow to you, it feels slow to the person who was about to buy.

I run the Shopify storefront for Zero Lifestyle, a wearable brand that serves more than 2 million users. When I started looking at one of our best selling product pages, the opal earbuds, it was sitting at a GTmetrix grade D. Largest Contentful Paint was 3.1 seconds. After the work I will describe below, that same page moved to grade A with an LCP of 1.4 seconds. Same product, same theme, same Shopify plan. The only thing that changed was the code.

So before you blame Shopify or your internet, let me walk you through what actually slows a Shopify store down. I see the same handful of causes again and again.

First, why speed is not optional

Speed is not a vanity score. It is money.

Google's own research found that as page load time goes from 1 second to 3 seconds, the chance of a visitor leaving jumps by 32 percent. Deloitte's "Milliseconds Make Millions" study found that improving mobile load time by just 0.1 seconds lifted retail conversion rates by around 8 percent. Shopify also uses speed as one of the signals in how your store ranks and how ads perform.

In plain words: a slow store leaks customers at every step. Now let us find the leaks.

1. Too many apps loading on every page

This is the number one cause I find. Most store owners install an app, test it, and forget it. But the app does not forget. Most Shopify apps inject their own JavaScript and CSS into every single page, even pages where the app does nothing.

A review popup app loads on your checkout. An upsell app loads on your blog. Ten apps like this and your store is downloading code it never uses.

How to check: go to your admin, look at your installed apps, and ask one honest question for each one. "Did this make me money in the last 90 days?" If the answer is no, remove it. After you uninstall, ask a developer to check your theme for leftover code, because some apps leave scripts behind even after you delete them.

2. Product images that are far too big

On most ecommerce pages the images are the heaviest thing on the screen. I have opened stores where a single hero image was 4 MB. That one image can take longer to load than the entire rest of the page.

Here is the simple rule. The image file should not be much bigger than the space it appears in. A photo shown in a 600 pixel wide box does not need to be 4000 pixels wide.

How to fix it:

  • Resize images to roughly the size they display at, then add a bit extra for retina screens.
  • Serve modern formats like WebP instead of heavy JPEG and PNG. WebP is usually 25 to 35 percent smaller at the same quality.
  • Add lazy loading to images below the fold so they only load when the shopper scrolls to them.
  • Always set width and height on images so the page does not jump around while they load.

When I optimised the opal earbuds page, image work alone removed a large part of the weight.

3. JavaScript that blocks the page from showing

When a script loads in the head of your page without the right settings, the browser stops everything and waits for that script to finish before it shows any content. The shopper sits and stares at a blank screen.

This is what pushes Total Blocking Time up. On that opal page, Total Blocking Time started at 973 milliseconds. After deferring scripts that did not need to run first, it dropped to 44 milliseconds. That is the difference between a page that feels frozen and a page that feels instant.

How to fix it: a developer can add defer or async to scripts that are not needed for the first paint, and move heavy work so it runs after the page is visible.

4. An old theme built on old patterns

If your theme is more than three or four years old, it may be built before Shopify's Online Store 2.0. Older themes often build large amounts of HTML on the server and load full section files even when only a small part is needed. They carry weight you never see.

How to fix it: a theme audit will tell you if your theme is the bottleneck. Sometimes a clean rebuild on a modern Online Store 2.0 structure is cheaper in the long run than fighting an old theme every month.

5. Assets loaded from the wrong place

Shopify gives you a fast global CDN for free, but only when you reference your files the right way. Fonts pulled from an outside link, scripts hosted somewhere else, images linked from another server, all of these skip the CDN and add slow extra connections.

How to fix it: host your fonts, scripts, and images through Shopify using the asset filters, for example {{ 'styles.css' | asset_url }}. Fewer outside connections means a faster start.

6. Heavy Liquid doing too much work

Liquid runs on Shopify's servers before the page is sent to the shopper. If a section runs big loops over a large collection on every load, your server takes longer to respond. That shows up as a slow Time to First Byte.

How to fix it: keep heavy logic out of sections that load on every page, and move filtering and sorting to the browser where it makes sense.

How to measure your store, free

You do not need paid tools to find your problems. Use these three:

  • Google PageSpeed Insights. Test on mobile, not desktop. Mobile is where most shoppers are and where scores are usually worse.
  • GTmetrix. The waterfall view shows you exactly which file loads when, so you can see what is holding things up.
  • Shopify's speed report. Found in your admin under Online Store, then Themes. Good for a quick trend.

Test the same page three times and look at the pattern, not one number. Test a product page, not just the homepage, because product pages are where people buy.

A simple order to fix things

If you want a starting checklist, do it in this order, because this is roughly the order of impact I see:

  1. Remove unused apps and their leftover code.
  2. Fix oversized images and add lazy loading.
  3. Defer non critical JavaScript.
  4. Check your theme age and asset hosting.
  5. Trim heavy Liquid.

You can do the first two yourself in an afternoon. The rest usually needs someone comfortable in the theme code.

When to bring in a developer

If you have cleaned up apps and images and your mobile score is still poor, the problem is deeper in the theme. That is normal. At that point a proper Shopify performance audit will save you guessing.

I offer free Shopify speed audits. Send me your store URL and I will check your Core Web Vitals, find what is slowing you down, and give you a clear, prioritised fix list. No jargon, just the things that move the numbers. Get in touch here.

BB
Bilal Burney

Senior web developer specialising in React, Shopify & WordPress for UK & US clients.

Need a web developer?

I build fast, modern websites and stores for UK & US clients. Let's talk about your project.