Step-by-Step Guide ยท March 2026

Shopify Speed Audit: How to Run One Step-by-Step

A proper speed audit tells you exactly what's slowing your Shopify store and what to fix first. This guide walks you through a complete 7-step audit using free tools โ€” no developer required.

~15 min read ยท 3,100 words ยท Published March 2026

Fix the Most Common Issues Right Now

Most Shopify speed audits uncover the same issues: render-blocking scripts, unoptimized fonts, and poor resource prioritization. Thunder Page Speed Optimizer fixes these automatically:

  • Defers non-critical JavaScript that blocks page rendering
  • Inlines critical CSS for immediate above-the-fold display
  • Optimizes font loading to prevent invisible text
  • Manages resource loading order for optimal Core Web Vitals

Install Thunder first, then run your audit to identify remaining issues. Start with a free speed test to see your current baseline.


What You Need Before Starting

A complete Shopify speed audit uses these free tools:

Tool What It Tells You Cost
Thunder Speed Test Quick Shopify-specific speed overview Free
Google PageSpeed Insights Lab scores + real-user data + specific recommendations Free
Google Search Console Real-user Core Web Vitals across all pages Free
Chrome DevTools Network waterfall, script analysis, rendering issues Free (built into Chrome)
WebPageTest Detailed waterfall, filmstrip, connection simulation Free

You'll also need: your store URL, access to Shopify admin, and ~60-90 minutes. For more tool options, see our complete guide to Shopify speed test tools.

Step 1: Establish Your Baseline Scores

Before fixing anything, document where you stand. Run PageSpeed Insights on these four pages (test both mobile and desktop):

  1. Homepage โ€” Your highest-traffic page and first impression
  2. A top collection page โ€” Tests how your store handles product grids
  3. Your best-selling product page โ€” Where conversions happen
  4. A blog post or content page โ€” Usually lightest, useful as comparison

Record these numbers in a spreadsheet:

๐Ÿ“Š Baseline Template

Page Mobile Score Desktop Score LCP CLS INP
Homepage ___ ___ ___s ___ ___ms
Collection ___ ___ ___s ___ ___ms
Product ___ ___ ___s ___ ___ms
Blog/Content ___ ___ ___s ___ ___ms

โš ๏ธ PageSpeed Scores Fluctuate

Run each test 3 times and take the median score. Scores can vary by 10-15 points between runs due to server conditions, CDN caching, and Google's test infrastructure. For a deeper dive on why speed test scores vary, see our detailed explanation.

Step 2: Check Real-User Core Web Vitals

Lab scores (PageSpeed Insights) test in controlled conditions. Real-user data shows how actual customers experience your store. Open Google Search Console โ†’ Core Web Vitals.

You'll see pages grouped by status:

  • Good โ€” Passing all three metrics (LCP < 2.5s, CLS < 0.1, INP < 200ms)
  • Needs Improvement โ€” One or more metrics in the warning range
  • Poor โ€” One or more metrics failing

This data is especially valuable because it reflects real browsing conditions โ€” real device speeds, real network connections, real customer behavior. If your lab scores look decent but real-user CWV data shows "poor," your customers on slower mobile devices are having a bad experience.

Note which metric fails most often:

  • LCP failing? โ†’ Focus on hero images, fonts, and render-blocking resources
  • CLS failing? โ†’ Focus on image dimensions, dynamic content injection, and layout shift fixes
  • INP failing? โ†’ Focus on JavaScript optimization and interaction responsiveness

For a comprehensive understanding of these metrics, read our Shopify Core Web Vitals guide.

Step 3: Audit App Impact on Speed

Apps are the #1 cause of slow Shopify stores. This step alone often reveals 50-70% of your speed problems.

Quick Method: Chrome DevTools Network Tab

  1. Open your store in Chrome โ†’ Press F12 โ†’ Click "Network" tab
  2. Check "Disable cache" and reload the page
  3. Filter by "JS" (JavaScript) โ€” sort by size (largest first)
  4. Look for script URLs containing app names, cdn.shopify.com/extensions, or third-party domains
  5. Note the total number of requests and total transfer size

