Contact Me
Why Your Shopify Speed Score Dropped in 2026

Why Your Shopify Speed Score Dropped in 2026 (And How to Fix It)

You log into your Shopify admin, click on "Online Store > Speed," and your heart sinks. The score that was once a comfortable 65 now reads 38. What happened?

If this sounds familiar, you're not alone. Speed score drops are one of the most common complaints I hear from Shopify merchants in 2026. The good news? Most drops have identifiable, fixable causes. This guide walks you through every common culprit and exactly how to fix each one.

First: What Is the Shopify Speed Score?

Shopify's speed score is a composite metric based on Google Lighthouse performance data. It measures how fast your store loads for real users on real devices. The score ranges from 0 to 100 and is primarily influenced by:

  • Largest Contentful Paint (LCP): How long until the biggest visible element loads
  • First Input Delay (FID) / Interaction to Next Paint (INP): How responsive your page is to user interactions
  • Cumulative Layout Shift (CLS): How much the page jumps around while loading
  • Total Blocking Time (TBT): How long JavaScript blocks the main thread

Important: The score is relative. Shopify compares your store against similar stores. If the benchmark improves and you don't, your score drops — even if you changed nothing.

The 8 Most Common Reasons Your Score Dropped

1. You Installed a New App (The #1 Cause)

Every Shopify app injects JavaScript and CSS into your theme. Even "lightweight" apps add network requests. The most common offenders:

  • Review apps (Judge.me, Loox, Stamped) — load third-party review widgets on every page
  • Live chat widgets (Tidio, Gorgias, Zendesk) — load entire chat frameworks
  • Pop-up and marketing apps (Privy, Omnisend popups, Justuno) — inject large JavaScript bundles
  • Analytics apps (Lucky Orange, Hotjar) — record user sessions with heavy scripts

The Fix:

  • Open Chrome DevTools (F12) → Network tab → reload your page. Sort by size. Identify the largest third-party scripts.
  • Ask yourself: is this app earning its weight? If a 200KB script generates $10/month, delete it.
  • For essential apps, check if they offer a "performance mode" or "lazy load" option.
  • Replace simple app functionality with lightweight custom code. I've replaced entire review apps with 20 lines of Liquid.

2. Unoptimized Hero Images & Videos

That beautiful 4000x2000px hero banner you uploaded? It's killing your LCP. Shopify's image CDN automatically serves WebP, but it can't fix a 5MB original.

The Fix:

  • Resize hero images to max 1920px wide before uploading
  • Use loading="lazy" on all images below the fold
  • Use fetchpriority="high" on your hero image for faster LCP
  • For hero videos, use a poster image and load the video only on user interaction
  • Leverage Shopify's image_url filter with width parameters: {{ image | image_url: width: 800 }}

3. Too Many Fonts

Every Google Font adds 1-2 network requests and 50-150KB of data. I've seen stores loading 5 different font families with 3 weights each. That's 15+ font file requests.

The Fix:

  • Stick to maximum 2 font families (one for headings, one for body)
  • Use font-display: swap to prevent invisible text during loading
  • Consider system fonts for body text — they load instantly: font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  • If using Google Fonts, self-host them to avoid extra DNS lookups

4. Render-Blocking JavaScript

JavaScript that loads in the <head> without async or defer blocks the entire page from rendering. Common culprits:

  • Tracking pixels loaded synchronously
  • App scripts without defer attributes
  • Legacy jQuery plugins

The Fix:

  • Add defer attribute to all non-critical scripts
  • Move scripts to the bottom of <body> where possible
  • Load tracking scripts via Google Tag Manager with "Window Loaded" trigger instead of "Page View"
  • Audit your theme's theme.liquid — look for scripts in the <head> that don't need to be there

5. Shopify Updated the Benchmark

This catches many merchants off guard. Shopify periodically recalibrates its speed score algorithm. In early 2026, they updated the scoring to weigh INP (Interaction to Next Paint) more heavily, replacing FID. If your store has heavy JavaScript interactions (accordion menus, mega menus, product filters), your score may have dropped without you changing anything.

The Fix:

  • Focus on reducing main thread work — fewer event listeners, simpler DOM
  • Debounce scroll and resize event handlers
  • Use requestAnimationFrame for animations instead of CSS transitions on complex DOM elements

6. Ghost Code from Deleted Apps

Uninstalling a Shopify app removes the app, but NOT its injected code. I regularly find 5-10 dead code snippets in stores I audit. Each snippet makes unnecessary network requests to servers that may not even respond anymore — causing timeouts that destroy your speed score.

The Fix:

  • Open your theme code editor (Online Store > Themes > Edit Code)
  • Search in theme.liquid for any <script> tags referencing external domains you no longer use
  • Check snippets/ folder for files named after old apps (e.g., loox-reviews.liquid)
  • Remove them — but keep a backup of your theme first!

7. Excessive DOM Size

If your homepage has 3,000+ DOM elements, the browser struggles to render and respond to interactions. Common causes:

  • Showing too many products on the homepage (30+ product cards)
  • Complex mega menus with hundreds of nested links
  • Multiple carousels/sliders on the same page
  • Page builder apps that generate deeply nested HTML

The Fix:

  • Show fewer products on the homepage — use "View All" buttons instead
  • Lazy-load sections below the fold using Intersection Observer
  • Replace page builder sections with lean custom Liquid sections
  • Target under 1,500 DOM elements for optimal performance

8. Third-Party Scripts You Can't Control

Facebook Pixel, Google Analytics 4, TikTok Pixel, Klaviyo tracking, Pinterest tag — each adds 50-200KB of JavaScript. And unlike app scripts, you need these.

The Fix:

  • Load all marketing pixels through Google Tag Manager with delayed triggers
  • Use Shopify's native Customer Events (Web Pixels) — they run in a sandboxed iframe that doesn't block the main thread
  • Consolidate: use Shopify's native analytics where possible instead of adding separate tools

How to Diagnose Your Specific Issue

Here's my exact debugging workflow when a client asks "why did my score drop?":

  1. Check app install history: Did you install anything in the last 2 weeks? Disable it and re-test.
  2. Run PageSpeed Insights: Go to pagespeed.web.dev and test your homepage. Look at the "Opportunities" section.
  3. Chrome DevTools Audit: F12 → Lighthouse tab → Generate report. Focus on "Reduce unused JavaScript" and "Eliminate render-blocking resources."
  4. Network waterfall: F12 → Network tab → Hard refresh. Identify the 5 largest requests and the 5 slowest requests.
  5. Compare with theme preview: Duplicate your theme, disable all apps on the duplicate, and compare speed scores. This isolates app impact vs. theme issues.

What's a "Good" Speed Score in 2026?

Let's be realistic:

  • 50+: Acceptable for a feature-rich store with multiple apps
  • 60-75: Good — you're faster than most competitors
  • 75+: Excellent — you've invested in performance
  • 90+: Exceptional — likely a minimal store or heavily optimized by a developer

Don't chase a perfect 100. Focus on real user experience: does the page feel fast? Can users interact within 2 seconds? That matters more than a number.

When to Hire a Developer for Speed Optimization

You should consider hiring a Shopify developer when:

  • Your score is below 30 and dropping
  • You've removed apps but the score hasn't improved (ghost code issue)
  • Your LCP is above 4 seconds on mobile
  • You need to replace app functionality with custom lightweight code
  • You're running paid ads and slow speed is killing your ROAS

Speed Score Below 50?

I'll audit your store, identify the exact causes, and give you a prioritized fix list — or implement the fixes myself.

Get a Free Speed Audit