Shopify Performance Optimization Checklist for 2026 (Core Web Vitals Edition)
#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
imgtag has:- Width and height attributes to prevent layout shift (better CLS).
- A good
altdescription.
- Lazy‑load images below the fold.
For the LCP image (often your hero/product image):
- Don’t lazy‑load it.
- In
theme.liquidor 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
assignto 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/heighton 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.