Speed Guide · Updated March 2026

Shopify Speed Score Explained: What's Good, Why It Drops & How to Fix It

Your Shopify admin shows a speed score, and it's probably lower than you'd like. Before you panic, rewrite your entire theme, or uninstall every app — let's understand what this number actually means and the fastest way to improve it.

~15 min read · 4,200 words · Updated March 2026

What Is the Shopify Speed Score?

The Shopify speed score is a number from 0 to 100 that appears in your Shopify admin under Online Store → Themes. It tells you how fast your store loads — or more accurately, how fast Google's testing tool thinks it loads.

Under the hood, Shopify uses Google Lighthouse — the same engine that powers PageSpeed Insights. It runs a simulated test on your homepage using an emulated mobile device with a throttled CPU and mid-tier network connection (simulated 4G).

This is important: the test doesn't run on a real phone, and it doesn't reflect your actual visitors' experience. It's a lab simulation designed to give a consistent, comparable benchmark. Think of it like a treadmill stress test — useful for comparison, but not the same as running in the real world.

Key point: The speed score varies between runs. You can test the same page twice and get different numbers — differences of 5–10 points are completely normal. Shopify accounts for this by averaging multiple runs, but you'll still see day-to-day fluctuations. Want to see where you stand right now? Check your store's speed score with our free tool.