Healthy targets:

Metric Good Warning Problem
Total JS requests <20 20-40 40+
Total JS size (transferred) <300 KB 300-800 KB 800 KB+
Third-party domains <10 10-20 20+

Deep Method: Test With Apps Disabled

The most revealing test: temporarily disable all apps and measure the speed difference. If your store jumps from a 30 to a 75, apps are your primary problem.

  1. Go to Shopify Admin โ†’ Settings โ†’ Apps and sales channels
  2. Note your current PageSpeed score
  3. Disable apps one at a time, testing after each
  4. Record which apps cause the biggest score drops
  5. Re-enable apps when done

โš ๏ธ Don't do this during peak traffic

Disabling apps affects your live store. Run this test during low-traffic hours (early morning or late night). Some apps leave residual code in your theme even when disabled โ€” check for leftover app code after uninstalls.

For a deeper analysis, use our Shopify store analyzer to see exactly which scripts each app loads.

Step 4: Identify Render-Blocking Resources

Render-blocking resources are CSS and JavaScript files that prevent the browser from displaying your page until they're fully downloaded and processed. They're the main reason for high LCP times.

Check PageSpeed Insights โ€” look under "Opportunities" for:

  • "Eliminate render-blocking resources" โ€” Lists every CSS and JS file blocking your page render. Click to expand and see potential savings.
  • "Reduce unused CSS" โ€” CSS that's downloaded but not used on this page. Common with large theme stylesheets.
  • "Reduce unused JavaScript" โ€” JS code that's downloaded but not executed. Often from apps loading their full bundle on pages where they're not needed.

Common Render-Blocking Culprits on Shopify

  • Theme CSS โ€” Shopify themes load their entire stylesheet synchronously. Critical CSS inlining fixes this.
  • Google Fonts <link> โ€” Blocks rendering until the font CSS downloads. Self-host fonts instead.
  • jQuery โ€” Still loaded by many themes and apps. Often 90KB+ of blocking JS.
  • App scripts in <head> โ€” Some apps inject scripts in the head instead of before </body>.
  • Analytics/pixel scripts โ€” GA4, Meta Pixel, and other tracking scripts loaded synchronously.

Thunder eliminates render-blocking resources automatically by deferring non-critical scripts and inlining critical CSS. This is the single highest-impact optimization for most Shopify stores.

Step 5: Review Image Optimization

Images are typically the heaviest assets on any Shopify page. Check for these issues:

Image Size and Format

In Chrome DevTools โ†’ Network โ†’ filter by "Img" โ€” check total image size and individual file sizes.

  • Hero/banner images over 200KB: Compress or resize. Target 80-150KB for hero images.
  • Product images over 100KB: Shopify auto-compresses, but original uploads matter. Upload images at 2048x2048 max.
  • Images not in WebP/AVIF format: Shopify's CDN automatically serves WebP when the browser supports it โ€” verify by checking the "Type" column in Network tab.
  • Images with wrong dimensions: A 3000x3000 image displayed at 300x300 wastes bandwidth. Use Shopify's image_url filter with width parameters.

Lazy Loading

Images below the initial viewport should use lazy loading so they only download when the user scrolls near them. Check for:

  • Hero image with loading="lazy": This is wrong โ€” your hero should load eagerly since it's the LCP element
  • Product grid images without lazy loading: Products below the fold should be lazy-loaded
  • Decorative images loading eagerly: Trust badges, social icons, and footer images should all be lazy

For a complete image optimization approach, see our Shopify image optimization guide and lazy loading setup guide.

Step 6: Analyze Theme Code Quality

Your Shopify theme is the foundation everything else loads on top of. A bloated or poorly coded theme makes every other optimization less effective.

