Speed Guide · Updated February 2026

How to Speed Up Your Shopify Store (Complete 2026 Guide)

How to speed up your Shopify store — complete guide

The fastest way to speed up your Shopify store is to optimize third-party app scripts, compress images, use lazy loading, and minimize render-blocking resources. Most stores can improve load times by 40–60% with these changes.

~15 min read · 3,500 words · 10 actionable techniques

1. Why Shopify Speed Matters

Research-backed data

8.4%

more conversions for every 0.1 second faster load time

Google/Deloitte — 37 brands, 30M+ sessions · Source

32% → 90%

bounce rate increase when load time goes from 1s → 3s (32%) and 1s → 5s (90%)

Google/SOASTA 2017 · Source

2.5×

higher conversion rate on Shopify stores loading in 1s vs 5s

Shopify performance data

-1%

in sales for every 100ms of added latency at Amazon

Amazon internal study

Speed isn't just a nice-to-have — it directly impacts your revenue. Study after study confirms the connection between load time and conversions, and the data is hard to ignore:

53%

of mobile users leave if a page takes more than 3 seconds to load

— Google, 2023

8.4%

more conversions for every 0.1s improvement in load time

— Google/Deloitte, 37 brands

10%

of users lost for every additional second of load time

— BBC

Speed is also an SEO ranking factor. Since 2021, Google has used Core Web Vitals — Largest Contentful Paint (LCP), Interaction to Next Paint (INP), and Cumulative Layout Shift (CLS) — as ranking signals. A slow store doesn't just lose customers at checkout; it loses them before they ever arrive, because Google ranks faster sites higher in search results.

For Shopify stores specifically, this is a real challenge. The average Shopify store scores just 25–35 on Google PageSpeed Insights (mobile). That's well below the "good" threshold of 50+. The reason? Shopify's platform JavaScript, your theme, and — most critically — third-party app scripts all compete for the browser's attention.

The good news: most of this is fixable. You don't need to rebuild your store or switch platforms. The techniques in this guide can improve your load time by 40–60%, often in a single afternoon.

2. How to Check Your Shopify Store Speed

Before optimizing anything, you need a baseline. Here are the three tools worth using (all free):

Google PageSpeed Insights

pagespeed.web.dev — The most important tool. It shows both lab data (simulated) and field data (real user experiences from Chrome users). Focus on the mobile score — that's what Google uses for ranking, and it's where Shopify stores struggle most.

What to look for: Your overall Performance score, LCP time, Total Blocking Time (TBT), and the "Opportunities" section, which tells you exactly what to fix.

GTmetrix

gtmetrix.com — Provides a waterfall chart showing every resource your page loads, in order. This is invaluable for identifying which specific scripts are blocking rendering. You can visually see which third-party apps load first and how long they take.

Pro tip: Set the test location to wherever most of your customers are, and test on mobile. Desktop results can be misleading.

Google Search Console — Core Web Vitals Report

If your store is connected to Google Search Console (it should be), check the Core Web Vitals report under "Experience." This shows real-world performance data across all your pages, grouped by status: Good, Needs Improvement, or Poor. Unlike PageSpeed Insights, this represents actual user experience — not a simulation.

⚠️ Ignore Shopify's built-in speed score. The speed score in your Shopify admin (under Online Store → Themes) uses a simplified metric that doesn't reflect real-world performance well. It's fine for rough comparisons between themes, but for actual optimization work, use PageSpeed Insights and Core Web Vitals data.

3. The #1 Speed Killer: Third-Party Apps

If there's one section of this guide to read carefully, it's this one. Third-party apps are responsible for 50–80% of speed issues on most Shopify stores. Not your theme. Not your images. Your apps.

Here's how it works: when you install a Shopify app — a review widget, an email popup, a loyalty program, an analytics tracker — that app typically injects one or more JavaScript files into every page of your store. These scripts must be downloaded, parsed, and executed by your visitor's browser before the page finishes loading.

The average Shopify store has 15–25 installed apps, each potentially adding its own scripts. Many of these scripts are:

  • Render-blocking — They prevent the page from displaying until they finish loading
  • Unoptimized — Many app developers don't prioritize performance
  • Loading on every page — A review widget script loads on your homepage, even though reviews only show on product pages
  • Duplicated — Multiple apps may load the same libraries (jQuery, lodash) independently

How to Identify Slow Apps

