ShopifyAugust 8, 2027

Shopify Page Speed Audit: The Exact Checklist We Use

Our internal page speed audit checklist for Shopify stores. Follow it step by step to diagnose and fix the performance issues killing your conversion rate.

Mark Cijo

Mark Cijo

Founder, GOSH Digital

Shopify Page Speed Audit: The Exact Checklist We Use

Shopify Page Speed Audit: The Exact Checklist We Use

We run this audit on every single Shopify store we onboard. No exceptions. Because page speed affects everything — conversion rate, bounce rate, SEO rankings, ad performance, and customer experience.

A 1-second improvement in page load time increases conversions by 7% on average. For a store doing $50K/month, that's $3,500/month in recovered revenue. From making the site faster.

This is the exact checklist our team uses. It's organized by impact (highest-impact fixes first) and difficulty (easiest fixes first within each category). You can run through it yourself or hand it to your developer.

Before You Start: Baseline Measurements

You need to know where you stand before you start fixing things. Measure these three pages:

  1. Homepage — Your highest-traffic page
  2. A top collection page — Where most shopping happens
  3. Your best-selling product page — Where conversions happen

Tools to use:

  • Google PageSpeed Insights (pagespeed.web.dev) — The standard. Shows mobile and desktop scores plus specific recommendations.
  • GTmetrix (gtmetrix.com) — More detailed waterfall charts showing exactly what loads and when.
  • Shopify's built-in speed report — Online Store, then Themes, then Speed. Shows your speed score relative to similar stores.

Record these numbers:

  • Mobile PageSpeed score (0-100)
  • Desktop PageSpeed score (0-100)
  • Largest Contentful Paint (LCP) — How long until the main content appears
  • First Input Delay (FID) / Interaction to Next Paint (INP) — How long until the page responds to clicks
  • Cumulative Layout Shift (CLS) — How much the page layout shifts during loading
  • Total page size (MB)
  • Number of requests

Benchmarks for eCommerce:

| Metric | Poor | Acceptable | Good | Great | |---|---|---|---|---| | Mobile PageSpeed | 0-30 | 30-50 | 50-75 | 75-100 | | LCP | 4s+ | 2.5-4s | 1.5-2.5s | Under 1.5s | | INP | 500ms+ | 200-500ms | 100-200ms | Under 100ms | | CLS | 0.25+ | 0.1-0.25 | 0.05-0.1 | Under 0.05 | | Page Size | 5MB+ | 3-5MB | 1-3MB | Under 1MB |

Section 1: Images (Biggest Impact, Easiest to Fix)

Images are the number one performance killer on Shopify stores. The average Shopify store loads 3-8MB of images per page. It should be under 1MB.

Audit Step 1: Check Image Sizes

Open your top product page. Right-click any product image and select "Inspect." In the Network tab, filter by "Img" to see all images and their file sizes.

What to look for:

  • Any image over 500KB (should be under 200KB for product images)
  • Hero/banner images over 300KB (should be under 150KB)
  • Images being loaded at a larger resolution than they're displayed (a 4000x4000px image displayed at 400x400px)

Audit Step 2: Image Format

Shopify automatically converts images to WebP when the browser supports it. But this only works for images uploaded through Shopify's native image uploader — not for images hard-coded in theme files or loaded from external URLs.

Check: Are all images being served as WebP? In the Network tab, look at the "Type" column. If you see JPG or PNG for large images, they need to be re-uploaded through Shopify or converted.

Audit Step 3: Lazy Loading

Images below the fold should be lazy-loaded — they shouldn't load until the user scrolls to them. This dramatically reduces initial page load time.

Check: Scroll through your page while watching the Network tab. Do images load as you scroll? Or do they all load at once when the page first opens?

Fix: Modern Shopify themes (Online Store 2.0) support native lazy loading. If your theme doesn't, add loading="lazy" to image tags in your theme code for images below the fold. Never lazy-load above-the-fold images (hero, first product image) — those should load immediately.

Audit Step 4: Responsive Images

Images should be served at the appropriate size for the device. A mobile user doesn't need a 2000px-wide hero image when their screen is 400px wide.

Check: Use Shopify's image_url filter with size parameters in your theme code. This generates optimized images at multiple sizes and lets the browser pick the right one.

Section 2: Apps (Second Biggest Impact)

Every Shopify app adds JavaScript and CSS to your store. Some add a lot. The average Shopify store has 6-12 apps installed, and many of them load scripts on every page — even pages where the app isn't used.

Audit Step 5: The App Inventory

List every app installed on your store. For each one, answer:

  • Do we actually use this app?
  • Does it need to load on every page, or just specific pages?
  • Can a native Shopify feature or a theme feature replace it?

Common offenders (apps that add significant page weight):

  • Chat widgets (Tidio, Zendesk chat, Gorgias widget): 200-500KB of JavaScript
  • Popup/email capture tools: 100-300KB
  • Review apps: 100-400KB
  • Analytics and heatmap tools (Hotjar, Lucky Orange): 200-400KB
  • Social proof widgets ("John from Texas just bought..."): 100-200KB
  • Multiple countdown timer/urgency apps: 50-200KB each