Quick Theme Health Check

  1. Check your theme's built-in speed: Use Shopify's Online Store โ†’ Themes โ†’ click on your theme name โ†’ "Speed" section. Shopify provides a baseline speed rating.
  2. Count theme sections on homepage: Each section adds HTML, CSS, and sometimes JavaScript. More than 15-20 sections on any page is a performance concern. Check if you're using sections you could remove.
  3. Check for inline JavaScript: Search your theme code for <script> tags within section files. Inline scripts in sections load on every page that includes those sections.
  4. Look for excessive Liquid loops: Complex Liquid logic (nested for loops, heavy metafield queries) slows server-side rendering, increasing TTFB (Time to First Byte).

Theme Red Flags

  • ๐Ÿšฉ Theme CSS file over 200KB โ€” indicates bloat or unused styles
  • ๐Ÿšฉ Theme JS file over 150KB โ€” check if the theme loads unnecessary libraries
  • ๐Ÿšฉ Multiple jQuery versions โ€” some themes load jQuery alongside jQuery UI or jQuery plugins
  • ๐Ÿšฉ Old theme version โ€” outdated themes miss Shopify's latest performance improvements
  • ๐Ÿšฉ Heavy animation libraries โ€” Slick slider, AOS, or GSAP loading on every page

If your theme is the bottleneck, consider switching to a faster Shopify theme. Dawn (Shopify's default) is one of the fastest available. Check our fastest free themes ranking for alternatives.

Step 7: Inspect Third-Party Scripts

Beyond apps, your store likely loads scripts from external services โ€” analytics, marketing pixels, chat widgets, review platforms, and more. These third-party scripts often have the largest speed impact because they load from slow external servers.

Finding Third-Party Scripts

  1. In Chrome DevTools โ†’ Network tab, look at the "Domain" column
  2. Any domain that isn't cdn.shopify.com or your store's domain is third-party
  3. Note each unique domain and the total data loaded from it

Common Third-Party Script Offenders

Script Type Typical Size Speed Impact Fix
Live chat (Tidio, Zendesk) 200-500 KB High Delay load until user interaction
Review widgets (Yotpo, Judge.me) 100-300 KB Medium-High Load only on product pages
Heatmaps (Hotjar, Lucky Orange) 50-150 KB Medium Sample instead of record all sessions
Marketing pixels (Meta, TikTok) 30-80 KB each Medium (cumulative) Move to server-side tracking
Pop-up tools (Klaviyo, Privy) 80-200 KB Medium Defer loading until page is interactive

Prioritize Your Fixes: The Speed Audit Action Plan

After completing all 7 steps, you'll have a list of issues. Here's how to prioritize them for maximum impact:

Priority 1: Quick Wins (Do This Week)

  • Install Thunder Page Speed Optimizer for automated script deferral and critical CSS
  • Remove unused apps (any app not actively contributing to revenue)
  • Compress oversized images (anything over 200KB)
  • Add font-display: swap to font declarations

Priority 2: Medium Effort (This Month)

  • Self-host Google Fonts
  • Implement lazy loading for below-fold images
  • Consolidate overlapping apps (3 popup tools โ†’ 1)
  • Defer non-essential third-party scripts (chat, reviews on non-product pages)

Priority 3: Higher Effort (This Quarter)

  • Theme migration if current theme is fundamentally slow
  • Server-side tracking migration for marketing pixels
  • Clean up leftover code from uninstalled apps
  • Set up ongoing performance monitoring

โšก Fix 60% of Speed Issues in 60 Seconds

Most speed audit findings trace back to render-blocking scripts and poor resource loading. Thunder Page Speed Optimizer fixes these automatically โ€” no code changes, no developer needed. Install it as step one of your speed audit action plan.

After Your Audit: Maintaining Speed

A speed audit is only valuable if you act on it and prevent regressions. Set up these ongoing practices:

  • Monthly quick check: Run PageSpeed Insights on your homepage and top product page. Compare against your baseline. Takes 5 minutes.
  • Before installing any new app: Run a speed test before and after installation. If the app drops your score by 10+ points, look for alternatives.
  • After theme updates: Theme updates can introduce new scripts or change resource loading. Always test speed after updating.
  • Quarterly full audit: Re-run this entire 7-step process every 3 months. Stores accumulate speed debt over time as apps, sections, and customizations pile up.

For ongoing monitoring between audits, set up automated performance monitoring using Google Search Console alerts and synthetic testing. Our complete speed optimization guide covers long-term maintenance strategies.

Frequently Asked Questions

How long does a Shopify speed audit take?

A basic speed audit (running PageSpeed Insights on key pages and identifying major issues) takes 30-60 minutes. A comprehensive audit covering all page types, app impact analysis, theme code review, and third-party script assessment takes 2-4 hours. For enterprise stores with complex setups, a thorough audit can take a full day. We recommend doing a basic audit monthly and a comprehensive audit quarterly.

What tools do I need for a Shopify speed audit?

Start with free tools: Google PageSpeed Insights for lab scores, Google Search Console for real-user Core Web Vitals data, Chrome DevTools for network waterfall analysis, and our free Shopify speed test tool for a quick overview. For deeper analysis, WebPageTest provides detailed waterfall charts and filmstrip views, and GTmetrix offers historical tracking. You don't need paid tools for an effective speed audit.

How often should I audit my Shopify store's speed?

Run a quick check (PageSpeed Insights on homepage + top product page) monthly. Do a comprehensive audit quarterly or whenever you make significant changes โ€” installing new apps, changing themes, adding sections, or running major promotions. Set up automated monitoring with Google Search Console's Core Web Vitals report to catch regressions between audits.

What is a good PageSpeed Insights score for Shopify?

For Shopify stores, a mobile PageSpeed Insights score of 40-60 is average, 60-80 is good, and 80+ is excellent. Desktop scores are typically 20-30 points higher. More important than the score are your Core Web Vitals: LCP under 2.5 seconds, CLS under 0.1, and INP under 200ms. A store with a score of 55 but passing all Core Web Vitals is performing better than a store with 75 that fails LCP.

Can apps cause Shopify speed issues?

Apps are the number one cause of slow Shopify stores. Each app can inject JavaScript and CSS on every page โ€” even pages where the app isn't used. A typical Shopify store with 15 apps loads 20-40 third-party scripts adding 500KB-2MB of JavaScript. Auditing app impact is the highest-ROI part of any speed audit because removing or replacing just 2-3 bloated apps can improve your score by 15-30 points.

Should I hire someone to do my Shopify speed audit?

If you can follow instructions and use Chrome DevTools, you can run a basic audit yourself using this guide. Hire a professional if: your store has complex customizations, you've already done basic optimizations and need deeper gains, or you don't have time to learn the technical details. Professional speed audits typically cost $200-$1,000 and include a prioritized fix list. Our speed optimization service includes a comprehensive audit as the first step.

Your Speed Audit Is the Starting Line

Running a Shopify speed audit isn't a one-time event โ€” it's the foundation of ongoing performance management. The 7 steps in this guide give you a complete picture of what's slowing your store: from app bloat and render-blocking scripts to image optimization and theme code quality.

The fastest path to results: install Thunder Page Speed Optimizer to handle automated optimizations, then use your audit findings to make targeted manual improvements. Most stores see their biggest gains from the combination of automated script management and manual app cleanup.

Start now. Run your free speed test and follow this guide step by step. Your customers โ€” and Google โ€” will notice the difference.

โšก

Expert Speed Optimization for Your Store

Our team handles everything โ€” theme optimization, app cleanup, Core Web Vitals guarantee. Most stores optimized in 2 weeks.

โœ… Core Web Vitals Guarantee ยท โšก 2-Week Delivery ยท ๐ŸŽ 6 Months Free Thunder

Starting from โ‚ฌ1,500 ยท Learn more