How to Fix Slow Page Speed on Shopify & WooCommerce

errorThe Problem

Your page takes too long to load. Google's PageSpeed Insights gives your site a low performance score, which means slow Largest Contentful Paint (LCP), heavy JavaScript, and unoptimized images. Mobile users experience delays, and Google factors page speed into rankings.

trending_upWhy It Matters for SEO

A 1-second delay in page load reduces conversions by 7%. Google uses Core Web Vitals as a ranking signal, so slow pages rank lower. For ecommerce, speed directly equals revenue — Amazon found that every 100ms of latency cost 1% in sales. Most Shopify stores score 30-50 on PageSpeed; most WooCommerce stores score 15-30. Getting above 50 puts you ahead of competitors.

buildHow to Fix It

  1. 1

    Audit your installed apps: go to Settings → Apps and sales channels. Remove any apps you're not actively using — each one injects JavaScript.

  2. 2

    Compress images before uploading: use TinyPNG or Squoosh to reduce file sizes to under 200KB each. Use WebP format when possible.

  3. 3

    Enable lazy loading: most modern Shopify themes support this. Check Online Store → Themes → Customize → theme settings for a lazy loading toggle.

  4. 4

    Add preconnect hints for third-party domains your theme loads from (Google Fonts, analytics, etc.).

  5. 5

    Consider switching to a lighter theme — Shopify's Dawn theme is highly optimized. Heavy premium themes with many features add significant load time.

  6. 6

    Limit homepage sections: fewer sections means fewer resources to load. Remove unused slideshow, video, or Instagram feed sections.

folderlayout/theme.liquid
{%- comment -%} Add preconnect hints in theme.liquid <head> section {%- endcomment -%}
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

{%- comment -%} Defer non-critical JavaScript {%- endcomment -%}
<script src="{{ 'non-critical.js' | asset_url }}" defer></script>

{%- comment -%} Use responsive images {%- endcomment -%}
<img
  src="{{ image | image_url: width: 400 }}"
  srcset="{{ image | image_url: width: 400 }} 400w,
          {{ image | image_url: width: 800 }} 800w,
          {{ image | image_url: width: 1200 }} 1200w"
  sizes="(max-width: 768px) 100vw, 50vw"
  loading="lazy"
  alt="{{ image.alt | escape }}"
>
menu_bookRead Google's official documentationopen_in_new

Related Fix Guides

Want to check if YOUR store has this issue?

Scan your site for free — get copy-paste fixes in 60 seconds.

searchScan Now — It's Free