Why Merchants Obsess Over It (But Shouldn't Panic)

Let's be honest: seeing a red score in your Shopify dashboard feels terrible. You've invested thousands in your store, and a glowing "28" makes it look like you're running a broken website. So you start Googling, lose sleep, and consider firing your developer.

Take a breath. Here's some perspective:

The average Shopify store scores 30–60. If you're in this range, you're normal — not broken. The platform itself (Shopify's checkout scripts, analytics, etc.) consumes a chunk of the budget before your theme even loads.

A low score doesn't mean a slow store. Many stores with scores of 40–50 actually load in 2–3 seconds for real visitors. The lab test is artificially harsh — throttled CPU, slow simulated network, mobile-only.

Revenue matters more than the number. A store scoring 45 that converts at 3% is healthier than a stripped-down store scoring 95 that converts at 0.5%. Speed helps conversion, but it's one factor among many.

Chasing 100 is a waste of time. Getting from 30 to 60 has meaningful impact. Getting from 85 to 95 is diminishing returns. Getting to 100 on a real Shopify store with apps is nearly impossible — and not worth trying.

That said, speed does matter for conversions and SEO. A 7% conversion drop per second of delay is well-documented. The goal isn't a perfect score — it's making your store fast enough that speed isn't costing you sales.

What's a "Good" Shopify Speed Score?

Google Lighthouse uses a traffic-light system. Here's how it maps to Shopify stores in practice (we break down the benchmarks in more detail in our guide to good Shopify speed scores):

0–49 Poor (Red)

Significant performance issues. Your store likely takes 5+ seconds to become interactive on mobile. Common causes: too many apps, unoptimized images, heavy theme, render-blocking scripts. Most Shopify stores land here.

50–89 Needs Improvement (Orange)

Decent but room for improvement. Your store loads in a reasonable time but has optimization opportunities. This is where well-built stores with a few apps typically sit. A realistic target for most merchants.

90–100 Good (Green)

Excellent performance. Your store loads fast on even slow connections. Achievable with a lightweight theme, minimal apps, and proper optimization. Thunder users regularly reach this range.

Reality Check: Where Most Stores Fall

Based on our analysis of thousands of Shopify stores:

55% score below 50 (red)
35% score 50–89 (orange)
10% score 90+ (green)

The Easy Fix: Boost Your Score by 27+ Points with Thunder

You can spend hours manually optimizing your store (we'll show you how below), or you can let Thunder Page Speed Optimizer handle it automatically. One click. No code. No risk.

What Thunder does for your speed score:

Script Deferral

Defers all render-blocking JavaScript — including third-party app scripts you can't control

Critical CSS Inlining

Extracts above-the-fold CSS and inlines it for instant first paint

Image Optimization

Lazy-loads offscreen images and preloads the hero image for better LCP

Font Optimization

Preloads critical fonts, adds font-display: swap, eliminates FOIT

Preconnect & Prefetch

Establishes early connections to critical third-party domains

Daily Speed Monitoring

Tracks your score daily so you know your true average — not a single noisy test

Average improvement: +27 PageSpeed points

Stores typically jump from red (30–45) to orange/green (55–75+) within minutes. Stores with more apps and heavier themes see the biggest gains.

Boost Your Speed Score Now →

Free plan available · No credit card required · 30-second install · Works with all themes

Want to understand the details? Keep reading ↓

What Affects the Speed Score (The 5 Metrics)

Your speed score isn't a single measurement — it's a weighted average of five performance metrics. Understanding them helps you know where to focus:

Total Blocking Time (TBT)

30% weight

Time spent where the main thread is blocked by JavaScript, preventing user interaction. The single biggest factor in your score. Heavy third-party scripts are the usual culprit.

Largest Contentful Paint (LCP)

25% weight

Time until the largest visible element (usually hero image or heading) renders. Affected by render-blocking resources, slow server response, and large unoptimized images.

Cumulative Layout Shift (CLS)

25% weight

How much elements jump around as the page loads. Caused by images without dimensions, dynamically injected content, and web fonts loading late.

First Contentful Paint (FCP)

10% weight

Time until the browser renders anything at all — even a background color or loading spinner. Blocked by render-blocking CSS and JavaScript in the <head>.

Speed Index (SI)

10% weight

How quickly visible content fills the viewport. A holistic measure of visual loading speed — lower is better.

💡 Biggest lever: TBT alone is 30% of your score. If your store has many apps injecting JavaScript, fixing TBT through script deferral (what Thunder does automatically) typically has the largest single impact on your score.

7 Ways to Improve Your Shopify Speed Score

If you want to tackle things manually, here are the most impactful optimizations — ordered by impact. For a deeper walkthrough covering every technique, see our complete speed optimization guide. Each tip below includes a difficulty warning so you know what you're getting into.

1. Optimize & Lazy-Load Images

Easy

Unoptimized images are the most common speed killer. Use WebP format, compress to 80% quality, set explicit width/height attributes, and lazy-load everything below the fold. Shopify's built-in image_tag filter handles lazy loading, but many themes don't use it correctly.

Impact: High (improves LCP + SI) · Metrics: LCP, Speed Index

2. Defer Render-Blocking JavaScript

Advanced

Add defer or async to script tags. Sounds simple, but most render-blocking scripts come from third-party apps — and you can't edit those. Manual deferral of app scripts risks breaking functionality. This is the #1 reason merchants use Thunder — it defers scripts safely by mapping dependency chains.

Impact: Very High (improves TBT + FCP) · Metrics: TBT, FCP, LCP

3. Inline Critical CSS & Defer the Rest

Advanced

Extract above-the-fold CSS and inline it in the <head>, then load the full stylesheet asynchronously. This eliminates the CSS render-blocking penalty. Getting it right is notoriously hard — you need different critical CSS per page template, and it breaks if you change your theme. Thunder generates and updates critical CSS automatically.

Impact: High (improves FCP + LCP) · Metrics: FCP, LCP, Speed Index

4. Optimize Web Fonts

Medium

Use font-display: swap to prevent invisible text, preload your primary font, self-host instead of loading from Google Fonts, and limit yourself to 2 font weights maximum. Each extra weight is a separate download that delays rendering.

Impact: Medium (improves FCP + CLS) · Metrics: FCP, CLS

5. Audit & Remove Unused Apps

Easy

Every app can inject scripts and styles into your storefront. Uninstall apps you don't actively use — but beware: uninstalling doesn't always remove leftover code from your theme. Manually check your theme's theme.liquid and snippets folder for orphaned code from removed apps.

Impact: Medium-High (improves TBT) · Metrics: TBT, FCP, LCP

6. Choose a Lightweight Theme

Medium

Theme choice sets your performance baseline. Shopify's Dawn theme and its variants (Refresh, Craft, Sense) are the fastest since they're built with modern web standards. Third-party themes vary wildly — some ship 500KB+ of CSS and JavaScript before your content even loads. Switching themes is a big project, but it can move your baseline by 20+ points.

Impact: High (improves everything) · Metrics: All

7. Optimize Shopify's Server Response

Limited Control

Shopify controls hosting, so you can't switch servers or add a CDN. But you can reduce server work: minimize Liquid template complexity, reduce the number of Liquid loops and nested sections, and keep collection pages to reasonable product counts. Complex Liquid code = slower server response = higher TTFB = lower speed score.

Impact: Medium (improves TTFB → FCP → LCP) · Metrics: FCP, LCP

Or skip all 7 steps: Thunder handles items 2, 3, 4, and partially 1 — automatically. That covers the highest-impact, hardest-to-do optimizations. Most stores see +27 points without touching a line of code.

Why Your Speed Score Fluctuates

If you've tested your store multiple times and gotten different scores each time, you're not losing your mind. Lighthouse scores are inherently variable. Here's why:

🎲 Test Infrastructure Variance

Lighthouse runs on shared cloud servers. The CPU and network conditions of the testing machine vary between runs, causing score differences even for identical pages.

🌐 Third-Party Script Timing

External scripts (analytics, chat widgets, app scripts) load at different speeds depending on their servers' response time at the exact moment of testing.

🖥️ Server Response Variance

Shopify's server response time (TTFB) fluctuates based on load, caching state, and geographic routing. A 200ms difference in TTFB can shift your score by 5–10 points.

📊 CPU Throttling Simulation

Lighthouse simulates a slow mobile CPU by throttling the test machine. The accuracy of this throttling varies with the host machine's actual performance.

What to do: Never make decisions based on a single test. Run at least 3–5 tests and look at the average. Better yet, use Thunder's daily monitoring to track your score over time — a 7-day rolling average is far more meaningful than any single number. If your score has taken a sudden dive, read our guide on why your Shopify speed score dropped to diagnose the cause.

Speed Score vs Real User Experience

There's a crucial distinction most merchants miss: your speed score is "lab data," not "field data."

🔬 Lab Data (Speed Score)

  • • Simulated test on a controlled device
  • • Always uses slow mobile + throttled CPU
  • • Tests your homepage only
  • • Varies between runs
  • • Useful for debugging specific issues

👥 Field Data (Real Users)

  • • Real visitors on real devices
  • • Mix of fast/slow, mobile/desktop
  • • All pages (product, collection, cart)
  • • 28-day rolling average — very stable
  • • What Google actually uses for SEO ranking

Google uses field data (Core Web Vitals from the Chrome User Experience Report) for SEO rankings — not your lab speed score. A store with a lab score of 45 but good field data (passing Core Web Vitals) won't be penalized in search. For a full breakdown of which metrics matter and how to pass them, see our Shopify Core Web Vitals guide.

That said, lab and field data are related. Improving your lab score usually improves real user experience too. The key insight is: don't obsess over the exact number — focus on whether your Core Web Vitals pass in the field.

How to check field data: Go to PageSpeed Insights and look at the top section labeled "Discover what your real users are experiencing." If you see green checks for LCP, INP, and CLS — your real-world performance is fine, regardless of the lab score below. You can also use our free speed test tool for a quick check.

March 2026 Update: What's Changed for Shopify Speed Scores

Google updated Lighthouse to version 12.3 in early 2026, which brought a few important changes that affect your Shopify speed score:

  • INP replaced FID as the official responsiveness metric in March 2024, and Lighthouse now weights it more heavily. Stores with heavy third-party scripts (review widgets, chat apps) see bigger INP penalties than before.

  • Shopify's Online Store 2.0 themes continue to outperform vintage themes. If you're still on a pre-2.0 theme like Debut or Brooklyn, migrating to a faster modern theme like Dawn can boost scores by 10–20 points before any optimization.

  • Shopify's built-in CDN performance has improved, with faster edge caching reducing TTFB. Stores that previously struggled with slow server response times are seeing modest improvements — typically 50–100ms faster on average.

The bottom line: your speed score might fluctuate slightly with these changes, but the fundamentals haven't changed. Third-party scripts remain the #1 speed killer, and managing them properly is still the highest-impact optimization. If you're wondering whether your current score is competitive, check our 2026 Shopify speed report for industry benchmarks.

For a deep dive into understanding all the metrics behind your score — not just the number — read our PageSpeed Insights guide for Shopify. And if you want to track score changes over time, set up performance monitoring so you catch regressions before they hurt conversions.

Frequently Asked Questions

What is a good Shopify speed score?

A score of 90–100 is considered good (green), 50–89 is moderate (orange), and 0–49 is poor (red). Most Shopify stores score between 30 and 60 due to third-party apps, heavy themes, and unoptimized images. Thunder Page Speed Optimizer users typically see scores jump by 27+ points, often pushing stores from the red/orange zone into the green.

Why does my Shopify speed score keep changing?

The speed score is based on Google Lighthouse, which runs on a simulated mobile device with throttled CPU and network. Because it's a simulation, results naturally vary between runs — differences of 5–10 points are normal. Server response time, third-party script timing, and even Google's test infrastructure load all contribute to fluctuations. Thunder provides consistent daily monitoring so you can track your true average instead of obsessing over single runs.

Does Shopify speed score affect SEO?

Indirectly, yes. Google uses Core Web Vitals (LCP, CLS, INP) as ranking signals, and these metrics are closely related to your speed score. A very slow store also increases bounce rates, which hurts rankings. While the speed score itself isn't a direct ranking factor, the underlying performance issues it measures absolutely are. Thunder improves both your speed score and Core Web Vitals simultaneously.

How can I improve my Shopify speed score quickly?

The fastest way is to install Thunder Page Speed Optimizer — it automatically defers render-blocking scripts, inlines critical CSS, optimizes images, and preloads fonts. Most stores see a 27+ point improvement within minutes. Manual improvements like removing unused apps, compressing images, and choosing a lightweight theme also help, but take significantly more time and technical skill.

Is the Shopify speed score the same as Google PageSpeed Insights?

Yes — Shopify's speed score in the admin dashboard is powered by Google Lighthouse, the same engine behind PageSpeed Insights. However, Shopify runs it on your homepage with specific test conditions, so the number might differ slightly from what you see on pagespeed.web.dev. Both measure the same core metrics: LCP, TBT, CLS, FCP, and Speed Index.

Why is my Shopify speed score low even with a fast theme?

A fast theme is a great foundation, but apps are usually the bigger problem. Each installed app can inject render-blocking JavaScript and CSS into your storefront. Five apps can easily add 1–3 seconds of load time regardless of theme quality. Thunder optimizes how all scripts load — including third-party app scripts you can't control manually — which is why it often has a bigger impact than switching themes.

Does removing Shopify apps improve speed score?

Yes, but with caveats. Uninstalling an app from the Shopify admin doesn't always remove its code from your theme — many apps leave behind script tags, CSS, and liquid snippets. You need to manually clean up leftover code for the speed benefit. Thunder takes a different approach: instead of removing apps, it optimizes how their scripts load so you keep the functionality without the speed penalty.

Should I worry about a speed score below 50?

Don't panic, but don't ignore it either. A score below 50 means your store has significant performance issues that likely hurt conversions and SEO. The good news is that most low-scoring stores have easy wins available — render-blocking scripts, unoptimized images, and bloated CSS. Thunder addresses all of these automatically, and most stores below 50 see dramatic improvements after installation.

Stop Guessing. Start Optimizing.

Thunder automatically fixes the biggest speed score killers — render-blocking scripts, unoptimized CSS, slow fonts, and heavy images. Average improvement: +27 points. Setup takes 30 seconds. See our plans and pick the one that fits your store.

Install Thunder Free →

No credit card required · Works with all Shopify themes · Free plan available · 7-day trial on paid plans