Shopify Store Speed Optimisation: A Complete Guide
A one-second delay in page load time costs ecommerce stores 7% of conversions. Shopify store speed isn't a luxury—it's a direct line to revenue. This guide reveals the six biggest culprits slowing your store and shows you exactly how to fix them.
Why Shopify store speed matters for sales
Google published research showing that a 100-millisecond delay in page load can cause a 1% drop in conversions. For a store doing $50,000 monthly revenue, that's $500 lost to every extra tenth of a second. Speed affects more than just user experience; it's a core ranking factor for Google Search.
Shopify merchants face a unique challenge. Unlike self-hosted sites where you control every asset, you're building on a shared platform that hosts millions of stores. Your theme, apps, and third-party scripts all compete for bandwidth. A poorly optimized store can feel sluggish even though Shopify's infrastructure is world-class.
Slow stores also damage trust. Users expect checkout to feel instant. A dragging payment page signals risk, especially on mobile. Speed improvements often correlate with lower cart abandonment and higher customer lifetime value.
How to measure your Shopify store's speed
Before you can fix speed, you need data. Most merchants guess what's wrong. The right metrics tell you exactly where to focus.
Google PageSpeed Insights
Start here. Visit pagespeed.web.dev and enter your Shopify store URL. PageSpeed Insights measures real-world user experience (field data) and lab performance. It assigns scores from 0–100 and flags specific issues.
Focus on the "Core Web Vitals" section first. These three metrics directly impact user experience and search rankings. A score above 90 is excellent; above 50 is acceptable; below 50 requires immediate action.
Test your homepage and a product page. Homepages and collection pages often load differently than individual product pages due to image count and app scripts.
Shopify's built-in Online Store Speed report
Log into your Shopify admin and navigate to Sales Channels > Online Store > Themes. Click "Open your current theme" and look for "Online Store Speed". This report shows performance trends and identifies apps slowing your store.
The speed report is powered by real user data from your actual visitors. It's more accurate for your specific audience and traffic patterns than lab tests. Check it monthly to track progress.
GTmetrix and WebPageTest
GTmetrix and WebPageTest provide waterfall charts showing the load sequence of every resource on your page. They reveal which scripts block rendering and which assets waste bandwidth.
Use these for deep dives into specific slow assets. For example, if you see an app script loading before product images, that's a priority fix. These tools are more technical but worth learning for merchants managing stores over $100k/month revenue.
The six biggest causes of slow Shopify stores
1. Unoptimised images
Images account for 50–70% of a typical Shopify store's page weight. An uncompressed product photo from a camera can be 3–5 MB. Uploading directly to Shopify without optimization kills performance.
Shopify automatically serves images through its CDN and creates responsive variants, but it doesn't compress. A 4000x3000px image shown at 500px width still loads the full resolution, then the browser resizes it.
Modern image formats like WebP are 25–35% smaller than JPG with identical quality. Most merchants aren't using them. Combined with lazy loading (covered below), optimized images are often the biggest win.
2. Too many third-party apps (especially those injecting scripts)
The average Shopify store runs 20–30 apps. Each app can inject JavaScript into your storefront. More scripts mean slower page load, more CPU work, and longer Core Web Vitals metrics.
Some apps are unavoidable. Payment processors, email capture, reviews—these add value. But many merchants install apps without auditing whether they're actually being used.
The worst culprits are marketing apps that track user behavior, loyalty programs, and visual personalization tools. These download heavy JavaScript bundles on every page. One poorly coded review app can add 300ms to your LCP (Largest Contentful Paint).
3. Bloated or poorly coded themes
Your Shopify theme is the foundation. Some themes bundle jQuery, unused CSS frameworks, and outdated libraries. A 10-year-old theme might load dependencies that no longer serve any purpose.
Paid premium themes often carry more bloat than lightweight free themes. They aim to do everything, which means loading code for features you don't use. Customization layers add more weight.
Common theme issues: unused custom fonts, inline base64 images in CSS, multiple Bootstrap versions, and duplicate utility libraries. Audit your theme's code to identify dead weight.
4. Large JavaScript bundles and render-blocking scripts
JavaScript execution is expensive. While your theme's JavaScript is running, the browser can't paint the page. If your scripts are large or poorly sequenced, your page feels frozen to visitors.
Third-party scripts from apps often load synchronously, meaning they block everything else. Shopify's native script manager allows async loading, but many apps don't follow that pattern.
Many stores load tracking pixels, analytics, chat widgets, and conversion optimization scripts before the page becomes interactive. These can add 2–3 seconds to Time to Interactive (TTI).
5. No lazy loading on below-the-fold images
Every image on your product page loads immediately, even if visitors never scroll down. This wastes bandwidth on images they'll never see.
Lazy loading defers image loading until the user is about to scroll into view. Combined with image optimization, this can cut your initial page load time by 30–50%.
Shopify themes built in the last three years often have lazy loading built in. Older themes don't. It's a quick win if your theme supports the loading="lazy" attribute.
6. Missing or misconfigured CDN caching
Shopify serves images through its CDN globally, which is excellent. But caching headers and browser cache policies can be misconfigured.
Some stores don't set cache headers on assets, forcing browsers to re-validate or re-download static files on every visit. Others set cache lifetimes too short (e.g., 1 day instead of 30 days).
Misconfigured caching won't show up in PageSpeed Insights, but repeat visitors see performance penalties. Check your theme's cache settings and ensure Shopify's CDN is properly configured.
FREE AUDIT
AeroDev Studio audits Shopify stores for speed and Core Web Vitals issues. Book a free 30-minute consultation to find out what's slowing your store down.
Book a free speed audit →How to speed up your Shopify store — actionable fixes
Image optimisation
Start with a bulk image audit. Download your product images and run them through tinypng.com or ImageOptim. You'll see how much weight can be cut without quality loss.
For Shopify, the best practice is uploading images no larger than 2000–2500px wide. Shopify's CDN resizes these automatically for mobile and desktop. Avoid uploading 6000px images "just in case."
Consider using a dedicated image optimization app if you have hundreds of products. Apps like Crush.pics or Image Optimizer automate compression across your catalog. They often pay for themselves in bandwidth savings within weeks.
Implement lazy loading for below-the-fold images. Most modern Shopify themes support this natively. If yours doesn't, add the loading="lazy" attribute to product images in your theme code.
App audit
List every app you've installed. Go through each one and ask: Am I actively using this? Does it serve my business goals?
Uninstall anything you're not using. Then, for your active apps, check their impact in Shopify's speed report. Apps with millisecond-level impact (under 50ms) are usually fine. Apps adding 200ms+ are worth reconsidering.
If an app is essential but slow, reach out to the developer. Many app makers can optimize script delivery or provide async loading alternatives. Sometimes a setting change dramatically improves performance.
Theme optimisation
Audit your theme's code. Most Shopify stores can access their theme files through Admin > Themes > Actions > Edit code. Look for bloat:
- Unused CSS frameworks or utility libraries
- Custom fonts not actually displayed on any page
- Inline JavaScript that could be deferred
- Multiple versions of the same library (jQuery, Bootstrap, etc.)
- Outdated polyfills for old browsers you no longer support
If your theme is older than 3 years, consider upgrading to a modern Shopify theme. New themes are built with performance in mind and use current web standards. The cost is worth it if your current theme is slowing sales.
JavaScript and CSS
Defer non-critical JavaScript. Shopify's Script Editor allows you to mark scripts as async or defer. This prevents them from blocking page paint.
Minify and combine CSS files where possible. Multiple CSS files mean multiple HTTP requests. Most modern theme builders already do this, but custom themes sometimes don't.
Remove unused CSS. Tools like PurgeCSS can identify CSS rules never applied to your page and strip them out. This alone can cut CSS bundle size by 40–60%.
Lazy loading
Enable lazy loading for all below-the-fold images. On a typical Shopify product page, this includes related products, reviews, and footer sections.
Add the HTML attribute: <img src="..." loading="lazy">. Modern browsers handle the rest automatically. For images in custom sections, you may need a JavaScript lazy loading library like lozad.js.
Test on mobile. A visitor on a slow network might see blank spaces if images load too slowly. Balance lazy loading with aggressive preloading for above-the-fold images.
CDN and caching
Verify Shopify's CDN is active for your images. In your Shopify admin, all images should be served from cdn.shopify.com. If you see custom domain URLs, you may have a stale configuration.
Set cache headers in your theme's config file. Shopify's recommendations are typically 30 days for versioned assets, 1 day for CSS/JS, and 5 minutes for HTML. This ensures repeat visitors load from cache instead of re-downloading.
If you use Cloudflare, configure it to cache static assets aggressively. Conflicting cache policies create speed penalties—set clear rules and test with a fresh browser session after making changes.
Shopify Core Web Vitals: LCP, CLS, and INP explained
Google's Core Web Vitals are three metrics that directly influence your search ranking and user experience score. Shopify specifically surfaces these in the speed report.
LCP (Largest Contentful Paint) measures the time until the largest text block or image enters the viewport. Target: under 2.5 seconds. Most Shopify slowness problems manifest as poor LCP. Unoptimized images, render-blocking scripts, and slow third-party resources all extend LCP.
CLS (Cumulative Layout Shift) measures unexpected movement of page elements as they load. Target: under 0.1. A classic CLS problem is images loading without reserved space, causing text to jump down. Or a chat widget appearing mid-page and shifting everything. CLS rarely slows perceived performance but damages user experience and SEO.
INP (Interaction to Next Paint) measures responsiveness—how quickly the page responds to user clicks or taps. Target: under 200 milliseconds. Heavy JavaScript execution, unoptimized event listeners, and poorly coded interactive elements hurt INP.
Shopify stores typically struggle most with LCP (usually images or slow apps), followed by CLS (layout shifts from lazy-loaded content). To improve all three: optimize images first (biggest LCP impact), reserve space for dynamic content (fixes CLS), and audit JavaScript execution time (improves INP).
When to hire a Shopify developer for speed optimisation
You can optimize a lot yourself. But some problems require developer expertise. Here are three signs it's time to bring in help:
Your PageSpeed score won't move above 50 even after removing apps and optimizing images. This usually means your theme or a core app requires code-level fixes. A developer can identify bottlenecks in the theme code, optimize render order, and implement advanced caching strategies you can't do in the admin.
Your LCP is over 4 seconds and you can't identify why. Waterfall charts from GTmetrix show the problem—but fixing it might require custom JavaScript, theme modifications, or negotiating async loading with an app vendor. Developers know which lever to pull.
You're paying thousands in ads monthly and every conversion counts. At scale, a 0.5-second improvement can mean thousands in extra revenue. DIY optimization yields 80% of gains. The last 20% requires professional performance engineering.
AeroDev Studio specializes in Shopify speed optimization. We audit your store, identify the exact bottlenecks, and implement fixes that push your Core Web Vitals into the green. Check out our Shopify services or book a free speed audit to see what's possible for your store.
Frequently asked questions
Does the Shopify theme affect page speed?
Yes, significantly. Your theme accounts for 30–60% of page load time depending on which theme you use and how customized it is. A well-coded modern theme loads in 1–2 seconds. A bloated, outdated theme might take 3–4 seconds before adding apps or images. If you're under 50 on PageSpeed and your apps are optimized, your theme is likely the problem.
How many Shopify apps is too many?
There's no magic number. Most stores function well with 15–25 apps. The impact depends on what the apps do and how they're coded. A single poorly coded app can hurt more than five well-optimized apps. Audit by performance impact, not count—use Shopify's speed report to see which apps add the most milliseconds.
Will removing apps immediately improve my score?
Usually yes, but not always visibly. PageSpeed Insights may not show a 10-point jump after removing one app. But your actual visitors will feel the difference. Pages render faster, buttons respond quicker, and users perceive your store as more modern. Give it 24–48 hours after removing apps before re-running tests.
What's the fastest free Shopify theme?
Shopify's official Dawn theme is consistently among the fastest. It's lightweight, built on current web standards, and scores 85+ on PageSpeed for most stores. Other fast free themes include Prestige and Refresh. The fastest theme that doesn't match your brand is useless—choose a theme that fits your design goals, then optimize it.
Speed optimization is one of the highest-ROI investments a Shopify merchant can make. Start with the free wins—image compression, app audit, lazy loading—and measure the impact. If you hit a ceiling, book a free speed audit with the AeroDev Studio team and we'll show you exactly what's holding your store back.