Shopify Site Speed and Core Web Vitals: What Slows Stores Down and How to Fix It
Site speed is not a vanity metric. On a Shopify store it is the tax every visitor pays before they see a single product, and Google now scores it directly through Core Web Vitals. Slow stores lose sales you never get to see, because the bounce happens before the page finishes painting. This guide explains the three metrics that actually matter, what quietly tanks them on Shopify, how to measure the truth rather than a flattering lab guess, and a practical checklist to claw the speed back.
The three numbers that matter: LCP, INP and CLS
Core Web Vitals are three real-user measurements Google uses to judge whether a page feels fast, responsive and stable. Everything else about speed is a means to moving these three.
- Largest Contentful Paint (LCP) is how long until the biggest thing above the fold renders, usually the hero image or the headline. The target is under 2.5 seconds. On Shopify this is nearly always the hero image or a slider.
- Interaction to Next Paint (INP) replaced First Input Delay in 2024. It measures how quickly the page responds when someone taps or clicks. The target is under 200 milliseconds, and heavy JavaScript from apps is the usual reason it fails.
- Cumulative Layout Shift (CLS) is how much the page jumps around as it loads. The target is under 0.1. It is caused by images without dimensions, banners injected late, and fonts that swap and reflow the text.
What actually tanks Shopify speed
Shopify's core infrastructure is fast. Almost every slow store we open is slow because of what has been layered on top over time, not because of the platform underneath.
App bloat
Every app you install can inject its own JavaScript and CSS into every page, whether or not the feature is used on that page. A reviews widget loads on the homepage where there are no reviews. An upsell script loads on the blog. Ten apps each adding a hundred kilobytes of script is a megabyte of code the browser has to fetch and run before your store feels ready. This is the single most common cause we find, and it is why choosing your stack is really a speed decision. If your store has drifted this way, start by learning how to audit and cut the apps quietly bloating your store.
Unoptimised images
Shopify will serve whatever you upload. It does not force you to size it. A 3000-pixel hero served at full resolution, PNGs used where WebP would be a fraction of the weight, and images with no width and height attributes that cause the layout to shift as they load. Images are usually the heaviest thing on a product page, and they are also the easiest win.
Third-party scripts
The Meta pixel, the TikTok pixel, a Google Tag Manager container stuffed with tags, a chat widget, a heatmap tool, a popup app. Each one is a request to someone else's server that can block or delay yours. They accumulate because nobody ever removes the old ones.
Heavy themes and page builders
Bloated multipurpose themes with every feature switched on, or drag-and-drop page-builder apps that output deeply nested divs and inline styles, both ship far more code than a lean store needs. The convenience at build time is paid back in weight on every single visit.
Render-blocking resources
CSS and JavaScript loaded in the head that the browser must download and parse before it can paint anything at all. While that is happening, your visitor is staring at a blank screen, and blank screens are where bounces are born.
How to measure speed honestly: lab versus field
Most speed arguments happen because two people are looking at two different kinds of number. There are two, and they are not interchangeable.
- Lighthouse, built into Chrome DevTools, is a lab test: one simulated load on your machine. It is superb for diagnosing what to fix, but it is not how real users experience the site.
- PageSpeed Insights runs Lighthouse and also shows field data from the Chrome User Experience Report, gathered from real Chrome visitors over the previous 28 days. That field data is what Google actually ranks on.
- Shopify's own Online Store Speed score is a blended lab figure. It is directionally useful for spotting a regression, but it is not the whole story and should not be the only thing you watch.
The trap is testing on a fast laptop on office broadband and declaring victory. A store can score 90 in a desktop Lighthouse run and still fail Core Web Vitals for the mid-range phones on mobile data that make up most DTC traffic. Always test throttled, on mobile, and trust the field data over any single lab result.
The conversion and SEO cost of a slow store
Speed is not an engineering hobby. It is revenue, and it leaks from several places at once.
Conversion. Every added second before a page becomes usable measurably drops conversion, and bounce rises steeply between one and three seconds. The visitor who leaves before the hero paints never reaches your funnel, so you never even see them in checkout data. Slowness costs you customers who are invisible in your own reports.
Paid traffic. If you run Meta, TikTok or Google ads, a slow landing page burns budget twice: worse ad relevance and quality scores, and worse conversion on the click you already paid for. This is why speed and landing page design for paid traffic are the same conversation for anyone spending on ads.
SEO. Core Web Vitals are a confirmed part of Google's page experience signals. They rarely outrank relevance on their own, but between two comparable results, page experience breaks the tie, and it compounds with the engagement signals a fast page earns. This is one thread in the wider Shopify conversion picture.
The email angle. You can drive perfectly targeted Klaviyo traffic to a store, but if the site is slow the revenue you worked to earn leaks at a slow front door. This is exactly why email and website have to be built to work together, not treated as separate projects.
The fix checklist, in priority order
Work top to bottom. The earlier items usually return the most speed for the least effort, and each one maps to a Core Web Vital.
- Audit and cull your apps. List every installed app, find what each injects, and remove anything you are not actively using. Then check the theme, because uninstalling does not always remove the leftover code.
- Compress and right-size images. Serve WebP, size images to their largest display dimension, add width and height attributes, and lazy-load everything below the fold, but never the hero.
- Fix the LCP element. Find the largest above-fold element, preload it, avoid carousels above the fold, and make certain it is not being lazy-loaded.
- Tame third-party scripts. Audit the tag manager, defer non-critical pixels, remove dead trackers, and load chat and heatmap tools only after the first interaction.
- Reduce render-blocking code. Defer non-critical JavaScript, inline the critical CSS, and strip unused theme CSS so the browser can paint sooner.
- Stabilise layout to kill CLS. Set explicit dimensions on images and embeds, reserve space for injected banners, and load fonts so text does not reflow.
- Move to a lean theme. If the theme is heavy or dated, migrate to a modern Online Store 2.0 theme built for performance rather than patching a bloated one forever. That is often the moment to consider a rebuild rather than endless patching.
- Re-measure on field data. Fixes show instantly in Lighthouse, but Core Web Vitals field data updates over 28 days, so track the PageSpeed field metrics weekly until the pass holds.
When speed is a symptom of a bigger problem
Sometimes the store is slow because it has accreted five years of app installs, theme edits and page-builder pages, and no amount of trimming gets it to fast. That is not a failure of optimisation; it is a signal. When the foundations are the problem, patching the surface stops paying back, and a rebuild on a clean, lean theme is the honest fix. We walk through exactly that call in our guide to redesign versus rebuild.
This is the work we do at NELVIO. We build the conversion-focused Shopify and DTC sites where speed is designed in from the first template rather than bolted on afterwards, and where every app earns its weight. It sits inside a broader approach to conversion web design for DTC that treats performance as a revenue lever, not a technical footnote. We are a UK studio, founder-led and senior throughout, currently taking three new clients this quarter.
If your store feels sluggish and you want to know whether it needs a tune-up or a rebuild, start with a £499 audit and we will tell you precisely what is slowing it down and what the fix is worth, or see how we build and run DTC stores end to end.
Frequently asked questions
What is a good Core Web Vitals score for a Shopify store?
Aim for Largest Contentful Paint under 2.5 seconds, Interaction to Next Paint under 200 milliseconds, and Cumulative Layout Shift under 0.1. Those are the thresholds Google treats as a pass. What matters is the mobile field score from real users, not the desktop lab number, because that is where most DTC traffic and most of the pain live.
Do Shopify apps really slow down my store?
Yes, and it is the most common cause we find. Each app can inject its own JavaScript and CSS into every page, not just where its feature appears, so a reviews widget, an upsell script and a chat tool all load site-wide. Ten small apps can add up to a megabyte of render-blocking code, and uninstalling one does not always remove the snippets it left in your theme.
Does site speed affect Google rankings?
Yes. Core Web Vitals are a confirmed part of Google's page experience signals. Speed rarely beats relevance on its own, but between two comparable results it breaks the tie, and it compounds with the engagement signals that follow a fast page. It also directly affects conversion, so a slow store loses money before it loses rankings.
Why does my Shopify store score well on desktop but fail on mobile?
Because Google grades you on real-user field data collected mostly from mid-range phones on mobile networks, while a desktop Lighthouse test runs on a fast machine and connection. A store can score 90 in a desktop lab and still fail Core Web Vitals for the phones your customers actually use. Always test throttled, on mobile, and trust the field data.
Is Lighthouse or PageSpeed Insights better for measuring speed?
They do different jobs. Lighthouse is a single lab test, excellent for diagnosing what to fix. PageSpeed Insights runs Lighthouse and also shows the field data from real Chrome users over the last 28 days, which is what Google actually ranks on. Use Lighthouse to find problems and the field data to judge whether real users feel the fix.
Should I rebuild my Shopify store or just optimise it?
It depends on how much has accreted. If the store is fundamentally sound and just carries too many images and scripts, optimising wins. If it has years of app installs, theme edits and page-builder pages layered on a dated theme, no amount of trimming reaches fast, and a rebuild on a lean modern theme is the honest answer.
Find out what your slow store is really costing you
A slow Shopify store bleeds conversion before anyone reaches checkout and drags on every pound you spend on ads. Start with a £499 audit and we will measure your Core Web Vitals against real-user data, pinpoint exactly what is slowing you down, and tell you whether it needs a tune-up or a rebuild, then build the fix.
Book a £499 audit →