Shopify Performance Optimization Checklist for 2026 (Core Web Vitals Edition)

8 min read

#Who this checklist is for

  • Shopify merchants and devs who want a fast store without guessing what to fix.
  • Agencies responsible for Shopify performance, SEO, or Core Web Vitals work.

Use this as a practical, repeatable checklist you can run every few months, or whenever you ship a major theme/app change.


#Step 1 – Measure where you are now (don’t skip this)

Before touching code or apps, capture a baseline.

#1.1. Test key templates with PageSpeed Insights

Run PageSpeed Insights for:

  • Homepage.
  • A top collection page.
  • A top product page.
  • Cart (if you get traffic there directly).

Note:

  • LCP (Largest Contentful Paint) – aim for ≤ 2.5 s on mobile.
  • INP (Interaction to Next Paint) – aim for ≤ 200 ms.
  • CLS (Cumulative Layout Shift) – aim for ≤ 0.1.

Pay attention to:

  • What PSI flags as the LCP element (often hero or main product image).
  • “Remove unused JavaScript” and “Reduce JavaScript execution time” – these usually point at apps and scripts.

#1.2. Check real‑user data in Search Console

In Google Search Console → Page Experience → Core Web Vitals:

  • Check Mobile first.
  • See which URLs or URL groups are marked as “Needs improvement” or “Poor”.

Export the list if needed; this becomes your target set.


#Step 2 – Theme & app cleanup (biggest wins, fastest)

Every major Shopify performance study agrees: the biggest problems come from apps and theme bloat, not Shopify’s infrastructure.

#2.1. Audit storefront apps

Make a list of all apps that touch the storefront:

  • Social proof widgets.
  • Popups and email capture.
  • Reviews.
  • Chat widgets.
  • Analytics/heatmaps.

For each app, ask:

  • Do we actively use this?
  • Does it generate revenue or critical insights?

Then:

  • Uninstall apps that are unused or low‑impact.
  • Look for opportunities to replace multiple apps with one well‑built tool.

Studies show:

  • Stores with 3 or fewer app scripts often keep mobile LCP under 2.0s.
  • Stores with 8+ app scripts frequently see mobile LCP above 3.0s.

#2.2. Simplify your theme

Heavy themes load lots of features you may not need.

In the theme editor:

  • Turn off:
    • Extra sliders/carousels.
    • Hidden or unused sections.
    • Auto‑playing videos on first paint.
  • Remove custom sections you don’t actually use on live pages.

If you’re on an older theme:

  • Consider upgrading to a Shopify Online Store 2.0 theme built with performance best practices in mind.

#Step 3 – Optimize images, Liquid, CDN usage & scripts

Images, Liquid rendering, and JavaScript are where you get the most technical leverage.

#3.1. Image optimization (works with Shopify CDN)

Shopify already serves images via a global CDN and can output modern formats (WebP/AVIF). You still need to:

  • Use appropriately sized images (no 4000px hero image for a 1200px container).
  • Ensure every img tag has:
    • Width and height attributes to prevent layout shift (better CLS).
    • A good alt description.
  • Lazy‑load images below the fold.

For the LCP image (often your hero/product image):

  • Don’t lazy‑load it.
  • In theme.liquid or the relevant section, consider preloading it using Liquid:
<link rel="preload" as="image" href="{{ section.settings.hero_image | image_url: width: 1600 }}">

#3.2. Shopify Liquid performance best practices

From Shopify’s own performance guidance:

  • Avoid expensive queries inside loops:
{% comment %}Bad: fetching full objects in a tight loop{% endcomment %}
{% for handle in collection_handles %}
  {% assign coll = collections[handle] %}
  ...
{% endfor %}

Instead:

  • Work with data you already have in the loop.
  • Use assign to compute values once outside loops.

Also:

  • Avoid fetching giant collections and then filtering them in Liquid; use smaller, purposeful collections.
  • Keep templates shallow and avoid deeply nested loops where possible.
  • Use the Shopify Theme Inspector (Chrome extension) to see which Liquid sections are slow to render.

#3.3. Scripts, fonts, and third‑party tools

JavaScript and fonts are common performance killers:

  • Limit to 1–2 font families and only the weights you actually use.
  • Defer non‑critical JS:
    • Chat widgets.
    • Popups.
    • Secondary analytics.
  • Remove old tracking pixels from legacy campaigns.

Aim to keep total JS for initial render light; Shopify recommends very small bundles where possible.


#Step 4 – Core Web Vitals specifics: LCP, INP, CLS

Now that the big items are cleaned up, fix each CWV metric directly.

#4.1. Largest Contentful Paint (LCP)

LCP issues typically come from:

  • Heavy hero images.
  • Above‑the‑fold slideshows and videos.
  • Too many blocking scripts and styles.

Checklist:

  • Make the hero simpler and static (first slide only; avoid complex sliders).
  • Ensure the hero image is compressed and right‑sized.
  • Preload the hero/product image (see Step 3.1).
  • Defer scripts that aren’t required to show the hero and first content.

#4.2. Interaction to Next Paint (INP)

INP measures responsiveness when users click or tap.

Watch out for:

  • Heavy JS on menus, filters, and add‑to‑cart buttons.
  • Apps that hijack clicks and run big bundles on every interaction.

Checklist:

  • Test menu and filters on a real mobile device; interactions should feel instant.
  • Use lighter JS for navigation and simple UI behaviors.
  • Avoid running heavy analytics or tracking logic on every click.

#4.3. Cumulative Layout Shift (CLS)

Most Shopify CLS issues are easy to fix:

  • Missing width/height on images.
  • Banners or popups pushing content down after load.

Checklist:

  • Confirm all images in your main templates define dimensions.
  • Reserve space for announcement bars and sticky headers.
  • Show cookie banners and popups in reserved space or as overlays that don’t push content.

#Step 5 – Ongoing monitoring & regression checks

Performance is never “done” – every new app, theme tweak, or campaign can affect it.

#5.1. Build a simple performance cadence

Every 4–8 weeks, or after major changes:

  • Re‑run PageSpeed Insights on your key templates.
  • Check Search Console’s CWV reports.
  • Compare LCP/INP/CLS to your previous baseline.

If you install a new app:

  • Test key pages before and after installing.
  • If scores drop noticeably, reconsider the app or adjust where/how it loads.

#5.2. Keep performance in your dev workflow

  • Make “How does this affect performance?” part of every change discussion.
  • Use Shopify’s Theme Inspector while developing or debugging slow sections.

Over time, this mindset is what keeps your store fast while you continue to add features.


#Request a performance review with GIE systems

If you’d like help implementing this checklist or diagnosing tricky performance issues, GIE systems can:

  • Review your Shopify Liquid templates, theme, and apps for bottlenecks.
  • Propose concrete changes around app performance, CDN usage, image optimization, theme optimization, and caching behavior.
  • Prioritize a 60–90 day improvement plan tied to Core Web Vitals and real revenue impact.

You can reach out via our services or contact pages and mention that you’d like a Shopify performance & Core Web Vitals review. We’ll start by looking at your current scores and suggest the highest‑impact fixes first.