Every second your store takes to load is a shopper deciding whether to stay. Speed is not a technical vanity metric. It is one of the few things on your store that affects every single visitor, on every page, every day.
This guide covers how to measure Shopify speed in a way that actually reflects what customers experience, the most common causes of slow Shopify stores, and the fixes that make a real difference. No fluff, no magic plugin, just the work.
Why speed matters more than you think
Google's mobile research has found that most mobile visitors abandon a page that takes more than a few seconds to load. On a store, that abandonment is not an analytics footnote. It is a shopper who clicked your ad, cost you money, and left before seeing a single product.
Speed also compounds. A faster store gets better Core Web Vitals, which helps organic rankings. It makes every landing page in your paid campaigns convert a little better, which lowers your cost per acquisition. And it makes the store feel trustworthy, which matters most to first-time visitors who have no other reason to trust you yet.
If you are already falling behind, speed is usually the fastest place to start catching up, because it does not require a redesign. It requires cleanup.
How to measure Shopify speed properly
Most store owners measure speed wrong, and then either panic or relax for the wrong reasons. Here is how to get a reading you can trust.
Use Lighthouse on mobile, not desktop
Your customers are mostly on phones with mid-range processors and imperfect connections. Lighthouse's mobile preset simulates exactly that. Desktop scores will almost always look better and tell you less.
Test three page types
Your homepage is the page you look at most, but it is often not the page most shoppers land on. Test your homepage, a collection page and your best-selling product page. Product pages are typically the slowest because they load reviews, upsells, size charts and more.
Run each test three times
Lighthouse results vary between runs. Run each page three times and use the median. When you compare before and after a fix, keep the conditions identical: same page, same device preset, same time of day if possible.
Look at the metrics, not just the score
The score is a summary. The metrics tell you what to fix.
- Largest Contentful Paint (LCP) is when the biggest visible element finishes loading. On most stores that is the hero image or the product image. Aim for under 2.5 seconds.
- Interaction to Next Paint (INP) measures how quickly the page responds when a shopper taps something. High INP usually means too much JavaScript.
- Cumulative Layout Shift (CLS) measures how much the page jumps around while loading. Shoppers hate tapping a button that moves at the last second.
- Total Blocking Time (TBT) is the lab proxy for INP and the metric most inflated by apps.
What actually slows Shopify stores down
Shopify's own infrastructure is fast. Your store is slow because of what has been added on top of it. In rough order of how often I see them:
1. Apps you no longer use
Every app that touches the storefront injects JavaScript, often on every page, even when the feature is only used on one. Stores commonly carry a dozen or more apps, and a few of them are usually leftovers from an experiment that ended years ago. Uninstalling an app does not always remove its code either, which is why an app audit is a separate step.
2. Oversized images
A 4,000-pixel-wide hero image saved as a PNG can weigh several megabytes. Shopify's image CDN helps, but only if your theme requests appropriately sized images and uses modern formats. Older themes and hand-coded sections often do not.
3. Third-party scripts
Tracking pixels, chat widgets, review platforms, heatmaps, A/B testing tools. Each one is small on its own. Together they can block the main thread for seconds on a mid-range phone. Many of them also load synchronously, which means your product image waits for a chat bubble.
4. Theme bloat
Themes accumulate custom code the way kitchens accumulate gadgets. Old sections nobody uses, duplicate font files, CSS for features that were removed. Each theme edit made in a hurry adds weight that nobody comes back to remove.
5. Fonts
Loading four weights of two custom fonts from an external service can delay text rendering noticeably. Most stores need two weights, and system fonts for body text are a legitimate option.
6. Carousels and video autoplay
Hero sliders load several large images to show one. Autoplaying background video is one of the heaviest things you can put above the fold. Both are usually worse for conversion than a single strong image anyway.
The fixes that move the needle
Here is the order I work in on a speed project. It is ordered by impact for effort, so if you only do the first three you will still see a difference.
Remove unused apps and their leftover code
Go through every installed app and ask: do we use this, and does it need to be on the storefront? Uninstall what you do not use. Then check the theme's layout file and snippets for scripts those apps left behind. This step alone has taken stores from red to orange on Lighthouse.
Fix images
Make sure the theme uses responsive images with proper width descriptors so phones download phone-sized files. Convert heavy PNGs to WebP or let Shopify's CDN serve them in modern formats. Lazy-load everything below the fold and, crucially, do not lazy-load the LCP image.
Defer and audit third-party scripts
Move scripts out of the head and defer them where possible. Load chat widgets on interaction rather than on page load. Consolidate tracking through a single tag manager if you have several pixels. Ask marketing which tools are still in use; the answer is often fewer than installed.
Update or clean the theme
If your theme vendor has shipped updates since you launched, updating is often the single biggest speed win available. If you have heavy customizations, a developer can port them to the new version. Either way, remove dead sections, unused CSS and duplicate libraries.
Trim fonts
Use two weights per family at most, preload the one used for headings, and set font-display to swap so text appears immediately.
Reconsider what sits above the fold
Replace the slider with one image and one message. Remove autoplaying video unless it is genuinely driving sales. Make sure the hero image has explicit dimensions so nothing shifts when it loads.
How to know it worked
Re-run the same Lighthouse tests under the same conditions and compare medians. Then wait two to four weeks and compare conversion rate and bounce rate in Shopify analytics with the period before the work. Speed improvements show up in those numbers, but they need a few weeks of traffic to be visible above the noise.
Keep a short log: date, change made, score before and after. The next time someone wants to add a new app, you will have the data to ask what it costs.
When to bring in a developer
You can do the app cleanup and image fixes yourself. Theme updates with heavy customizations, script deferral and responsive image work in Liquid are where a developer earns their fee, because mistakes there can break things that are harder to notice than a slow page.
If you want a baseline before you decide, the free store audit includes Lighthouse scores on all three page types and a ranked list of what is slowing your store down. And if you would rather hand the whole thing off, speed and performance work is one of the five things I do every week.
A slow store is a leak you can see. Fixing it is one of the few projects that pays back on every visit, starting the day it ships.

About the author
Nick Perry
Nick builds, fixes and grows Shopify stores for owners who are done falling behind. Shopify Select Partner, 200+ projects since 2017, and every number on this site comes from a real store.