← Blog Themes and storefront

How to speed up a slow Shopify store

Learn how to find and fix the most common causes of a slow Shopify store. This guide covers how to measure your speed and optimize images, apps, and theme

Odera Joseph EchenduOct 15, 20269 min read
How to speed up a slow Shopify store

A slow Shopify store is often caused by large images, an excess of installed apps, or inefficient theme code. Fixing these issues involves measuring your store's performance to find the bottlenecks, then making targeted changes to the assets and code that have the largest impact on loading times.

Key takeaways

  • Store speed directly influences conversion rates; a faster site can lead to more sales and better search engine rankings.
  • The most common causes of slowness are unoptimized images, too many apps adding scripts to your storefront, and inefficient Liquid code in your theme. (Too Many Shopify Apps Are Quietly Killing Conversions, Performance best practices for Shopify themes)
  • Measure your store's performance before and after making changes using tools like Google's PageSpeed Insights or Shopify's Web Performance dashboard.
  • Focus on optimizing what loads first, especially the largest image visible when the page opens, known as the Largest Contentful Paint (LCP) element.
  • Regularly audit your installed apps to remove any that are unused, overlapping in function, or have a high performance cost for low business value.

How do I measure my store's speed?

You can measure your store’s speed using Shopify’s built-in Web Performance dashboard or external tools like Google’s PageSpeed Insights. These tools analyze your store against key metrics known as Core Web Vitals, which measure loading speed, interactivity, and visual stability. The Shopify dashboard shows how real users experience your site, while PageSpeed Insights is useful for testing specific changes in a lab environment.

To get a baseline measurement with Google's tool:

  1. In your Shopify admin, go to Online Store.
  2. Go to the PageSpeed Insights website and paste the link for your home page, a product page, and a collection page. (Storefront performance)
  3. Run the analysis for each page and record the Performance score from the Mobile tab.

These scores give you a starting point. After you make optimizations, you can run the tests again to measure the impact of your changes. (Storefront performance)

Common mistakes and why they happen

The most common reasons for a slow Shopify store are large or unoptimized images, too many apps injecting code into your storefront, and an inefficient theme with complex Liquid code. According to Wiro, each of these can delay how quickly a page loads, responds to clicks, and becomes stable for a visitor. While many factors can affect performance, these three areas typically offer the most significant opportunities for improvement.

CauseWhy it slows down your storeTypical Impact
ImagesLarge image files take longer to download. If the main "hero" image is slow, it delays the Largest Contentful Paint (LCP), a key speed metric. (Performance best practices for Shopify themes)High. Images are often the largest files on a page and a primary factor in perceived load time.
AppsEach app can add its own scripts and stylesheets that must be downloaded and run by the browser, increasing the number of requests and the amount of code to process. (Too Many Shopify Apps Are Quietly Killing Conversions)High. An audit often reveals that multiple apps are loading scripts on every page, even when they aren't being used.
Theme Code (Liquid)Inefficient Liquid code, such as loops inside other loops, can slow down the server's response time. This delays the browser from receiving any content at all. (Performance best practices for Shopify themes)High. This problem, measured by Time to First Byte (TTFB), is the foundation for all other page load metrics.

Source: The page on performance, wiro.agency

How do I optimize my store's images?

You can optimize images by ensuring they are correctly sized, compressed, and loaded efficiently. Use Shopify's built-in image CDN through Liquid filters like image_tag, which automatically creates responsive images. For images that appear below the fold, use lazy loading; for critical images above the fold, load them eagerly and prioritize them, as recommended by Shopify's performance best practices.

Here is a checklist for optimizing your store's images:

CheckWhy it mattersHow to do it
Use responsive imagesServing images that are appropriately sized for the user's screen prevents downloading unnecessarily large files.Use the image_tag Liquid filter in your theme, which automatically generates a srcset attribute with multiple image sizes. (Performance best practices for Shopify themes)
Prioritize the LCP imageThe Largest Contentful Paint (LCP) image is usually the most prominent content. Making it load faster improves your performance score.Add fetchpriority="high" to the <img> tag for your main hero or product image. Do not apply loading="lazy" to it. (Performance best practices for Shopify themes)
Lazy-load offscreen imagesDeferring the loading of images that are not yet in the viewport saves bandwidth and allows the browser to focus on rendering visible content first.Add the loading="lazy" attribute to <img> tags for images that appear below the fold. Shopify's image_tag can help with this. (Performance best practices for Shopify themes)
Specify image dimensionsIncluding width and height attributes on image tags prevents layout shifts as the page loads, improving the Cumulative Layout Shift (CLS) metric.The image_tag filter in Liquid adds these attributes for you automatically. (Performance best practices for Shopify themes)
Avoid animations on LCP imagesFade-in effects or other animations can delay the LCP event from being recorded, even after the image file has finished downloading. (Performance best practices for Shopify themes)Remove CSS transitions or animations that affect the visibility of your main hero or product image.

