PageSpeed is not a vanity metric. A slow store directly loses you money. Here's the exact process I follow to transform slow Shopify stores into fast ones.

Why PageSpeed Matters (With Numbers)

  • 1s delay → 7% conversion drop (Google)
  • 3s load time → 53% of mobile visitors abandon (Google)
  • Fast stores rank higher on Google (Core Web Vitals are a ranking factor)

I've taken stores from PageSpeed scores of 40–50 to 90–95, with measurable improvements in bounce rate and conversion rate.

Step 1: Audit First

Before touching anything, I run:

  • Google PageSpeed Insights (mobile + desktop)

  • GTmetrix for waterfall analysis

  • Chrome DevTools Network tab
  • I identify the biggest offenders: unoptimised images, render-blocking scripts, unused CSS, slow third-party scripts.

    Step 2: Image Optimisation

    Images are almost always the biggest win. The issues:

  • PNG files where JPG or WebP would do

  • Images 4000px wide served on mobile

  • No lazy loading
  • Fix: Convert to WebP, resize to actual display size, add loading="lazy" to below-fold images. This alone often cuts 40–60% of page weight.

    Step 3: App Audit

    Every Shopify app adds JavaScript. Most store owners have 15–20 apps installed, with 5–8 actively used. The rest still load their scripts.

    Fix: Remove unused apps. Completely. Not just disabled — uninstalled. Check your theme's theme.liquid for leftover script tags from deleted apps.

    Step 4: Render-Blocking Resources

    JavaScript that loads in the blocks rendering. Until that script downloads and executes, nothing shows on screen.

    Fix: Defer non-critical scripts. Move analytics and chat widgets to load after the page is interactive. Use defer and async attributes correctly.

    Step 5: Theme Code Cleanup

    Most Shopify themes — especially older ones — have bloated CSS with unused styles for features you don't use.

    Fix: Use Chrome Coverage tool to identify unused CSS/JS. Remove sections and blocks you're not using. Consider a lightweight base theme if the current one is fundamentally heavy.

    Step 6: Font Optimisation

    Google Fonts loaded via standard add 200–500ms to load time.

    Fix: Self-host fonts, use font-display: swap, preload critical font files.

    Step 7: Verify and Monitor

    After optimisation, I verify:

  • PageSpeed Insights: target 90+ mobile, 95+ desktop

  • Core Web Vitals: LCP under 2.5s, CLS under 0.1, FID/INP under 200ms

  • Real-world test on actual mobile devices on 4G
  • Then I set up ongoing monitoring so performance doesn't regress.

    Typical Results

    | Metric | Before | After |
    |--------|--------|-------|
    | Mobile PageSpeed | 42 | 91 |
    | Desktop PageSpeed | 67 | 97 |
    | LCP | 6.2s | 1.8s |
    | Page Weight | 4.2MB | 1.1MB |

    Want your store optimised? [Get in touch →](/contact)