Blog

How To

How to Improve Shopify Page Speed: Complete Optimization Guide

Published on

Close-up of a laptop screen displaying a Shopify store dashboard with a green performance score gauge and Core Web Vitals metrics, warm office lighting, shallow depth of field

Slow Shopify stores lose sales every day. Research consistently shows that a one-second delay in page load time can reduce conversions by up to 7%, and mobile shoppers are even less forgiving.

If you've ever wondered why your Shopify site is loading so slowly, the answer usually sits across several compounding issues: uncompressed images, bloated app scripts, unoptimized Liquid code, and a theme carrying more weight than your store actually needs.

This guide walks you through every step required to improve your Shopify store's page speed, from a clean audit to a fully optimized storefront. Follow the steps in order. Each one builds on the last.

By the end, you'll know exactly what's slowing your store down, how to fix it, and how to measure whether the fixes are working.

Prerequisites: Four Things to Gather Before You Start

Before touching a single file or app, you need a clear picture of where your store stands. Skipping this preparation step is one of the most common reasons optimization efforts stall or create new problems.

You'll need access to your Shopify admin, Google Search Console (connected to your store), and at least one speed testing tool. You should also have a basic understanding of your theme's file structure, or a developer on hand who does.

Set aside a staging environment or use a duplicate theme for any code changes. Never modify your live theme without a backup.

  • Shopify admin access with theme editing permissions
  • Google Search Console account connected to your store domain
  • Access to Google PageSpeed Insights and Shopify's built-in speed report
  • A duplicate of your current live theme saved as a backup
  • A list of every installed app and whether each is actively used
  • Basic familiarity with Shopify Liquid templating, or a developer resource

Step 1: Run a Baseline Speed Audit

You cannot optimize what you haven't measured. A baseline audit gives you the specific numbers you'll compare against after each fix, so you know what's actually moving the needle.

Run your homepage, a collection page, and your highest-traffic product page through Google PageSpeed Insights. Record the mobile and desktop scores separately. Then open your Shopify admin, go to Online Store, and review the built-in Shopify speed report for your overall speed score.

Pay close attention to the diagnostics section in PageSpeed Insights. It will flag render-blocking resources, oversized images, unused JavaScript, and layout shift issues, each of which maps to a specific step in this guide.

  • Go to PageSpeed Insights (pagespeed.web.dev) and paste in your homepage URL
  • Record your LCP (Largest Contentful Paint), CLS (Cumulative Layout Shift), and FID/INP scores
  • Open Shopify Admin > Online Store > Themes and note your Shopify speed score
  • Run the same audit on your top product page and a key collection page
  • Save a screenshot or export the results as your baseline benchmark
  • Note every flagged issue under 'Opportunities' and 'Diagnostics' in PageSpeed Insights
Side-by-side view of a laptop screen showing Google PageSpeed Insights results for a Shopify product page, with LCP and CLS scores highlighted in amber, same warm office lighting as hero shot

Step 2: Optimize and Compress Every Image

Images are the single largest contributor to slow Shopify stores. Uncompressed product photos and banner images routinely account for more than half of a page's total file size.

Shopify automatically serves images through its CDN, but it does not automatically compress or convert your original uploads. You need to handle that before the image goes into your media library. Convert all images to WebP format, which delivers the same visual quality at roughly 25–35% smaller file sizes compared to JPEG.

For images already in your store, use a Shopify image optimization app or manually re-export and replace them. Pay special attention to hero banners and collection thumbnails, as these are almost always the heaviest assets on any given page.

  • Export all product and banner images at their maximum display size, never larger
  • Convert images to WebP using a tool like Squoosh, Imageoptim, or a bulk conversion service
  • Keep product image file sizes under 200KB; aim for under 100KB where possible
  • Add descriptive alt text to every image for both accessibility and search visibility
  • Use Shopify's native image size parameters (e.g., _800x.jpg) to serve correctly sized images per breakpoint
  • Enable lazy loading for below-the-fold images by adding loading='lazy' in your Liquid templates

Step 3: Audit and Remove Unused Apps

