Skip to content
Back to all fixes

Why Your Shopify Mobile Speed Score Is Low and What Actually Moves It

  • shopify
  • performance

The Problem

You ran your store through Google’s PageSpeed Insights, the mobile number came back red, and everything you found online says either “compress your images” or “install this app.” Neither tells you what’s slow on your store.

What the Number Means

The speed score shown under Online Store > Themes is a lab test of a single page on a simulated slow phone. It doesn’t measure your real customers, and a Shopify store will basically never score 100, because the checkout, analytics, and cart scripts you can’t remove count against it. Shopify also tracks real visitor data through Core Web Vitals (more on finding that below), which is a better measure of what your customers actually experience.

The Three Things That Usually Dominate

1. Apps you forgot you installed. Every app that touches the storefront can load a script on every page, whether the page uses it or not. Chat widgets, review widgets, pop-ups, currency converters, tracking pixels. Ten apps is ten scripts before your product image loads. This is the number one cause on most stores.

2. Images that are bigger than the space they fill. A 4,000 pixel photo displayed at 400 pixels on a phone. Shopify serves images through its CDN and can deliver responsive sizes automatically, but only if the theme uses Liquid’s image_url filter with width parameters. Older or heavily customized themes sometimes don’t do this correctly, so the browser downloads the full-size original instead.

3. Theme features rendering on every page whether you use them or not. A country and currency selector with 240 entries drawn into the header and again into the footer. Mega menus with images. Animation libraries. Video backgrounds. These add up quietly.

What You Can Fix Yourself

Audit your apps. Go to Settings > Apps and sales channels and be honest about each one. Remove anything you haven’t opened in three months. Then check Online Store > Themes > Customize > App embeds and turn off embeds for apps you keep but don’t need on every page. Shopify is moving apps toward embed blocks (replacing the older ScriptTag method), which gives you more control over what loads and where. If an app offers an embed block, prefer that over a global script.

Check for leftover app code. Uninstalling an app doesn’t always remove the code it added to your theme. If you’ve removed apps in the past, that code may still load. This one usually needs a developer to find and strip.

Resize your biggest images. Hero banners under 300 KB. Product images no wider than 2,000 pixels. Re-export and re-upload the worst offenders. Even if your theme handles responsive sizing correctly, smaller source files mean smaller worst-case downloads.

Turn off theme features you don’t use. If you sell in one currency, turn off the currency selector. If you don’t need a video background, use an image. Each one is a theme setting.

Look at what Shopify already tells you. Your admin tracks Core Web Vitals (LCP, INP, CLS) from real visitors. The easiest place to find them is Analytics > Reports, then search for “contentful,” “next,” or “cumulative.” You can also click the metric scores shown on the Themes page. These are what Google uses for search ranking and matter more than the theme speed score. If your store is password-protected or still in development mode, these reports will be empty because there are no real visitor sessions to measure.

What Needs a Developer

Removing dead app code from theme files, fixing how the theme loads images, deferring scripts that don’t need to run before the page shows, and cutting sections that render invisible content. On a store that’s been running for years, this is where the remaining points are.

What to Ignore

Anyone promising a 90+ mobile score. Anyone selling a “speed optimizer” app (an app that adds a script to make your scripts faster). And the desktop score, which is nearly always fine and not where your customers are.

If you want someone to look at your store and tell you which of these is your problem, get in touch.