How to fix a slow Shopify store
A 100-millisecond delay in page load time can reduce conversions by 7%. Shopify gives you less control over performance than a self-hosted site, but there are still several high-impact fixes available to any store owner — no developer required.
Why are Shopify stores often slower than they look?
Shopify handles your hosting and server infrastructure, so raw server speed is rarely the problem. What slows most Shopify stores down is what store owners add on top: high-resolution product images that were never compressed, apps that each inject their own JavaScript, and themes that load code for features not used on every page.
The result is a high PageSpeed score at launch that gradually drops as the store grows and accumulates more apps and images.
What can you change on Shopify?
It helps to know upfront what’s in your control:
- You can change: product images, the apps you install, your theme, and some theme settings that load extra scripts.
- You can’t change: Shopify’s servers, the core Shopify scripts (cart, checkout), or deep liquid template behavior without a developer.
Shopify’s own infrastructure contributes a baseline of JavaScript that every store carries regardless of theme or apps — this is why Shopify stores rarely score above 70–80 on PageSpeed even when well-optimized. Don’t chase 100; focus on the wins that actually affect load time for real visitors.
What are the fastest wins for a slow Shopify store?
1. Compress and convert your product images
Product photography is typically shot at 20–40 megapixel resolution. Displayed at 800×800px on a product page, that resolution is completely wasted — but the file size is not. An unoptimized product image can be 3–5 MB when it needs to be 100–200 KB.
Shopify's CDN automatically serves images in a modern format when browsers support it — WebP since 2020, AVIF since August 2022 — through the image_url Liquid filter, falling back to JPEG otherwise. However, this only helps if the original image was reasonably sized to begin with — converting a 5 MB JPEG still produces a large file if the source has millions of unnecessary pixels. Resize images to a maximum of 2048×2048px before uploading.
For bulk image compression, Crush.pics compresses your existing product images automatically within Shopify — its free tier is a one-time allowance rather than an ongoing monthly quota, so check current limits on the app listing before relying on it for a large catalog.
2. Audit your installed apps
Every app you install can add scripts to your storefront. Review your installed apps and remove any you don’t actively use. Even a deactivated app can leave code behind — uninstalling removes it cleanly.
For apps you keep, check whether they load on every page or only where needed. A review widget that loads on your homepage is wasted work; most app developers can configure this if you contact their support.
3. Choose a lightweight theme
Shopify’s free themes (Dawn and its variants) are the best-optimized for performance — they’re built to Shopify’s own standards and regularly updated. Third-party themes from the Theme Store vary widely in quality. If you’re using a feature-heavy premium theme and performance is a priority, it’s worth comparing its score against Dawn using PageWeight.
4. Lazy load images and videos
Modern Shopify themes lazy load images by default (they only download when the visitor scrolls near them). If your theme is older, check the theme settings for a lazy loading option, or ask your theme developer. This reduces the amount of data downloaded on the initial page load significantly for image-heavy collection pages.
5. Use a full performance app for broader gains
If you want to address script deferral, prefetching, and CSS optimization in one place, Hyperspeed handles these automatically with a Shopify-specific approach that avoids breaking checkout functionality.
How to measure your current score
Run your store’s URL through PageWeight to see your current performance score, which images are heaviest, and which third-party scripts are adding the most load time. This gives you a prioritized list of what to fix first rather than guessing.
One important note: PageSpeed scores fluctuate by 5–10 points between tests, especially on Shopify where checkout scripts vary. Run a few tests and look at the trend, not a single number.