Every app installed on your Shopify store has the potential to inject JavaScript, CSS, or tracking pixels into your storefront, even if you're no longer actively using it. This is one of the most underestimated causes of a slow Shopify site.

Go through your installed apps one by one. For each app, ask two questions: Is this app generating measurable business value? Is it loading scripts on the storefront? If the answer to either question is 'no' or 'I'm not sure,' it's a candidate for removal.

After removing apps, some leave behind code fragments in your theme files. You'll need to manually clean these up, or use a developer to do so. Leftover snippets from deleted apps are a common source of render-blocking scripts that don't show up in the app list.

  • List every installed app and categorize it as active, inactive, or uncertain
  • Remove all inactive apps directly from the Shopify Apps section in your admin
  • After removal, inspect theme.liquid and relevant snippets for leftover script or stylesheet tags
  • Use Chrome DevTools (Network tab) to identify which domains are loading third-party scripts on your storefront
  • Replace multiple single-function apps with one multi-function alternative where possible
  • Test your speed score immediately after each app removal to quantify the impact

Step 4: Optimize Your Shopify Liquid Code and Theme Files

Your theme's Liquid code controls how your store renders on every page load. Poorly structured Liquid, excessive loops, and redundant stylesheet calls all add unnecessary processing time before a single pixel appears on screen.

Start with your theme.liquid file. Look for CSS or JavaScript files loading in the head that are not needed on every page. Move non-critical scripts to the bottom of the body tag, or load them with the defer or async attribute so they don't block rendering.

Minify your CSS and JavaScript files if your theme hasn't done this already. Shopify's Dawn theme and most modern themes handle this natively, but heavily customized themes often accumulate redundant code over time.

  • Audit theme.liquid for render-blocking script tags in the head section
  • Add defer or async attributes to non-critical JavaScript files
  • Minify CSS and JS files using a build tool or Shopify's asset pipeline
  • Remove unused CSS rules, particularly from third-party font libraries or icon packs
  • Reduce nested Liquid loops, especially on collection and search pages
  • Replace custom-built features with native Shopify functionality wherever available

Step 5: Improve Core Web Vitals for Mobile and Desktop

Core Web Vitals are Google's measurable signals for page experience. They directly influence your search rankings and, more practically, reflect how real users experience your store. The three metrics that matter most are LCP, CLS, and INP.

LCP (Largest Contentful Paint) measures how quickly the main content of a page loads. To improve it, preload your hero image using a link rel='preload' tag in your theme head, and ensure your hosting and CDN are serving assets from a location geographically close to your visitors.

CLS (Cumulative Layout Shift) measures how much the page jumps around as it loads. The most common cause in Shopify stores is images without explicit width and height attributes, and fonts that swap late. INP (Interaction to Next Paint) is improved primarily by reducing JavaScript execution time, which your app audit in Step 3 already addresses.

  • Add width and height attributes to all img tags in your theme to prevent layout shift
  • Use link rel='preload' for your above-the-fold hero image in theme.liquid
  • Serve fonts from Shopify's CDN rather than Google Fonts to reduce external DNS lookups
  • Limit the number of web font weights loaded to two or fewer per typeface
  • Use font-display: swap in your CSS to prevent invisible text during font load
  • Re-run PageSpeed Insights after each change and track LCP, CLS, and INP individually

Step 6: Validate Results and Set Up Ongoing Monitoring

Optimization is not a one-time task. Themes get updated, new apps get installed, and product catalogues grow. Without ongoing monitoring, speed regressions creep back in within weeks.

After completing Steps 1 through 5, re-run your full audit using the same pages you measured in Step 1. Compare every metric against your baseline. A well-executed pass through all five steps typically yields a speed score improvement of 15 to 40 points, depending on your starting point.

Set a monthly reminder to re-run PageSpeed Insights on your homepage and top product page. Connect Google Search Console's Core Web Vitals report to your regular review cadence. If you're working with a Shopify speed optimization service, this monitoring should be included as part of ongoing delivery.

