How to Speed Up a Shopify Theme (2026)

Last updated
Expert reviewed
5 min read
Jacques Blom
Jacques Blom
CTO at Fudge.

Key takeaways

  • The top causes of slow Shopify stores: large images, too many app scripts, render-blocking JavaScript, and outdated themes.
  • Check your speed: use Shopify’s built-in speed report (Online Store → Themes → Speed) and PageSpeed Insights.
  • Image optimization alone typically improves load time more than any other single change.
  • Fudge writes native Shopify code without the external script overhead that slows app-dependent stores down.

A slow Shopify store costs money. Studies consistently show that each additional second of load time reduces conversion rates. Mobile shoppers in particular are unforgiving — a 3-second load drops conversions measurably compared to a 1-second load.

The good news: most Shopify stores have several obvious performance problems, each with clear fixes.

How do I improve my Shopify speed?

Start by measuring. Then fix the biggest problems first.

Check your current speed

Shopify’s built-in speed report: Online Store → Themes → click on your theme → Speed. This shows your theme’s speed score and compares it to similar stores. It’s a useful starting point.

PageSpeed Insights: Run your homepage, a product page, and a collection page at pagespeed.web.dev. The mobile score is what matters most — desktop performance is usually much better.

Lighthouse in Chrome DevTools: F12 → Lighthouse tab → Generate report. More detailed breakdown than PageSpeed Insights with specific opportunities listed by impact.


Why is Shopify so laggy?

If your store feels sluggish, here are the most common causes ranked by how often they’re the culprit:

1. Oversized images. A 4MB hero image. Product images uploaded from a DSLR at full resolution. This is the #1 performance issue in most Shopify stores. A 2000px wide image served at 400px width wastes 70% of the download.

2. Too many apps. Every app adds JavaScript. 15 installed apps can mean 15 separate external script requests before your page loads. Even apps you never open slow your store if their scripts are still loading.

3. Render-blocking scripts. Scripts in <head> without async or defer freeze page rendering while they download. See our guide on render-blocking scripts.

4. An old or bloated theme. Older Shopify themes (pre-2.0) weren’t built for performance. Dawn scores well; older premium themes often don’t.

5. Embedded video not lazy loaded. YouTube iframes load megabytes of scripts from Google’s servers. Without the facade pattern, every page with an embedded video has a significant performance penalty.


Fix 1 — Compress images before uploading

This is the highest-impact change for most stores. Target sizes:

Tools:

Use WebP format. WebP images are typically 25-35% smaller than JPEG at equivalent quality. Shopify’s CDN serves WebP automatically to supporting browsers, but you can also upload WebP directly.


Fix 2 — Audit and remove unused apps

Go to Apps in your Shopify admin. For each app, ask: “When did I last actively use this?” If the answer is “months ago” or “I’m not sure,” uninstall it.

After uninstalling, clean up any leftover code. See our guide: how to remove leftover app code from Shopify.

Rule of thumb: every app you remove that had a script tag in theme.liquid reduces your page weight by one external HTTP request and potentially 20-200KB of JavaScript.


Fix 3 — Add lazy loading to images

Check if your theme already includes loading="lazy" on product and collection images. Modern themes do. If not, add it to image tags in your section files.

Never lazy load your hero image — that’s your LCP element and must load immediately.

Full guide: how to lazy load images in Shopify.


Fix 4 — Fix render-blocking scripts

Run PageSpeed Insights and look under “Opportunities” for “Eliminate render-blocking resources.” It will list specific scripts.

For each: add defer if it’s a theme script, async if it’s an analytics or marketing script. Full guide: how to optimize render-blocking scripts in Shopify.


Fix 5 — Use a fast base theme

If your current theme scores below 40 on mobile PageSpeed after the above fixes, consider switching to a faster theme.

Fast themes to consider:

The performance difference between a well-built theme (Dawn: 90+) and an older premium theme (50-60) is significant and hard to recover through optimization alone.

Build fast, clean Shopify pages with Fudge — native code, no app overhead.
Try Fudge for Free

Why Fudge is faster than app-based customization

Most Shopify store “features” — countdown timers, sticky CTAs, announcement bars, FAQ sections — are added via apps. Each app adds external scripts and styles.

Fudge builds these same features as native Liquid/HTML/CSS code directly in your theme. No external script requests. No app JavaScript loading on every page. The code is optimized for your specific theme.

A sticky add-to-cart bar built with Fudge adds negligible performance overhead. The equivalent app-based solution adds a script tag, an external API call, and potentially additional CSS conflicts.


What to track after making performance improvements

Run PageSpeed Insights before and after each change and note the scores. The specific metrics to track:

These three are Google’s Core Web Vitals and affect your search ranking in addition to user experience.

Jacques's signature
Speed up your Shopify store by replacing app bloat with native Fudge code.

You might also be interested in

How to Remove Unused Code in Shopify (2026)
Remove unused JavaScript, CSS, and theme files from Shopify — use Theme Inspector to identify slow assets, find orphaned snippets in the code editor
How to Lazy Load Videos in Shopify (2026)
Add lazy loading to videos in Shopify — use loading='lazy' and preload='none' on video elements, implement the facade pattern for YouTube and Vimeo
How to Lazy Load Images in Shopify (2026)
Add lazy loading to images in Shopify — check if your theme includes loading='lazy' by default, how to add it manually, and why hero images should