Web development
Core Web Vitals in Practice: A Checklist for Faster Websites and Online Stores
Mahmoud Bensaida · October 14, 2026 · 7 min read
Speed affects both rankings and revenue. Google measures real-user experience with three Core Web Vitals, and slow, jumpy pages lose shoppers before they ever see a product. Here’s what each metric means and the fixes that make the biggest difference.
The three metrics, and the targets
- LCP, Largest Contentful Paint (under 2.5s): how quickly the main content, usually the hero image or headline, appears.
- INP, Interaction to Next Paint (under 200ms): how quickly the page responds when someone taps or clicks.
- CLS, Cumulative Layout Shift (under 0.1): how much things jump around while loading.
Measure with real-user data first (the Core Web Vitals report in Google Search Console, or PageSpeed Insights’ field data), then use Lighthouse and Chrome DevTools to debug.
Fixing LCP: make the main content show up fast
- Don’t lazy-load the hero image. Lazy-load everything below the fold, but give the main image
fetchpriority="high"and noloading="lazy". - Serve modern, right-sized images. Use WebP or AVIF with
srcset, so a phone never downloads a 3000px desktop banner. - Render content in HTML. If your page is an empty shell filled by JavaScript, the LCP waits for your whole bundle. Prerender or server-render key pages.
- Limit web fonts. Use two families at most, only the weights you use, and
font-display: swap.
Fixing INP: keep the main thread free
- Audit third-party scripts. Chat widgets, trackers and pop-up tools are the usual causes. On Shopify, uninstalled apps sometimes leave code behind in the theme, so check for it.
- Split your JavaScript. Load code for heavy features (carousels, editors, maps) only when needed, using dynamic
import(). - Break up long tasks. Respond to the click first (show a spinner or the new state), then do the expensive work.
- Prefer CSS over JS animation for hover effects, transitions and simple motion.
Fixing CLS: stop the page from jumping
- Always set width and height (or
aspect-ratio) on images, videos and iframes. - Reserve space for injected content such as announcement bars, cookie banners, reviews widgets and app blocks.
- Match fallback font metrics so text doesn’t reflow when the web font arrives.
- Never insert content above what the user is reading, unless they asked for it.
Extra wins for Shopify stores
- Use theme app extensions (app blocks) instead of apps that inject scripts into every page.
- Remove apps you don’t use, then check the theme code for leftovers.
- Choose lightweight storefront widgets. Small scripts that load only on the pages that need them add almost nothing.
- Compress product images before upload; Shopify’s CDN resizes them, but a smaller source still helps.
A 30-minute audit you can do today
- Run your homepage, a product page and a category page through PageSpeed Insights.
- Note which metric fails on mobile first.
- In DevTools → Network, sort by size and question the five largest files.
- In DevTools → Performance, record a page load and look for long tasks from third-party scripts.
- Fix the single biggest issue, deploy, and measure again.
Is your site or store slow? I audit and fix performance on React sites and Shopify themes. Get a performance review.