April 18, 2026 by Victoria Garland · 6 min read
Why Your Shopify Store Is Slow (And How to Fix It)
The average Shopify store scores 30 out of 100 on Google PageSpeed Insights. That’s not a typo. A study of over 1,100 Shopify stores found that the median mobile PageSpeed score sits at 30 — squarely in “poor” territory by Google’s own classification.
This matters for two reasons. First, Google uses Core Web Vitals as a ranking signal. Slow stores rank lower. Second, page speed directly affects conversion rate. A one-second delay in load time reduces conversions by roughly 7%. For a store doing $500,000 a year, that’s $35,000 in lost revenue per second of unnecessary load time.
So why is your store slow, and what can you actually do about it?
The Main Culprits
1. Too Many Apps
Apps are the biggest source of Shopify slowdowns, and they’re the most overlooked. Every app you install adds JavaScript that loads on every page — regardless of whether that app is visible on that page. A store with 15 apps is loading 15+ additional scripts on every page view, blocking rendering while they execute.
Research from an audit of over 1,100 Shopify stores found that Rebuy Engine alone — a popular upselling tool — blocks the main thread for an average of 172ms. That’s nearly 10x the impact of Google Analytics. Five medium-impact apps can add 500–800ms to your load time before your own theme code has run a single line.
The math compounds quickly, and most stores have no idea how much each installed app is costing them in load time.
What to do: Audit every installed app. For each one: is it actively used? Is it generating revenue that justifies its speed cost? Most stores have 3–5 zombie apps they forgot to uninstall after a trial or a campaign ended.
2. Unoptimized Images
Images account for 50–70% of page weight on most Shopify stores. A hero image served as a 3MB JPEG, when it should be a 200KB WebP file, is the single most common cause of a poor LCP (Largest Contentful Paint) score.
LCP measures how long it takes for the largest visible element on the page — usually a hero image or product photo — to render. Google’s threshold for a “good” LCP is under 2.5 seconds. Most Shopify stores with unoptimized images miss this comfortably.
What to do: Compress images before uploading. Use WebP format where possible. For product images, 800×800px at 80% quality WebP is usually enough. For hero banners, 1600px wide at the same compression. Shopify’s CDN handles delivery; your job is to give it files that aren’t enormous to begin with.
3. Your Theme
Not all Shopify themes are built equally. Themes from the official Shopify Theme Store are generally well-optimized. Heavily customized themes, themes from third-party marketplaces, or older themes built before Online Store 2.0 can carry a lot of technical debt: unused CSS, render-blocking fonts, undeferred JavaScript, and bloated Liquid templates.
What to do: Run your store through PageSpeed Insights and look at the “Opportunities” section. “Unused JavaScript” and “Unused CSS” are usually the first signs of a theme problem. If your theme was built before 2022, it’s worth evaluating whether it’s contributing to your score in ways that can’t be fixed without a rebuild.
4. Render-Blocking Resources
Fonts, CSS files, and JavaScript that load before the page can render push your LCP and FCP (First Contentful Paint) scores up. Google’s PageSpeed report flags these as “Eliminate render-blocking resources.”
This one is harder to address without touching code. Preloading critical fonts, deferring non-essential JavaScript, and inlining critical CSS are all valid fixes — but they require theme-level changes that go beyond what the Shopify admin exposes.
What You Can Fix Yourself
| Issue | DIY Fix | Effort |
|---|---|---|
| Zombie apps | Uninstall unused apps from Shopify Admin | Low |
| Large images | Re-export as compressed WebP and re-upload | Medium |
| Oversized hero images | Compress in Squoosh before uploading | Low |
| Duplicate tracking pixels | Consolidate to one via Google Tag Manager | Medium |
Removing unused apps and re-optimizing your top 20 images will often move a score of 30–40 into the 50–60 range without touching any code. That’s meaningful progress — and it’s work you can do today.
What Requires a Developer
| Issue | What’s Needed |
|---|---|
| Render-blocking scripts | Defer/async attributes added to theme code |
| Unused CSS/JS in theme | Theme audit and code cleanup |
| Font loading optimization | Preload directives in theme <head> |
| Third-party script consolidation | Custom loading strategy |
| App JavaScript conflicts | Script sequencing and conflict resolution |
| Core Web Vitals failures (CLS, INP) | Layout and interaction audit |
Getting from a score of 60 to 90+ requires developer-level work. The low-hanging fruit gets you most of the way there, but the final push — where load times drop from 3 seconds to under 1.5 — requires theme code changes that aren’t accessible through the Shopify admin.
What “90+” Actually Means
A 90+ PageSpeed score on mobile is achievable on Shopify, but it’s not the default. It requires a well-optimized theme (Online Store 2.0 architecture), a disciplined approach to apps, compressed images, clean font loading, and no render-blocking third-party scripts.
Stores built with performance as a baseline — not retrofitted as an afterthought — consistently hit 90+ without heroic effort. Stores where performance is addressed post-launch are playing catch-up against months of accumulated technical debt.
We treat 90+ as a baseline on every build. Not because it’s impressive, but because anything less is leaving conversion rate and search ranking on the table.
How to Test Your Store
Before you fix anything, measure it. Use these three tools:
Google PageSpeed Insights — Test your home page, a product page, and a collection page separately. They often have very different scores and different problems. Always test on mobile — Google’s ranking algorithm uses mobile performance, and mobile scores are almost always lower than desktop.
Shopify’s built-in speed report — In your Shopify Admin, go to Online Store → Themes and click “View report.” This shows your store’s speed score relative to similar Shopify stores, which gives useful context even if the methodology differs from PageSpeed Insights.
GTmetrix — Gives a waterfall view of what’s loading and in what order. This is the most useful tool for identifying the specific scripts and resources causing slowdowns, because it shows you the timeline, not just the score.
If your store is stuck at a low PageSpeed score despite your best efforts, or if you want an honest audit of what’s slowing you down and what it’ll actually take to fix, get in touch.