Success criterion: your Shopify speed score is above 50 on mobile and above 70 on desktop, your LCP is under 2.5 seconds, and your CLS score is below 0.1.

  • Re-run PageSpeed Insights on homepage, a collection page, and your top product page
  • Compare new scores against your Step 1 baseline and document the delta
  • Set a recurring monthly audit reminder in your team's project management tool
  • Monitor Google Search Console's Core Web Vitals report for any flagged URLs
  • Review installed apps and theme changes after any major store update
  • Track conversion rate changes in your analytics platform in the two to four weeks following optimization
Factor Before Optimization After Optimization Business Impact
Shopify Speed Score (Mobile) 20–35 55–75 Lower bounce rate, better ad quality scores
LCP (Largest Contentful Paint) 4–7 seconds 1.5–2.5 seconds Higher Google rankings, improved user experience
Page Weight (Images) 3–6 MB per page 0.8–1.5 MB per page Faster load on mobile data connections
Render-Blocking Scripts 8–15 per page 2–5 per page Faster time to interactive, higher conversion rates
CLS (Cumulative Layout Shift) 0.25+ Below 0.1 Fewer accidental clicks, better mobile UX

Frequently Asked Questions

  • Why is my Shopify store loading so slow?
    The most common causes are uncompressed images, too many installed apps injecting scripts, bloated theme code, and render-blocking JavaScript in the page head. Running a Google PageSpeed Insights audit on your homepage will surface the specific issues dragging down your score. Most slow Shopify stores have two or three root causes that, once fixed, produce significant speed gains.
  • Does page speed affect sales and conversions on Shopify?
    Yes, directly. Studies consistently show that a one-second delay in load time reduces conversions by up to 7%, and mobile shoppers abandon slow pages faster than desktop users. Shopify page speed affects conversion rates by raising bounce rates, reducing add-to-cart events, and lowering the quality scores of your paid ad landing pages, which increases your cost per click.
  • How do Core Web Vitals impact sales on a Shopify store?
    Core Web Vitals measure real user experience, specifically load speed, visual stability, and responsiveness. Google uses them as a ranking signal, so poor scores can suppress your organic visibility. Beyond rankings, a high CLS score causes layout jumps that trigger accidental taps on mobile, and a slow LCP means shoppers see a blank or partial page before your product imagery appears, reducing purchase intent.
  • How can I improve my Shopify store's mobile loading speed?
    Focus on three areas first: convert all images to WebP and compress them below 200KB, remove unused apps that inject scripts on mobile pages, and ensure your theme serves appropriately sized images per breakpoint using Shopify's image URL parameters. Mobile connections are slower than broadband, so reducing total page weight has a proportionally larger effect on mobile load times than on desktop.
  • What is a good Shopify speed score?
    Shopify's built-in speed score benchmarks your store against others on the platform. A score above 50 on mobile and above 70 on desktop is a reasonable target for most stores. The more meaningful benchmarks are Google PageSpeed Insights scores and Core Web Vitals: aim for an LCP under 2.5 seconds and a CLS below 0.1, as these directly reflect what real visitors experience.
  • How to make my Shopify store load faster without a developer?
    Start with what you can control directly: compress and replace oversized images using a free tool like Squoosh, remove apps you are no longer actively using, and switch to a lighter Shopify theme if your current one is heavily customized. These three actions alone can produce meaningful speed improvements. Code-level changes to Liquid templates and render-blocking scripts typically require developer involvement for safe implementation.
  • Where can I find experienced Shopify speed optimization experts?
    Look for agencies or specialists with a documented track record on Shopify stores specifically, not general web performance consultants. StoreHQ, which has worked with 200+ Shopify stores over 8+ years, provides Shopify speed optimization services that cover theme audits, image optimization, app impact analysis, and Core Web Vitals improvements. Always ask for before-and-after speed scores from comparable store types.
  • How does Shopify page speed compare to BigCommerce performance?
    Both platforms use CDN infrastructure and handle basic asset delivery well. Shopify's speed challenges typically come from its app ecosystem and theme flexibility, which introduce variable amounts of third-party script bloat. BigCommerce stores face similar issues with third-party integrations. In practice, a well-optimized Shopify store consistently achieves PageSpeed scores comparable to or better than a BigCommerce store of similar complexity.

Faster Pages, Higher Conversions: Get a Free Shopify Speed Audit

Learn More