The manual way: Open your store in Chrome DevTools (F12 → Network tab), reload the page, and filter by "JS." Look for scripts from domains you don't recognize — these are typically app scripts. Sort by size or load time to find the worst offenders.

The easier way: Use a tool that automatically scans your installed apps and measures each one's impact on load time. Thunder's app scanner does exactly this — it generates a report showing which apps add the most weight to your pages, measured in milliseconds of delay and kilobytes of JavaScript.

Once you know which apps are the problem, you have three options: remove the app, find a lighter alternative, or optimize how its scripts load (more on this in section 4).

4. 10 Ways to Speed Up Your Shopify Store

These techniques are ordered by impact — start from the top for the biggest improvements.

① Audit and Remove Unused Apps

Go to your Shopify admin → Apps and review every installed app. Ask yourself: Is this app actively contributing to sales? If not, uninstall it.

Common culprits: apps you tried once and forgot about, duplicate apps that do the same thing (two email popups, two analytics tools), and seasonal apps (holiday countdown timers still installed in February).

Important: After uninstalling, check your theme code. Go to Online Store → Themes → Edit Code and search for the app's name in theme.liquid. Many apps leave behind script tags that continue loading even after uninstallation.

⚡ Expected impact: 10–30% improvement if you remove 3+ unused apps

② Use a Script Optimizer

For apps you can't remove (your review widget, email marketing, analytics), the next best thing is to optimize how their scripts load. A script optimizer defers non-critical JavaScript so it loads after the main page content is visible, rather than blocking the initial render.

This is the approach taken by Thunder Page Speed Optimizer, Hyperspeed, and other speed apps. The key differentiator between them is how intelligently they defer scripts — naive deferral can break app functionality, while smart deferral understands which scripts depend on each other.

If you're evaluating options, we've written detailed comparisons: Thunder vs Booster and Thunder vs Hyperspeed, or see our roundup of the best Shopify speed apps for 2026.

⚡ Expected impact: 20–50% improvement, especially on script-heavy stores

③ Optimize Images

Images are typically the largest files on any page. Unoptimized product photos can easily be 2–5MB each, when they should be 100–300KB. Three things to get right:

  • Use WebP format. Shopify automatically serves WebP versions of your images to supported browsers (which is 97%+ of users now). But you should still upload properly sized originals — don't upload 4000×4000px images if they display at 800×800px.
  • Compress before uploading. Use tools like Squoosh or TinyPNG to compress images before uploading to Shopify. Aim for under 200KB per product image.
  • Use responsive images. Shopify themes with proper srcset attributes serve different image sizes for different screen sizes. Check that your theme does this — most modern themes do.

⚡ Expected impact: 15–40% improvement for image-heavy stores (collections, lookbooks)

④ Enable Lazy Loading

Lazy loading means images and videos below the fold (not visible on initial page load) aren't loaded until the user scrolls to them. This dramatically reduces initial page weight.

Most modern Shopify themes include native lazy loading using the HTML loading="lazy" attribute. If your theme doesn't support this, a speed optimizer app can add it automatically.

One caveat: Don't lazy-load your hero image or above-the-fold product images. These should load immediately (eagerly) since they're the first thing visitors see. Lazy-loading them actually hurts your LCP score.

⚡ Expected impact: 10–25% improvement on pages with many images

⑤ Minimize Custom Code and Liquid Complexity

If you've had developers customize your theme, you may have accumulated custom JavaScript, CSS, and complex Liquid loops that slow down server-side rendering. Common issues:

  • Inline <script> tags in theme files (these block rendering)
  • Deeply nested Liquid for loops (slow server response time)
  • Unused CSS from previous customizations
  • Multiple custom fonts loaded via @font-face

Audit your theme code periodically. If you're not technical, ask your developer to review for unused code. Every kilobyte of JavaScript your page doesn't load is a kilobyte your visitor's phone doesn't have to download and parse.

⚡ Expected impact: 5–20% depending on customization level

⑥ Choose a Fast Theme

Your theme is the foundation. Some themes are built for speed; others prioritize features at the expense of performance. Feature-heavy themes with built-in mega menus, animated sliders, and complex product filtering tend to load significantly more JavaScript.

