What Core Web Vitals measure
Core Web Vitals are Google's measures of real-world page experience. They are assessed from field data collected from real visitors, at the 75th percentile, so most of your visitors need a good experience, not just the average one.
| Metric | What it measures | "Good" threshold |
|---|---|---|
| Largest Contentful Paint (LCP) | How quickly the main content, often the hero image, appears | 2.5 seconds or less |
| Interaction to Next Paint (INP) | How quickly the page responds when someone taps or clicks | 200 milliseconds or less |
| Cumulative Layout Shift (CLS) | How much the page jumps around while loading | 0.1 or less |
INP replaced First Input Delay as a Core Web Vital in March 2024. Page speed is one ranking signal among many, so treat speed work mainly as a conversion project: faster stores let shoppers browse and buy with less friction.
How to diagnose a slow store
- Start with field data. Open the Core Web Vitals report in Google Search Console, and look up your key pages in PageSpeed Insights, which shows real-user data when available.
- Test the templates that matter. Check the home page, a category page, a product page, the cart and checkout, not just the home page.
- Run lab tests. Use Lighthouse or WebPageTest to see a waterfall of what loads when, and what blocks rendering.
- Find the LCP element on each template. It is often the hero or product image.
- Audit third-party scripts. List every app, tag, chat widget and tracker, and time the effect of each by disabling them in a test.
- Test on a mid-range phone and a slower connection, since that is what many shoppers use.
The six usual culprits
| Culprit | Typical symptom | Fix |
|---|---|---|
| Oversized or poorly delivered images | Slow LCP | Serve modern formats at the right dimensions, preload the hero image and do not lazy-load it |
| Too many apps and third-party scripts | Poor INP, long loading tails | Remove what you do not need, defer the rest, and replace heavy apps with lighter options |
| Render-blocking CSS and JavaScript | Blank screen before content | Defer non-critical scripts, inline critical CSS, remove unused code |
| Heavy themes and page builders | Large page weight everywhere | Trim sections, simplify templates, or move to a lighter theme |
| Layout shifts | Content jumps as images, banners and fonts load | Set image dimensions, reserve space for banners and embeds, tune font loading |
| Slow server response and no caching | High time to first byte | Better hosting, page caching, a CDN, and database and plugin clean-up |
Fix order by impact
| Priority | Action | Effort | Likely effect |
|---|---|---|---|
| 1 | Fix the hero and product images on key templates | Low | High on LCP |
| 2 | Remove unused apps and scripts | Low | High on INP and load time |
| 3 | Defer or delay third-party scripts | Medium | High on INP |
| 4 | Reserve space for banners, embeds and images | Low | High on CLS |
| 5 | Clean up theme code and sections | Medium | Medium |
| 6 | Upgrade hosting and caching (mainly WooCommerce) | Medium | High on server response |
Fix one change at a time and measure, so you know what worked.
Shopify-specific fixes
- Audit installed apps carefully. Removing an app does not always remove the code it added to your theme, so check theme files for leftovers.
- Use responsive images through Shopify's image tools, with correct width and height attributes.
- Limit fonts to one or two families and weights, and preload only what you need.
- Replace heavy sliders and animations with static or simple elements, especially above the fold.
- Use apps built as theme app extensions where possible, since they load more cleanly.
- Check the speed reports in your admin, then verify with field data.
WooCommerce-specific fixes
- Use managed hosting with a current PHP version and server-level caching.
- Add an object cache such as Redis, and a page cache that excludes cart, checkout and account pages.
- Audit plugins with a profiling tool, and remove duplicates and abandoned ones.
- Enable WooCommerce's High-Performance Order Storage on supported versions to speed up order handling.
- Optimize images, serve them through a CDN, and clean the database of expired data.
- Be cautious with heavy page builders on product and category templates.
When to rebuild instead of patch
Consider a rebuild or a theme change when:
- The theme is so heavy that removing apps and images still leaves poor scores.
- Years of customizations have made changes risky and slow.
- Performance work keeps regressing after every release.
- You are replatforming or redesigning anyway.
Otherwise, a focused optimization sprint usually delivers most of the benefit for much less money.
Measuring the revenue impact
- Record baseline conversion rate, add-to-cart rate and bounce rate by template before changes.
- Compare the same periods before and after, adjusting for seasonality and campaigns.
- Remember that field data in Search Console and Chrome's user experience reports updates over roughly 28 days, so improvements take time to show.
- Track speed alongside revenue so you can justify the next round of work.
Sources and further reading
- web.dev: Web Vitals
- Google Search Central: Core Web Vitals
FAQ
Why is my Shopify store slow?
The most common causes are oversized images, too many apps and third-party scripts, a heavy theme, layout shifts and unoptimized fonts. Start by measuring real-user data, finding the largest element on each page, and testing the store with apps disabled.
What is a good Core Web Vitals score for ecommerce?
Aim for LCP of 2.5 seconds or less, INP of 200 milliseconds or less and CLS of 0.1 or less, measured at the 75th percentile of real visitors. Check your key templates separately, since the product page often differs from the home page.
How do I speed up WooCommerce?
Use quality hosting with caching, add an object cache, audit and remove unneeded plugins, optimize and serve images through a CDN, keep the database clean and avoid heavy page builders on key templates. Exclude cart and checkout from page caching.
Does page speed affect SEO and sales?
Speed is one of many ranking signals, so do not expect speed alone to transform rankings. It does affect user experience: slow or unstable pages frustrate shoppers and can reduce conversions, which is often the larger business benefit.
How long does it take to improve Core Web Vitals?
Fixes can go live in days or weeks, but field data reflects a rolling window of roughly 28 days, so reports lag. Expect a few weeks before improvements show clearly in Search Console.
Sources and further guidance
Platform features and requirements change. Check the linked primary documentation for your implementation.
TURN INSIGHT INTO ACTION
Let’s talk about your next step.
Share your workflow, your current systems and what you want to improve. We’ll help shape a practical way forward.
Discuss your project ↗