Source: The page on performance

How do apps slow down my store?

Apps slow down your store by adding extra JavaScript and CSS files that the browser must download, parse, and execute. According to Wiro, even a single app can introduce multiple files, and stores with many apps often suffer from "app bloat," where numerous scripts compete for resources, block page rendering, and create a sluggish user experience. Some apps load their code on every page, whether they are needed or not.

To address this, you should audit your installed apps to identify which ones are necessary and which can be removed. The following steps are based on the audit process from Wiro:

  1. Audit every installed app. Make a list of all your apps and assess their commercial value, how often they are used, and if their features overlap with other apps or native Shopify functions.
  2. Analyze their performance impact. Use a tool like PageSpeed Insights to test your store with and without certain apps enabled. This can help you pinpoint which ones are causing the most slowdown.
  3. Look for native alternatives. Many functions once provided by apps are now built into Shopify. You might be able to replace apps for custom content, promotions, or filtering by using Metaobjects, Metafields, or Shopify Flow.
  4. Remove or consolidate. The goal is to create a leaner storefront. Prioritize keeping apps that directly support conversions, come from reputable developers, and deliver clear value without a heavy performance cost.

How can I fix slow theme code?

You can fix slow theme code by identifying and optimizing inefficient Liquid operations, which often involve complex loops or repeated calculations. Shopify's server must render your theme's Liquid code before sending the page to the browser, so slow Liquid directly increases the Time to First Byte (TTFB), as noted in Shopify's performance best practices. Before editing your theme, it is good practice to back up your Shopify theme.

Key areas to optimize in your theme's code include:

  • Avoid nested loops: A loop over products that also loops through all variants for each product can become slow as your catalog grows. Try to restructure the code to avoid this pattern. (Performance best practices for Shopify themes)
  • Move metafield access outside loops: Accessing metafields can be a slow operation. If you need the same metafield for multiple items in a loop, fetch it once before the loop begins.
  • Limit the number of items in loops: Use the limit parameter in for loops or the paginate tag to restrict the number of products or collection items you fetch, especially on pages that don't need to show everything at once.
  • Use the Shopify Theme Inspector: This is a browser extension for Chrome that helps you profile your Liquid rendering performance and identify which lines of code are taking the most time to execute.

A worked example

A UK-based homeware brand had a visually strong storefront but was underperforming on mobile, with weak conversion rates and increasing bounce rates despite healthy traffic. According to Wiro, the problem was not customer acquisition but storefront performance friction caused by excessive app usage.

A performance audit found that multiple apps were installed, some of which had not been used for months, and others were loading on every page even when not visible. After removing unnecessary apps and consolidating functionality, the store's load times improved significantly and mobile conversion performance increased. According to Wiro, the performance gains came purely from reducing app bloat and consolidating logic, not from a redesign or changes in traffic.

Frequently asked questions

What is a good Shopify speed score?

There is no single "good" score, as the number is a weighted average from a lab test and serves as a proxy for real-world performance. It is more effective to focus on improving the three Core Web Vitals (LCP, INP, and CLS) shown in your Shopify Web Performance dashboard, as these reflect what your actual users experience. (What Is a Good Shopify Speed Score & How to Improve It)

How many Shopify apps are too many?

There is no fixed number, as the impact depends on the apps themselves. According to Wiro, performance issues often arise when multiple apps have overlapping functions or when they continuously load scripts across the entire storefront, even on pages where they are not needed.

Why do slow stores affect mobile conversions most?

Mobile users are often on less stable networks and are more sensitive to loading delays and layout shifts. According to Wiro, a slow, clunky experience caused by excessive scripts and large files is more likely to cause a mobile visitor to abandon the site.

What are Core Web Vitals?

Core Web Vitals are a set of three specific metrics that Google uses to measure a webpage's user experience: Largest Contentful Paint (LCP) for loading performance, Interaction to Next Paint (INP) for interactivity, and Cumulative Layout Shift (CLS) for visual stability. (What Is a Good Shopify Speed Score & How to Improve It)

Odera Joseph Echendu
Written by Odera Joseph Echendu Founder of Actorly

Odera Joseph Echendu is the founder of Actorly, a Shopify app from ONDUTYOPS LLC that keeps a searchable history of the changes it can see in a store. He spent seven years leading customer support and technical support inside high-growth SaaS and e-commerce companies.