DEV Community

Bilal Burney
Bilal Burney

Posted on Originally published at bilalburney.com

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.

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.

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 fix it: Go to your admin, look at your installed apps, and ask one honest question: "Did this make me money in the last 90 days?" If the answer is no, remove it. After you uninstall, check your theme for leftover snippets, because many apps leave scripts behind.

2. Product images that are far too big

On most ecommerce pages the images are the heaviest thing on the screen. I have seen stores where a single hero image was 4 MB.

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.
  • Serve modern formats like WebP instead of heavy JPEG and PNG (WebP is 25โ€“35% smaller).
  • Add lazy loading to images below the fold.
  • Always set width and height on images so the layout does not jump.

3. JavaScript that blocks the page from showing

When a script loads in the <head> of your page without defer or async, the browser stops everything and waits for that script to finish before it shows any content.

This pushes Total Blocking Time up. On our product page, Total Blocking Time started at 973 milliseconds. After deferring scripts, it dropped to 44 milliseconds.

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 build large amounts of HTML on the server and load full section files even when only a small part is needed.

5. 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 (slow TTFB).

How to fix it: Keep heavy logic out of global layout files, and move complex filtering or client-side operations to the browser where appropriate.

A simple order to fix things

  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 structure and asset hosting.
  5. Trim heavy Liquid loops.

Read more e-commerce engineering guides at bilalburney.com.

Top comments (0)