LTBook a call

Guide

Why is my Shopify store slow? 7 things to check, from a real fix

What I found on a real fashion store, what changed, and what you can check on your own store before you pay anyone.

2-3 s
hero photo on a slow phone, was 8+ s
0
page jumps while scrolling, was 4-9
2.0 MB
homepage, was 3.2 MB
4 days
of work, no redesign

Short answer

Most slow Shopify stores are not slow because of Shopify. They are slow because of what loads on top of it: apps that add scripts to every page, images the theme asks for too late, and heavy first screens. On one fashion store, fixing these took the main image on a slow phone from more than 8 seconds to 2-3.

The store, and what a shopper saw

A designer fashion store on Shopify, measured on a slow phone before and after four working days.

In October 2026 I worked on nooksas.lt, a Lithuanian store selling designer fashion at discount prices. The owner put it simply: sales and reputation were suffering because the store was slow.

Before

Before: the Nooksas homepage loading on a slow phone, frame by frame

After

After: the Nooksas homepage loading on a slow phone, frame by frame
The homepage on a simulated slow phone. Before: the page appears at 2-3 seconds, but the hero photo is still missing at 8. After: the photo is on screen at 2-3 seconds.

A slow store rarely looks broken. It looks empty. The header appears, then a black or grey box where the main photo should be. Product photos arrive one by one. And just as the shopper goes to tap something, the page moves. On Nooksas, all three happened on every page.

None of that shows up as a single number. It is what people feel, and it is why the PageSpeed score is the last thing I look at, not the first.

Is Shopify itself slow?

No. Shopify already handles the basics most checklists still tell you to do.

Shopify serves files from a global network (a CDN), caches pages, shrinks code and converts images to modern formats like WebP when the theme asks for them properly. So you can skip these tips when you read them elsewhere:

  • “Use a CDN” and “enable caching”: Shopify does both for you.
  • “Minify your code”: also done.
  • “Use AMP”: it is no longer needed for search results and adds a second version of every page to maintain.
  • “Get your score to 100”: a score is a lab test, not your customers. More on that in check 7.

What slows a Shopify store down is what is added on top: the theme’s own scripts, apps, and how images are asked for.

1. The first big image arrives late

The image a shopper sees first should load first, at the right size, with nothing in its way.

On Nooksas, the hero slider used a transition effect that needed an extra 560 KB image from an outside server before the photo could appear. Until it arrived, the hero stayed black. If that server was slow, it stayed black for a long time.

We switched the hero to a simple fade, told the browser to load the first slide straight away and at the size of the screen, and let the other slides wait. The photo now appears in 2-3 seconds on a slow phone.

2. Product photos wait for scripts

If photos only load after a script decides to load them, every other script on the page delays them.

Many themes load images “lazily”: a tiny placeholder first, the real photo later. That is good for photos far down the page. It is bad for the photos at the top, because the script that swaps them in has to wait its turn behind apps, tracking and chat widgets.

On Nooksas every image started as a 100 px placeholder, including the main product photo. We made the first photo on each product page load directly, at the size it is shown, and left the rest lazy.

Before

Before: a Nooksas product page loading on a slow phone, frame by frame

After

After: a Nooksas product page loading on a slow phone, frame by frame
A product page on a simulated slow phone. Before: tiny placeholders until about 8 seconds. After: the main photo at about 2 seconds.

3. The page jumps while it loads

Every image needs its space reserved before it arrives, or the page moves when it does.

When a placeholder is 100 px tall and the real photo is 205 px, everything under it moves down when the photo lands. On a phone, that means the shopper taps the wrong thing, or loses their place.

Diagram: a product card with a 100 px placeholder grows when the photo arrives, pushing the button about 105 px down
What a page jump is: the photo arrives, the card grows, and the button moves away from the finger.

On Nooksas the product cards grew by about 105 px as photos arrived, and the product page gallery by about 460 px. A small layout rule reserved the right space from the start. Jumps while scrolling went from 4-9 per page to zero.

4. Apps load on every page, even the ones you forgot

List every app that loads on your storefront and ask whether you still use it. Then test, one at a time.

Most apps add their own scripts to every page, whether that page needs them or not. Shopify says it plainly: too many apps loading files on your storefront slows it down.

On Nooksas we went through every app with the owner. Two were switched off: a session recorder and an AI chat widget that were no longer needed. The others stayed, because the owner uses them every day.

Not every app is guilty, though. We also tested loading the email popup app later, after the page was ready. It made no measurable difference, so we left it as it was. Removing apps for the sake of a number is not the goal.

Leftover code after uninstalling

In Shopify’s own words: “Uninstalling an app doesn’t automatically remove its code from your theme.” Newer apps that plug in through app embeds usually leave nothing behind. Older apps that wrote into theme files often do, and that code keeps loading.