The fastest Shopify themes in 2026 include Dawn (Shopify's free reference theme, extremely fast), Sense, and Craft. Premium themes like Prestige and Impulse balance features and performance well.

Before choosing a theme: Run its demo store through PageSpeed Insights. If the demo scores below 40 on mobile, the theme itself is the bottleneck — no amount of optimization will fully fix it.

⚡ Expected impact: 10–40% improvement if switching from a heavy theme to a lightweight one

⑦ Reduce HTTP Requests

Every file your page loads — scripts, stylesheets, images, fonts — is an HTTP request. The average Shopify store makes 80–120 requests per page load. Each request has overhead (DNS lookup, connection, SSL handshake), and they add up.

To reduce requests: remove unnecessary apps (biggest win), consolidate custom scripts into fewer files, use CSS sprites or inline SVGs instead of icon images, and avoid loading external widgets (social media feeds, embedded maps) unless they're essential to that specific page.

You can see your total request count in Chrome DevTools (Network tab) or GTmetrix's waterfall view.

⚡ Expected impact: 5–15% improvement

⑧ Optimize Fonts

Custom web fonts are a common hidden speed tax. Each font weight (regular, bold, italic) is a separate file — a typical setup with 4 weights of a Google Font adds 200–400KB and 4 additional HTTP requests.

Best practices:

  • Use system fonts when possible (-apple-system, BlinkMacSystemFont, 'Segoe UI'). They load instantly because they're already on the user's device.
  • If you must use custom fonts, limit to 2 weights maximum (regular + bold).
  • Add font-display: swap to your @font-face declarations. This shows text immediately in a fallback font, then swaps to the custom font when it's ready — preventing invisible text during load.
  • Self-host fonts instead of loading from Google Fonts. This eliminates the extra DNS lookup to fonts.googleapis.com.

⚡ Expected impact: 5–15% improvement, especially on mobile networks

⑨ Minimize Redirects

Every redirect (301 or 302) adds 100–300ms of delay because the browser must make an entirely new request. Common Shopify redirect issues:

  • Linking to URLs without trailing slashes that redirect to versions with trailing slashes (or vice versa)
  • Old product or collection URLs that redirect to new ones — update internal links to point directly to the final URL
  • HTTP → HTTPS redirects (Shopify handles this, but ensure your internal links always use HTTPS)
  • Country/language redirects for international stores (use hreflang tags instead of redirect chains)

Check your redirects in Shopify admin → Online Store → Navigation → URL Redirects. Remove any that are no longer needed, and fix internal links that point to redirected URLs.

⚡ Expected impact: 2–10% improvement if you have many redirect chains

⑩ Understand Shopify's CDN (You Already Have One)

Good news: every Shopify store already uses a CDN (Content Delivery Network). Shopify partners with Cloudflare to serve your store's static assets — images, CSS, JavaScript — from servers worldwide, close to your visitors.

You don't need to set up a separate CDN, and you probably shouldn't. Adding another CDN layer on top of Shopify's can actually slow things down by adding extra DNS lookups and connection overhead.

What Shopify's CDN doesn't fix: It only optimizes delivery — getting files to the browser faster. It doesn't fix render-blocking JavaScript, unoptimized images, or heavy themes. Think of a CDN as a faster delivery truck; it doesn't help if you're shipping too many packages.

⚡ Expected impact: Already included — no action needed

5. Core Web Vitals Explained for Shopify

Core Web Vitals are Google's three metrics for measuring real-world user experience. They directly affect your search rankings. Here's what each one means for your Shopify store:

LCP — Largest Contentful Paint

Target: Under 2.5 seconds

LCP measures how long it takes for the largest visible element (usually your hero image or main product image) to fully load. On Shopify, slow LCP is typically caused by:

  • Unoptimized hero/product images (too large, wrong format)
  • Render-blocking JavaScript that delays image loading
  • Slow server response time (TTFB) — less common on Shopify's infrastructure

Fix: Optimize images (#3), defer scripts (#2), don't lazy-load the hero image (#4).

INP — Interaction to Next Paint

Target: Under 200 milliseconds

INP replaced FID (First Input Delay) in March 2024. It measures how quickly your page responds to user interactions — clicks, taps, keyboard input. A poor INP score means your store feels "janky" or unresponsive. On Shopify, poor INP is almost always caused by:

  • Heavy JavaScript execution from third-party apps
  • Complex event handlers (search autocomplete, mega menus, product filtering)
  • Long-running JavaScript tasks that block the main thread

Fix: Reduce and defer JavaScript (#1, #2), choose a simpler theme (#6).

CLS — Cumulative Layout Shift

Target: Under 0.1

CLS measures how much the page layout shifts unexpectedly as it loads. If you've ever tried to tap a button and the page jumped, that's layout shift. On Shopify, common CLS causes:

  • Images without explicit width/height dimensions (browser doesn't know how much space to reserve)
  • App widgets that inject content after page load (banners, popups, notification bars)
  • Web fonts that change text size when they load (FOUT — flash of unstyled text)

Fix: Set image dimensions, use font-display: swap (#8), minimize injected content.

6. How to Monitor Speed Over Time

Speed optimization isn't a one-time project. Every time you install a new app, add products, or update your theme, your speed can change. Here's how to stay on top of it:

1

Set up Google Search Console alerts

Google Search Console will notify you when Core Web Vitals issues are detected. This is your early warning system.

2

Check PageSpeed Insights after every change

Make it a habit: installed a new app? Test speed. Changed your theme? Test speed. Added a heavy collection page? Test speed.

3

Use continuous monitoring

Tools like Thunder offer built-in Core Web Vitals monitoring that tracks your real-user metrics over time, directly in your Shopify dashboard. This catches regressions automatically — you don't have to remember to manually test.

4

Keep a speed log

Maintain a simple spreadsheet: date, what changed, before/after PageSpeed score, key metrics (LCP, INP, CLS). This helps you identify which changes hurt or help performance, and makes it easy to roll back if something goes wrong.

7. Frequently Asked Questions

How fast should a Shopify store load?

Ideally under 3 seconds on mobile. Google considers anything above 3 seconds slow. The best-performing Shopify stores load in 1.5–2.5 seconds. Aim for a PageSpeed Insights score of 50+ on mobile (most Shopify stores score 25–35 out of the box).

Why is my Shopify store so slow?

The #1 cause of slow Shopify stores is third-party app scripts. Every app you install can inject JavaScript into your storefront. Other common causes include unoptimized images, heavy themes with excessive features, too many fonts, and excessive Liquid template complexity.

Does Shopify speed affect SEO rankings?

Yes. Google uses Core Web Vitals (LCP, INP, CLS) as ranking signals. Slow stores also have higher bounce rates, which indirectly affects rankings. Google's own data shows 53% of mobile users leave a page that takes more than 3 seconds to load.

Do Shopify speed optimizer apps actually work?

Good ones do, yes. The best speed optimizer apps work by deferring non-critical JavaScript, lazy loading images, and optimizing how third-party scripts load. Results vary — stores with many apps typically see the biggest improvements (20–60% faster load times). Always test with real metrics like Core Web Vitals, not just PageSpeed scores.

How many apps is too many on Shopify?

There's no magic number. Some stores run 30+ apps with good speed because the apps are lightweight. Others slow down with just 5 heavy apps. Focus on impact, not count: use a tool like Thunder to measure each app's actual effect on load time, and remove or optimize the worst offenders.

What is a good PageSpeed Insights score for Shopify?

A mobile score of 50–70 is good for Shopify. Scores above 70 are excellent. Most unoptimized Shopify stores score 20–35 on mobile. Desktop scores are typically much higher (70–95) and less meaningful since most ecommerce traffic is mobile. Focus on mobile performance.

Does removing an app remove its code from my store?

Not always. Many Shopify apps leave behind code snippets in your theme files even after uninstallation. Check your theme's theme.liquid and other template files for leftover script tags. You may need to manually remove them or use a speed optimizer that can identify orphaned scripts.

Is Shopify's built-in CDN enough for speed?

Shopify's CDN handles static assets (images, CSS, JS) well and is globally distributed. You don't need a separate CDN. However, a CDN only helps with delivery speed — it doesn't fix render-blocking scripts, unoptimized images, or heavy JavaScript execution, which are the main speed bottlenecks on Shopify.

How often should I check my Shopify store speed?

At minimum, check after installing or removing any app, changing themes, or making significant content updates. Ideally, monitor Core Web Vitals weekly. Tools like Thunder provide continuous monitoring in your Shopify dashboard so you don't have to remember to check manually.

Can I speed up my Shopify store without an app?

Yes — to a point. You can compress images before uploading, remove unused apps, reduce custom code, use system fonts, and choose a lightweight theme. However, optimizing how third-party scripts load requires JavaScript-level intervention that's difficult to do manually and maintain across app updates.

Find Out What's Slowing Your Store

Thunder scans your installed apps and shows you exactly which ones are hurting your page speed — with a per-app impact report. Free to install, takes 60 seconds.

Install Thunder Free →

No credit card required · Works with all Shopify themes · Free plan available