Audit Step 6: Remove Unused Apps

If you installed an app 8 months ago and haven't used it since, uninstall it. But here's the catch — uninstalling a Shopify app doesn't always remove its code from your theme. Many apps inject code snippets that persist after uninstallation.

Fix: After uninstalling an app, check your theme code for leftover snippets. Search your theme files for the app name or any unfamiliar script tags. Remove them.

Audit Step 7: Defer Non-Critical App Scripts

Apps that aren't needed for the initial page render should load after the page is interactive. This means deferring their JavaScript.

What can be deferred:

  • Chat widgets (load after 5 seconds or on scroll)
  • Review widgets (load when the user scrolls to the review section)
  • Analytics scripts (load after the page is interactive)
  • Social proof popups (load after 3-5 seconds)

How to defer: Many apps have built-in options for delayed loading. Check the app settings. If not, you can wrap the app's script tag with a setTimeout or Intersection Observer in your theme code.

Section 3: Theme and Code

Audit Step 8: Third-Party Fonts

Custom fonts are the silent performance killer. Each font file adds 20-100KB per weight. If you're loading 4 weights of a Google Font (regular, bold, italic, bold italic), that's 200-400KB of font files.

Check: In the Network tab, filter by "Font." How many font files are loading? What's the total size?

Fix options:

  • Limit to 2 font weights (regular and bold cover most use cases)
  • Self-host fonts instead of loading from Google Fonts (eliminates the DNS lookup to fonts.googleapis.com)
  • Use font-display: swap to show text immediately with a system font while the custom font loads
  • Consider system font stacks — -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto looks great and costs zero load time

Audit Step 9: CSS and JavaScript Bundles

Check: In the Network tab, look at your CSS and JS file sizes. Modern Shopify themes should have minimal CSS (under 100KB) and JavaScript (under 200KB) before apps.

Red flags:

  • CSS files over 200KB (often from unused styles or bloated theme code)
  • JavaScript files over 300KB (often from theme animations or feature-rich themes you're not using)
  • Multiple jQuery versions loading (some apps bring their own jQuery)

Audit Step 10: Render-Blocking Resources

Check: In PageSpeed Insights, look for "Eliminate render-blocking resources." This lists CSS and JavaScript files that block the page from rendering.

Fix: Move non-critical CSS and JS to the bottom of the page or load them asynchronously. Critical CSS (styles needed for above-the-fold content) should be inlined in the document head.

Section 4: Third-Party Scripts

Audit Step 11: Tracking Pixel Audit

Most eCommerce stores have 3-6 tracking scripts: Google Analytics, Meta Pixel, TikTok Pixel, Google Tag Manager, Klaviyo tracking, and maybe Hotjar or Clarity.

Each one adds 50-200KB and makes external network requests.

Fix options:

  • Use Google Tag Manager to load all tracking scripts through one container (reduces redundant requests)
  • Set tracking scripts to load after the page is interactive
  • Remove tracking scripts for platforms you're not actively using
  • Use server-side tracking where available (GTM server-side container, Shopify's built-in conversion API)

Audit Step 12: External Resources

Check: In the Network tab, look for requests to external domains (anything not your Shopify store URL). Each external request adds DNS lookup time and network latency.

Common culprits:

  • Google Fonts (fonts.googleapis.com)
  • External CDNs for jQuery or other libraries
  • Third-party review widgets
  • External video embeds (YouTube, Vimeo)

Fix: Self-host what you can. Use facades for video embeds (show a thumbnail that loads the video player only when clicked). Preconnect to essential third-party domains in your theme's head section.

The 30-Minute Quick Win Checklist

If you can only spend 30 minutes, do these four things:

  1. Compress your 10 largest images to under 200KB each
  2. Uninstall apps you're not using and remove their leftover code
  3. Defer your chat widget to load after 5 seconds
  4. Remove one font weight you don't need

These four fixes typically improve mobile PageSpeed by 10-20 points and shave 1-2 seconds off load time.

After the Audit: Re-Measure

Run the same PageSpeed tests you did at the start. Compare the before and after numbers. Celebrate the wins. Document what you fixed and the impact.

Then set a calendar reminder to re-run this audit every quarter. Speed degrades over time as you add new apps, upload new images, and install new tracking scripts.

Let Us Do It For You

We run this audit for every client and implement all the fixes. Typical timeline: 1-2 weeks for a full speed optimization that improves PageSpeed by 20-40 points.

Book your free speed audit.


Mark Cijo is the founder of GOSH Digital, a full-service eCommerce marketing agency and Klaviyo Gold Partner that has driven $70M+ in revenue for 150+ brands. He has personally blamed more chat widgets for slow page speeds than he can count.

Mark Cijo

Written by Mark Cijo

Founder of GOSH Digital. Klaviyo Gold Partner. Helping eCommerce brands grow revenue through data-driven marketing.

Book a free strategy call →

Want results like these for your brand?

Book a free call. We'll look at your data and show you what's possible.

Pick a Time

15 minutes. No pitch deck. Just your data and our honest take.