E-commerce
How to Improve Shopify Store Speed
A practical guide to improving Shopify store speed, covering image optimisation, app bloat, theme code, CDN, and what actually moves your Core Web Vitals score.
The fastest way to improve Shopify store speed is to compress and lazy-load images, remove unused apps, replace heavy theme JavaScript with lean custom code, and enable Shopify's built-in CDN. Stores that take more than 3 seconds to load lose roughly 53% of mobile visitors before a single product is seen. A well-optimised Shopify store should score above 70 on Google PageSpeed Insights (mobile) and load its largest contentful paint (LCP) in under 2.5 seconds, both benchmarks are achievable without switching platforms or rebuilding from scratch.
Most Shopify merchants come to us after spending money on ads that simply stop performing. The culprit is almost always the same: a bloated theme loaded with 14 apps, uncompressed 4 MB hero images, and render-blocking scripts firing on every page. Speed is not a technical vanity metric, it is a revenue lever. If your store is converting at 1.2% and a competitor with an identical product converts at 2.4%, the difference is often loading time, not price. Before you look at why your Shopify store isn't converting visitors, fix the foundation first.
This guide covers every layer of Shopify speed: images, apps, theme code, third-party scripts, fonts, and infrastructure. I'll give you a priority-ordered action list, not a vague checklist of buzzwords. Some fixes take 10 minutes; a few require a developer. I'll tell you which is which, and roughly what each costs when you hire out.
Why Shopify Store Speed Matters More Than You Think
Google uses Core Web Vitals, LCP, INP (Interaction to Next Paint), and CLS (Cumulative Layout Shift), as a direct ranking signal. A slow store ranks lower in organic search, pays more per click in Google Ads (Quality Score is partially load-speed dependent), and converts worse. The math is brutal: research from Deloitte found a 0.1-second improvement in mobile load time increases conversion rates by 8% for retail sites. On a store doing $12,000/month (roughly $12,000 USD) in revenue, shaving half a second off load time is worth $950+ per month in additional sales, without spending a single extra rupee on ads. The impact of fast website speed on revenue is consistently underestimated by store owners who think design is the only lever.
Benchmark Your Store Before Touching Anything
Run your homepage, a collection page, and your best-selling product page through three tools: Google PageSpeed Insights (pagespeed.web.dev), GTmetrix, and Shopify's own Online Store Speed report in the admin dashboard. Screenshot the scores. You need a baseline, otherwise you can't prove that any change made a difference. Most unoptimised Shopify stores score between 30-55 on mobile. Getting to 65-75 is realistic with the techniques below. Getting to 85+ requires lean custom theme work or a headless setup.
The Biggest Speed Killers on Shopify (Ranked by Impact)
| Speed Killer | Typical Impact | Fix Complexity | DIY or Dev? |
|---|---|---|---|
| Uncompressed / oversized images | High, often 30-50 point score drop | Low | DIY |
| Too many installed apps (especially with JS) | High, each app adds 50-300ms | Low, Medium | DIY |
| Render-blocking third-party scripts (chat, pixels) | High, 200-500ms delay on FCP | Medium | Dev recommended |
| Heavy or poorly coded theme | High, affects every page | High | Dev required |
| Too many font variants loaded | Medium, 100-200ms | Low | DIY |
| No lazy loading on below-fold images | Medium | Low | DIY |
| Liquid template inefficiencies | Medium, affects TTFB | High | Dev required |
| Upsell / review apps loading synchronously | Medium, High | Medium | Dev recommended |
| Large unused CSS / JS bundles | Medium | High | Dev required |
| No CDN for custom assets | Low, Medium | Low | DIY |
Fix 1, Images: The Fastest Win Available
Images are responsible for the majority of page weight on most Shopify stores. A product page with 8 images at 1.5 MB each is carrying 12 MB of weight before a single line of JavaScript runs. The fix is three-pronged: compress, resize, and convert to modern formats. Shopify automatically serves WebP to browsers that support it if you use standard <img> tags, but only if your original image is uploaded at a reasonable resolution. Uploading a 6000×4000 raw photo and letting Shopify handle it is not optimisation; it still adds processing time and large source files.
- Resize product images to a maximum of 2048×2048 px before upload, Shopify's maximum display size for most themes
- Compress images using Squoosh (free) or TinyPNG before uploading; aim for under 200 KB per product image
- Use Shopify's native image_url filter with width parameters in Liquid to serve responsive image sizes
- Audit your existing product images with a bulk optimisation app like Crush.pics or AVADA SEO, one-time cost of $24-$100/month ($25-$100 USD) and typically recovers its cost in the first week
- Lazy-load all below-fold images using the native loading='lazy' attribute, most modern themes support this, older themes may need a code edit
Fix 2, App Audit: Kill the Dead Weight
Every Shopify app that loads JavaScript on the storefront adds HTTP requests, parsing time, and execution overhead. I've audited stores with 22 installed apps where 11 were either unused or duplicated by another app. The merchant was paying $180/month ($180 USD) in app subscriptions and getting a 38/100 mobile score as a receipt. Go to your Shopify admin, list every installed app, and for each one ask: Is this actively used? Is it loading JS on the storefront? Can a theme feature or a single multipurpose app replace it?
- Use Chrome DevTools Network tab to identify which third-party domains are loading scripts on your storefront
- Check if any two apps do overlapping jobs, loyalty + referrals apps are a common duplicate
- Prefer apps that load asynchronously or only on specific pages (e.g., cart page only)
- Uninstall does not always remove code, after removing an app, check theme.liquid for leftover script tags
- A developer audit of app code remnants typically costs $60-$180 ($60-$180 USD) as a one-time task
Fix 3, Theme Optimisation: Where Real Gains Live
Shopify's free themes (Dawn, Sense, Craft) are well-optimised out of the box and score 70-85 on mobile PageSpeed. Most premium marketplace themes, the ones with sliders, parallax effects, countdown timers built in, score 40-60. If you bought a $120 ($120 USD) theme because it looked beautiful, you may have also bought a 25-point speed penalty. The options are: (1) switch to a faster base theme and customise it, (2) strip the heavy features from your current theme, or (3) commission a custom theme built for performance. Option 3 is what we do at Sadik Studio's Shopify development service, a performance-first custom theme typically costs $700-$1,800 ($720-$1,800 USD) depending on complexity, and it pays back in improved conversion rates within 60-90 days for any store doing meaningful revenue.
Specific Theme Code Fixes
- Defer non-critical JavaScript using the defer or async attribute, this alone can improve FCP by 200-400ms
- Remove unused sections from theme.liquid, every section file is parsed even if not rendered
- Inline critical CSS for above-the-fold content and load the rest asynchronously
- Replace JavaScript-heavy sliders with CSS-only carousels, they render faster and work without JS
- Eliminate jQuery if your theme uses it only for basic DOM manipulation, modern vanilla JS is faster and Shopify's Dawn theme proves you don't need it
- Minimise Liquid loops, avoid loops inside loops on collection pages; use pagination instead of loading 250 products at once
Fix 4, Third-Party Scripts: Load Smart, Not Fast
Meta Pixel, Google Analytics 4, TikTok Pixel, Klaviyo, Hotjar, Intercom, each of these is a legitimate business tool. Each also adds JavaScript execution time. The mistake isn't using them; it's loading them all synchronously in the <head> tag. Move tracking pixels to load after the page's interactive event fires. Use Google Tag Manager to consolidate and control when scripts load. Delay chat widgets (Intercom, Tidio, Gorgias) to load 3-5 seconds after page interaction rather than on initial load, your customer won't notice, but your LCP score will thank you. This is one of the most impactful changes a developer can make, typically improving mobile LCP by 300-700ms.
Fix 5, Fonts: The Silent Performance Tax
Custom fonts are a CLS (layout shift) risk and a blocking resource if not loaded correctly. Loading 4 font weights across 2 typefaces means 8 additional HTTP requests before your text renders. Best practices: use system fonts for body copy if your brand allows it, load only the weights you actually use, add font-display: swap to prevent invisible text during load, and preload your primary font file in the <head> tag. If you must use Google Fonts, self-host them, Shopify's CDN will serve them faster than Google's servers for most Indian and Southeast Asian users.
Fix 6, Shopify Infrastructure: What You Can and Can't Control
Shopify's hosting infrastructure is genuinely excellent. Their CDN (powered by Fastly) serves assets from edge nodes globally, their servers handle traffic spikes well, and TTFB (Time to First Byte) from Shopify's infrastructure is rarely the problem. What you control is everything that loads after the initial HTML response: your images, your app scripts, your theme JavaScript, and your fonts. One thing worth doing: ensure your store's primary domain uses Shopify's managed CDN for all asset delivery. If you're loading product images from an external source or a custom image host, you're bypassing Shopify's CDN and likely serving slower.
A Realistic Speed Optimisation Roadmap
Here is how I would approach a Shopify speed project in priority order, whether you're doing it yourself or hiring a developer. The timeline assumes a store with 500-2,000 products and a standard premium theme.
- Week 1 (DIY): Benchmark all key pages. Compress and re-upload images. Remove unused apps. Fix fonts.
- Week 1-2 (DIY/Dev): Audit leftover app code in theme files. Enable lazy loading. Move pixels to GTM.
- Week 2-3 (Dev): Defer non-critical JS. Inline critical CSS. Optimise Liquid loops.
- Week 3-4 (Dev): Theme audit, remove unused sections, replace sliders, eliminate jQuery if present.
- Month 2 (Optional): Commission a performance-first custom theme if score is still under 65 on mobile.
- Ongoing: Monitor Core Web Vitals monthly via Google Search Console. Each new app or design change can regress your score.
What Does Shopify Speed Optimisation Actually Cost?
DIY optimisation, images, app removal, font fixes, costs nothing but time, roughly 4-8 hours for a merchant comfortable with basic Shopify admin. Hiring a Shopify developer for a speed audit and code-level fixes typically runs $180-$480 ($180-$480 USD) in India for a reputable freelancer or $480-$1,200 ($480-$1,200 USD) from an agency with a proper process. A full custom theme rebuild for performance starts at $700 ($720 USD) on the low end and scales with design complexity. Compare this to what you're losing: a store doing $6,000/month ($6,000 USD) and converting at 1% that jumps to 1.5% after a speed fix gains $3,000/month ($3,000 USD) in additional revenue. The investment pays back in weeks, not months. You can review our pricing for Shopify development to understand what's included at each tier.
For stores serious about long-term ecommerce growth, speed optimisation is one piece of a broader technical foundation. The others, conversion-focused product page design, checkout optimisation, and structured data for AI search visibility, are covered in our complete Shopify store setup guide and best product page design examples. Speed gets visitors to stay; everything else convinces them to buy.
The Headless Option: When Standard Shopify Isn't Enough
If your store is doing serious volume, $60,200+ per month ($60,000+ USD), and you've optimised everything above and still can't get mobile scores above 70, it's worth considering a headless Shopify setup using Next.js or Remix as the frontend. Headless separates your storefront (rendered as a fast React app on a CDN) from Shopify's backend (handling checkout, inventory, payments). The tradeoff: significantly higher build cost ($3,600-$12,000 / $3,600-$12,000 USD), ongoing frontend maintenance, and a more complex stack. The gain: mobile LCP scores of 1.0-1.8 seconds and full control over every byte loaded. This is a serious engineering decision, not a casual upgrade. We've built headless Shopify frontends for DTC brands and the performance improvements are real, but only justified at the right revenue tier. Our Shopify vs custom website comparison goes deeper on when to make that call.
Speed is table stakes for any Shopify store competing in 2026. Slow stores pay more for ads, rank lower in organic search, and convert worse, the three things that determine profitability. The good news is that for most stores, 80% of the speed gains come from image optimisation, app cleanup, and script deferral, work that costs under $240 ($240 USD) and can be done in two weeks. Start there. Measure the before and after. Then decide if deeper theme work or a custom build is worth the investment.
Frequently asked questions
What is a good Shopify store speed score?
A score above 70 on Google PageSpeed Insights (mobile) is a practical target for most Shopify stores. More importantly, aim for LCP under 2.5 seconds, CLS under 0.1, and INP under 200ms, these are the Core Web Vitals thresholds Google uses for ranking. Shopify's own admin speed report uses a composite score; above 50 is average, above 70 is good.
How many apps is too many for a Shopify store?
There's no hard number, but any app that loads JavaScript on the storefront adds latency. Stores with more than 8-10 apps that all fire on the frontend almost always have speed problems. The issue isn't the count, it's the JavaScript weight. Audit which apps actually load scripts on your store pages and whether each one justifies that cost in revenue generated.
Do Shopify apps slow down your store?
Yes, most Shopify apps inject JavaScript, CSS, or both into your storefront. Some are well-optimised and add minimal overhead; others are poorly written and can add 500ms+ per app. Review widget apps, currency converters, pop-up builders, and loyalty widgets are common offenders. Always check an app's impact using Chrome DevTools before committing to it long-term.
Which Shopify theme is fastest?
Shopify's free themes, Dawn, Sense, Craft, and Crave, consistently score highest on PageSpeed because they're built by Shopify's own team to modern performance standards. Among paid themes, Prestige and Impulse have above-average scores. Any theme can be made fast with proper optimisation, but starting with a lean base is easier than fixing a bloated one.
How does store speed affect Shopify conversion rates?
Research consistently shows that each additional second of load time reduces conversion rates by 7-20% depending on the audience. Mobile shoppers are especially sensitive, 53% abandon a page that takes more than 3 seconds to load. A store converting at 1.0% with a 4-second load time can realistically reach 1.4-1.6% conversion after optimisation without changing any copy, pricing, or products.
Can I improve Shopify speed without a developer?
Yes, several high-impact changes require no coding: compressing and resizing images before upload, uninstalling unused apps, reducing the number of font weights, and using Shopify's built-in image CDN. These DIY steps can move a score from 35 to 55 on their own. Getting from 55 to 70+ typically requires code-level changes to theme JavaScript and CSS, which needs a developer.
Does Shopify's built-in CDN help with speed?
Yes. Shopify uses Fastly's CDN to serve storefront assets from edge nodes globally, which significantly reduces latency for visitors far from the origin server. This is automatic for all stores. However, the CDN only helps with Shopify-hosted assets, if your theme loads scripts or images from external URLs, those bypass the CDN and may load slower.
Is headless Shopify worth it for speed?
Headless Shopify (using Next.js or Remix as the frontend) can achieve mobile LCP scores of 1.0-1.8 seconds, meaningfully faster than a standard Shopify theme. However, build costs start at $3,600 ($3,600 USD) and require ongoing frontend maintenance. It's worth considering for stores doing $60,200+ per month where conversion rate improvements at that revenue level justify the investment.