Quick Takeaways
- A slow Shopify store isn't just a bad user experience — it's a direct revenue leak. Even a 1-second delay can drop conversions by 7%.
- Most PageSpeed killers on Shopify are apps, unoptimised images, and bloated theme Javascript — not server issues you can't control.
- You don't need a developer for most of this checklist. Several fixes take under 10 minutes.
- Score improvements matter less than Core Web Vitals improvements. Focus on LCP, CLS, and INP — not the number itself.
Why Your Shopify Store Is Slow (And It's Probably Not What You Think)
Most store owners blame their theme. The theme is almost never the problem. After auditing hundreds of Shopify stores, the culprit is almost always the same three things: apps injecting scripts into every page, product images that were never compressed, and Javascript that loads before it needs to. Your theme is a red herring.
Here's a real example. A home goods store came to us with a PageSpeed score of 38 on mobile. Their founder assumed they needed a full redesign. We didn't touch the theme's design at all. We removed six unused apps (four of which were installed during a free trial and forgotten), converted their product images to WebP, and deferred a review widget's Javascript. Three hours later: 94 on mobile PageSpeed, LCP dropped from 6.8s to 1.9s, and their add-to-cart rate increased by 22% over the next 30 days. No redesign. No developer sprint. One focused afternoon.
Step 1 — Audit Before You Touch Anything
Don't start optimising blind. Run your store through Google PageSpeed Insights and GTmetrix before making a single change. Screenshot the results. You need a baseline, and you need to know which specific issues are flagged before you start guessing.
What to actually look for in the report
PageSpeed gives you a score. Ignore it for now. Look at the Opportunities and Diagnostics sections instead. Specifically, you're hunting for: render-blocking resources, unused Javascript, images without explicit width/height (causes Cumulative Layout Shift), and oversized images. These four things account for roughly 80% of the score gap on most Shopify stores we see.
Also check your LCP element — this is the largest piece of content that loads above the fold. On product pages, it's usually the hero image. On the homepage, it's often a banner. Whatever it is, that asset needs to load fast. Everything else is secondary.
Step 2 — The App Audit (This Will Hurt a Little)
Go to your Shopify admin, open the Apps section, and be honest with yourself. Every app you have installed is either loading Javascript on your storefront, making external HTTP requests, or both. Even apps you've disabled inside their own dashboard often still inject code into your theme.
How to check what apps are actually doing on your pages
Open your store in Chrome, right-click, hit Inspect, go to the Network tab, reload the page, and filter by JS. You'll see a list of every script loading. Look for anything you don't recognise — third-party domains, pixel scripts, chat widget code. Cross-reference with your installed apps. If an app is loading 200kb of Javascript for a feature you use on two products, that's a problem.
The ones that are usually the worst offenders
Loyalty and rewards apps, chat widgets, and review apps with heavy widget scripts are consistently the worst for page speed. That's not a reason to uninstall them if they're working for your business. But it is a reason to make sure they're loading after the main content — not before. Most apps allow you to adjust where their script tag sits. If yours doesn't, a developer can wrap it in a DOMContentLoaded event listener to defer execution. This is a 15-minute fix that can recover 0.5–1 full seconds of LCP. Our Shopify speed optimisation service includes a full app audit as a first step for every client.
Step 3 — Images Are Costing You More Than You Know
Shopify automatically serves WebP images to supported browsers when you upload standard JPEGs or PNGs — but only if you're using Shopify's image CDN correctly in your Liquid code. Many older themes and heavily customised themes bypass this with hardcoded img src tags that don't use the | image_url filter. Check your theme code. If you see product.featured_image being used without the image filter, you're serving unoptimised images to every visitor.
Practical image rules that actually move the needle
Product images should be no larger than 1200px wide for standard displays, saved at 80% quality. Collection banners and hero images should be under 200kb. If you're uploading 4MB product photos because your photographer sent them that way, you're wrecking your own load time. Use Squoosh or Shopify's built-in compression, and always add loading='lazy' to images below the fold. Do not lazy-load your LCP image — that's one of the most common mistakes we see, and it actively makes your score worse.
Step 4 — Shopify Speed Optimisation Checklist (The Actual Steps)
Here's what to work through in order. This is the exact process we use in our audits. Don't skip ahead — sequence matters because some fixes impact others.
- Run PageSpeed Insights on your homepage, a collection page, and a product page. Note the LCP time and the largest resource flagged.
- Install nothing new during this process. New apps reset your baseline.
- Uninstall every app you haven't actively used in the past 30 days. Not just disable — fully uninstall so the script is removed.
- Check your theme for leftover app code after uninstalling. Shopify doesn't auto-remove app blocks or script tags when an app is deleted. Go to Online Store > Themes > Edit code and search for the app's name.
- Convert all hero images and above-the-fold images to WebP manually if your theme doesn't do it automatically. Upload compressed versions.
- Add
fetchpriority='high'to your LCP image tag in your theme's Liquid. This tells the browser to prioritise it. It's a single attribute change. - Defer all non-critical Javascript. In your theme.liquid, move non-essential scripts to the bottom of the body tag, or add
deferas an attribute. - Enable Shopify's built-in speed features. Go to Online Store > Preferences and make sure you're on a theme that supports Shopify's CDN for fonts. Google Fonts loaded via an external link add a DNS lookup every page load. Shopify hosts a subset of Google Fonts locally — use those instead.
- Reduce font variants. If you're loading 6 weights of a typeface and only using 2, remove the rest from your theme settings.
- Re-run PageSpeed after each major change, not just at the end. This tells you exactly which fix had the biggest impact.
If you're starting from a poor technical foundation, a proper Shopify store build that's speed-optimised from day one will always outperform a heavily patched existing store. But the checklist above will get you most of the way there without rebuilding anything.
The Things That Won't Help (Stop Doing These)
A few popular "speed tips" that actually don't do much — or actively cause problems. First: switching to a "fast theme" without fixing your apps. The theme accounts for maybe 20% of your performance gap. The apps account for the rest. Second: using a third-party speed app that promises to "automatically optimise your store." Most of these work by adding another script layer on top of your existing code. That is not how you speed up a website. Third: obsessing over desktop scores. Your customers are on mobile. Your mobile score is the one that matters for both conversions and Google's ranking signals. Desktop scores are vanity metrics for most Shopify merchants.
Speed also connects directly to your broader commercial results. Faster stores convert better, which means your conversion rate optimisation work goes further. And if you're running paid traffic through Google Ads, your Quality Score is partly influenced by landing page experience — which includes load time. You're paying for every click. A slow page is wasting that budget every single day.
FAQ
How long does it take to improve Shopify PageSpeed?
For most stores, the highest-impact fixes take three to five hours to implement if you know what you're doing. Image optimisation is usually the fastest win — under an hour. App audits and Liquid code changes take longer depending on how many apps you have installed and how custom your theme is. A realistic expectation: one focused afternoon to see meaningful Core Web Vitals improvement, with incremental gains over the following days as Google's crawler re-indexes your pages.
Will a faster Shopify store actually improve my Google rankings?
Yes, but not in the way most people expect. Core Web Vitals are a confirmed ranking signal, but they're a tiebreaker, not a primary factor. Where speed materially helps SEO is through bounce rate and engagement signals. If someone clicks your result, waits 6 seconds for your page to load, and hits back — that tells Google your page didn't satisfy the query. A fast page keeps people on-site longer, which sends better engagement signals. Pair speed work with a proper Shopify SEO strategy and you'll see compounding results.
Do I need a developer to optimise Shopify page speed?
For image compression, app cleanup, and basic theme settings — no. You can do these yourself using this checklist. For Liquid code changes, deferring third-party scripts, or restructuring how your theme loads assets, you'll want someone who knows Shopify's templating system. The risk of editing theme code without experience is that you break something that's harder to diagnose than the original speed issue. If you're not comfortable in the code editor, the ROI on a professional audit is usually recovered within the first month from improved conversion rates alone.
If you'd rather skip the trial and error and get it done right the first time, our team at SPS has optimised hundreds of Shopify stores — from 5-figure side projects to 8-figure operations. Take a look at what a properly built Shopify store looks like when speed is baked in from the start, not bolted on after the fact.