5. The same thing is built several times on every page

Some slowness is invisible. It is code the shopper never sees, repeated on every page.

On Nooksas the country selector was built three times on every page, each time with about 65 flag images. Together that was 297 KB, or 22% of the page’s HTML, and 65 flag downloads. Most shoppers never open it.

We now build the country list and the phone menu only when someone taps them. Flags load only when the list is open: 65 downloads became one. The homepage went from about 7,100 page elements to about 4,500.

6. The page is heavy on a phone

A phone should not download what a phone cannot use.

The Nooksas product cards showed a second photo when you hover over them. Phones cannot hover, but they were downloading those photos anyway. Now only devices with a mouse load them. Together with the image fixes, the collection page went from 3.0 MB to 2.5 MB, and the homepage from 3.2 MB to 2.0 MB.

The same thinking applies to the first screen of any store. Sliders with many slides, autoplay video and big animations cost the most exactly where the shopper is waiting.

7. You are measuring the wrong thing

Judge speed by your real visitors, in Shopify's Web performance report, not by a single PageSpeed run.

PageSpeed Insights is a lab test: one simulated phone, one run. Its score can swing a lot. On Nooksas the same page, unchanged, scored around 40 on some runs and around 88 on others. If you test once, you can talk yourself into a problem or out of one.

Shopify’s Web performance report uses real visitors to your store over the last 30 days. It rates three things as good, moderate or poor:

What it measures In plain words Good
LCP How long until the main image or text is on screen 2.5 s or less
INP How fast the page responds to a tap 200 ms or less
CLS How much the page jumps while loading 0.1 or less

What happened to the Shopify speed score?

Shopify retired its speed score, the number out of 100 in the admin, on 31 January 2024. The Web performance report replaced it. If an article still tells you to raise your Shopify speed score, it is out of date.

The results on Nooksas

Same store, same tests, before and after four working days. Visitor-facing numbers first, the score last.

  • Hero photo on screen, slow phone8+ s2-3 s
  • Main product photo on a slow phone8 s2 s
  • Page jumps while scrolling4-90
  • Homepage weight3.2 MB2.0 MB
Measured with Lighthouse on a simulated slow phone (slower 4G and CPU), median of 3 runs per page, and checked frame by frame. The live store measured the same after publishing.
Measure Before After
Collection page weight 3.0 MB 2.5 MB
Time the phone is too busy to respond (collection page) 330 ms 124 ms
Page elements on the homepage 7,094 4,460
PageSpeed mobile, median 43 (4 runs) 86 (10 runs)
PageSpeed desktop, median 70.5 96

What did not help: loading the email popup app later. Tested, no measurable gain, not applied.

When to bring in a developer

Checks 1, 4, 6 and 7 you can do yourself. Checks 2, 3 and 5 live in the theme's code.

You can look, count, switch off what you do not use, and watch the Web performance report on your own.

How images are asked for, how space is reserved, and what is built on every page live in the theme’s code. That is where a developer earns their fee, and where a speed app cannot reach, because it cannot change how your theme loads.

A good speed fix starts by measuring, changes the theme on a copy, tests it on real phones, and only then goes live. If someone promises you a score before they have looked, be careful.

Questions

Short answers to what store owners ask most about speed.

How many apps is too many on Shopify?

There is no safe number. One app that loads a heavy script on every page can cost more than five that load only where they are used. Look at what each app adds, not how many you have.

Does uninstalling a Shopify app remove its code?

Not always. Shopify says uninstalling does not automatically remove an app's code from your theme. Apps that use app embeds usually clean up after themselves; older apps that edited theme files often leave code behind.

What is a good PageSpeed score for a Shopify store?

There is no score that guarantees a fast store, and the same page can score very differently from one run to the next. Aim for "good" on LCP, INP and CLS in Shopify's Web performance report, which is based on your real visitors.

Is my store slower on mobile than desktop?

Almost always. Phones have slower processors and often slower connections, so the same page that feels instant on a laptop can take several seconds on a phone. Test on a phone, on mobile data.

Does store speed affect Google rankings?

A little. Google uses real-visitor Core Web Vitals as one signal among many. The bigger cost of a slow store is the shoppers who leave before the page is ready.

Gytis Kubilius

Written by

Gytis Kubilius

Shopify developer at Evercode Studio. 50+ Shopify stores built since 2017, and 1,600+ hours teaching Shopify development. Every number in this article was measured on a real store.

Free technical review · two stores a week

Find out how your store is actually built.

Not ready for a call? Send me your URL instead. I’ll record a five minute video on what’s under the surface: theme quality, app dependencies you’re paying for, speed, and how easy your catalog will be to live with as it grows. Yours to keep, whether we work together or not.

  1. 1Send me your store URL
  2. 2I go through the build, not the marketing
  3. 3Video in your inbox, usually within two working days