Skip to content

Fix · Page Speed

How to Improve Your Shopify Store Page Speed

Pages that exceed five seconds on first load lose a measurable share of visitors before they ever see the product. Slow stores also rank worse in Google because Core Web Vitals are a confirmed ranking factor. The good news: Shopify shows you exactly where you stand inside the admin (no third-party tools required), and most performance issues trace to three fixable causes — heavy images, leftover app code, or outdated themes.

1 hour for diagnosis + first fixesImpact · lowDetection · dom

Last updated: May 12, 2026

Why this matters

Beyond direct abandonment, page speed is a confirmed Google ranking factor — the three Core Web Vitals (Largest Contentful Paint, Interaction to Next Paint, Cumulative Layout Shift) are inputs to Google's page experience signal. A 'Poor' rating in any of the three can suppress rankings even when the rest of your SEO is solid. The compounding effect: slow stores get less organic traffic AND convert worse on the traffic they do get.

Slow load times also correlate with abandoned themes, oversized hero images, and unmaintained app stacks — issues that lower trust independently of speed itself. Buyers who notice slow loading often interpret it as a signal the store isn't actively maintained, which extends the doubt to whether orders will ship and support will respond. Fixing speed fixes more than just speed.

How to check if you have this issue

From your Shopify admin, go to Online Store → Themes. At the top of the page, look for the performance metric summary — a quick view of your store's three Core Web Vitals over the last 7 or 30 days, with each rated Good, Moderate, or Poor. This data is from real user sessions, not lab tests, with up to 36 hours of delay.

For deeper diagnosis, go to Analytics → Reports and search the reports field with the keyword 'contentful' (for LCP reports), 'next' (for INP reports), or 'cumulative' (for CLS reports). These give per-page and per-device breakdowns. If you see Poor ratings on any metric, that's the priority — fix the worst-performing pages first.

Or skip the manual check — run a free 30-second scan and we'll tell you.

Step-by-step fix

  1. 1

    Identify which Core Web Vital is failing

    5 min

    The three metrics measure different things: Largest Contentful Paint (LCP) is loading speed — target under 2.5 seconds. Interaction to Next Paint (INP) is responsiveness — target under 200 milliseconds. Cumulative Layout Shift (CLS) is visual stability — target under 0.1. Different causes break different metrics. From the performance metric summary in Online Store → Themes, note which metric is Poor or Moderate. The fix depends on which one.

  2. 2

    Fix LCP — usually means oversized hero images

    15 min

    If LCP is poor, the largest visible element on the page is loading too slowly. For most Shopify stores, that's the hero image on the homepage and product pages. Open Online Store → Themes → Customize → identify hero image asset. If the file is over 300KB, replace it with a compressed version. Shopify auto-serves WebP via its CDN, so original JPGs are fine — just keep file sizes reasonable. For photos use JPG; for graphics with transparency use PNG. Resize images to match their display size; uploading a 4000px-wide image for a 1200px-wide display wastes bandwidth.

  3. 3

    Fix INP — usually means too many third-party scripts or apps

    20 min

    If INP is poor, the page is sluggish to interact with — clicks and taps feel delayed. The most common cause is too much JavaScript, often from installed apps or tag managers. Audit your apps: from Shopify admin go to Settings → Apps and sales channels, review each installed app, and uninstall anything you don't actively use. Important: uninstalling doesn't auto-remove app code from your theme. After uninstalling, edit theme code (Online Store → Themes → ⋯ → Edit code) and search for the app's namespace to remove leftover snippets. Also audit Google Tag Manager (if installed): remove unused tags.

  4. 4

    Fix CLS — usually means content shifts as the page loads

    15 min

    If CLS is poor, elements visibly jump or shift as the page loads — text moves when an image loads, buttons reposition when a banner appears. Common causes on Shopify: hero images without specified dimensions, late-loading custom fonts, slow-loading review widgets that push content down when they appear. The fixes: ensure all images have explicit width and height attributes (most modern Shopify themes handle this; older custom themes often don't), reserve space for late-loading widgets (Judge.me's badges, for example, can be styled to occupy their final size from page load), use font-display: swap or font-display: optional in your theme CSS.

  5. 5

    Consider upgrading to a modern theme

    varies

    Themes built on Online Store 2.0 (Dawn, Sense, Studio, Refresh, Horizon and others) are significantly more performant than older themes (Debut, Brooklyn, Minimal, Supply). If your store is on an OS 1.0 theme and you're consistently failing Core Web Vitals after the above fixes, the theme itself is likely the bottleneck. Migrating to a modern theme is non-trivial work but the performance improvement is usually substantial. Don't migrate without a staging copy of your store to test against — themes are not always one-to-one in features.

  6. 6

    Re-check after 36 hours and iterate

    ongoing

    Shopify's performance reports are based on real user data and lag by up to 36 hours. After making fixes, wait at least a day before re-checking the performance metric summary. Don't try to fix everything at once — change one thing, wait, measure, repeat. This makes it possible to attribute improvements (or regressions) to specific changes.

Common mistakes to avoid

  • Optimizing for Lighthouse scores instead of real-user Core Web Vitals. Lighthouse runs synthetic tests in lab conditions; Core Web Vitals measure what real visitors actually experience. The Shopify performance report uses real-user data, which is the metric Google ranks on.
  • Uninstalling apps but leaving their code in the theme. Shopify's documentation explicitly warns: uninstalling an app doesn't automatically remove its theme code injections. After uninstall, edit the theme code and remove orphaned snippets.
  • Adding 10+ sections to the homepage because 'they look nice in the customizer.' Shopify documentation explicitly notes high section counts can lower performance. Most homepages convert better with 5-7 well-built sections than 12 mediocre ones.
  • Compressing images to the point of visible quality loss. Buyers can tell when product photos look posterized or blocky — the conversion hit often exceeds the speed gain. Aim for visually clean compression, not maximum file-size reduction.
  • Trying to fix all three Core Web Vitals at once. Fix the worst one first, wait for data to refresh, then tackle the next. Otherwise you can't tell which change moved which metric.

What success looks like

  • Performance metric summary in Online Store → Themes shows Good ratings for LCP, INP, and CLS on the 30-day window.
  • Hero images on homepage and product pages are under 300KB each in their served form.
  • No leftover code remains in your theme from previously-uninstalled apps.
  • Layout no longer shifts visibly as pages load — you can click on an element without it moving away.
  • Google Search Console's Core Web Vitals report (Search Console → Experience → Core Web Vitals) shows 0 Poor URLs across mobile and desktop.

Want the full reasoning behind why we score this signal? Read the methodology for Page Speed

Related fixes

You know how to fix Page Speed.
But does your store actually have the issue?

You just read the playbook. 30 seconds to find out which of the 14 trust signals your store actually fails — including Page Speed.

Find Out Free — 30 Seconds
No signup required All 14 signals scored Done in 30 seconds