Skip to content

Shopify Store Speed in 2026: The Handful of Changes That Actually Move Core Web Vitals

26 August 20267 min readBy , LeelaRam Technologies
Share

Most Shopify speed advice is noise. This guide covers what actually moves Core Web Vitals in 2026: app scripts, image sizing, fonts, third-party pixels, theme bloat, and what to ignore.

Shopify stores get a lot of speed advice, and most of it is either already handled by the platform or does not move the numbers that matter. Shopify serves your theme from its own CDN, compresses assets and resizes images on request. You cannot make those parts faster and you do not need to. What you can control is what the theme asks the browser to load, and that is where almost all real improvement comes from.

This post is for a founder or e-commerce manager who wants a faster store without becoming a performance engineer. It covers how to measure, the handful of changes that reliably move Core Web Vitals, and the popular advice you can safely ignore. In our experience a standard Shopify store that fails these metrics almost always fails for one of five reasons, and none of them requires a developer to diagnose.

Measure the right thing first

Core Web Vitals are three numbers Google collects from real Chrome users: Largest Contentful Paint (how long until the main content is visible), Interaction to Next Paint (how quickly the page responds to a tap or click, which replaced First Input Delay in 2024), and Cumulative Layout Shift (how much the page jumps around while loading). They matter because Google uses them as a ranking signal and because they describe what a customer on a mid-range phone actually experiences.

  • Use field data, not a single lab run. PageSpeed Insights shows real-user data from the Chrome UX Report at the top of the page; that section is the score that counts.
  • Check the web performance report inside the Shopify admin, which tracks these metrics for your store over time.
  • Test the pages that earn money: the home page, a busy collection page and a top product page, on mobile.
  • Record the numbers before changing anything, so that you know what each change did.

App scripts: the biggest lever on most stores

Every app that touches the storefront tends to add JavaScript, and the cost compounds. Reviews, upsells, pop-ups, wishlists, currency switchers, chat widgets, sizing guides, countdown timers. Each one loads its own script, often from its own domain, often before the page is interactive. Ten apps of moderate weight can add more load time than the entire theme. Worse, many apps leave their code in the theme after uninstall.

  • List every installed app and ask, honestly, which ones changed a number. Uninstall the rest.
  • After uninstalling, search theme files for leftover snippets and script tags that reference the app. Remove them.
  • Prefer apps built as theme app extensions, which load through Shopify's app block system, over apps that inject a script tag into every page.
  • For anything that changes the storefront on a schedule, prefer tools that work server-side. A collection sorting app that writes into Shopify's own manual sort, as SellRank does, adds nothing to the page at all, where one that reorders the grid in the browser adds a script and a flicker.

Images: size them for the slot they fill

Images are usually the Largest Contentful Paint element, and the fix is rarely about compression. Shopify already serves images in modern formats and at requested sizes. The problem is themes and merchants requesting the wrong size: a 2,000-pixel-wide image in a 400-pixel product card, or a hero image lazy-loaded so the browser waits before starting the most important download on the page.

  • Make sure the theme uses responsive image markup with multiple widths, so a phone gets a phone-sized file. Modern themes do this; older or heavily customised ones often do not.
  • Do not lazy-load the hero image or the first row of a collection grid. Lazy-load everything below the fold.
  • Give every image its width and height so the browser can reserve space, which fixes most layout shift on product grids.
  • Upload sensible source files. A 12-megapixel photo as a thumbnail wastes processing on every request even if the delivered file is small.

Fonts: fewer families, fewer weights

Custom fonts are a quiet cost. Each family and weight is a separate download, and text often cannot render until the font arrives, which delays the content paint and can cause a visible swap. Most stores use more weights than their design needs.

  • Limit to one or two families and the weights actually used in the theme, typically regular and bold.
  • Use Shopify's font settings where possible; they load with sensible fallback behaviour and caching.
  • Set font-display to swap so that text is visible immediately in a fallback and switches when the font arrives.
  • Consider system fonts for body text. They cost nothing to download and most customers cannot tell.

Third-party pixels and tags

Analytics, ad pixels and tag managers are the other major script cost, and the usual problem is duplication: the Meta pixel installed natively and again through Google Tag Manager, GA4 added twice, a heat-mapping tool nobody has opened in a year. Each duplicate costs load time and often double-counts events.

  • Audit every tag and pixel. Keep one installation of each and remove the rest.
  • Use Shopify's customer events and web pixel system for tracking where you can. Pixels run in a sandbox that does not block the page rendering.
  • Move any remaining tags to load after the page is interactive.
  • Review whether a tag manager is still needed at all. On many small stores it is a container of forgotten experiments.

Theme bloat and what a lean theme looks like

Themes accumulate. A slider that shows five hero images when one converts better, animations on every scroll, a mega-menu that loads the full product list, sections copied in for a campaign and never removed. Every feature the theme supports costs something on every page, whether or not it is used.

The lean version is not ugly. It is a current Online Store 2.0 theme with the sections you use, one hero image, no slider, no animation library, and app functionality delivered through app blocks rather than injected scripts. If your theme is several years old and has been edited by several developers, a fresh install of a current theme with your settings migrated is often faster than another round of cleanup.

Theme weight is also where Interaction to Next Paint is usually lost. INP measures how long the page takes to respond visually after a tap, and the common cause of a slow response is JavaScript already running on the main thread: a variant picker that recalculates every option on each click, a mega-menu built from the full product list, or several app scripts all listening to the same scroll and click events. On a mid-range phone these queue up behind each other. The fix is the same as everywhere else in this post: fewer scripts doing less work, and heavy work deferred until after the page is interactive.

Fixing layout shift specifically

Layout shift is the metric merchants feel most and diagnose least. A customer goes to tap a product and the page moves, because an announcement bar appeared, an app injected a banner, or an image loaded without reserved space. The fixes are mostly about reserving space in advance.

  • Give images, embeds and promotional slots explicit dimensions or aspect-ratio boxes.
  • Render announcement bars and cookie notices in the initial HTML rather than inserting them after load.
  • Avoid apps that insert content above the fold after the page has painted, such as top-of-page countdown timers.
  • Preload the primary font so text does not reflow when it arrives.

What not to bother with

A lot of popular advice does not move Core Web Vitals on Shopify and can cost time or money. Minifying Liquid does nothing meaningful. Adding a separate CDN duplicates what Shopify already provides. Chasing a perfect Lighthouse score on a desktop lab run optimises a number no customer sees. 'Speed booster' apps that claim to preload pages add a script of their own to every page, which is the opposite of the goal. And going headless purely for speed is a serious build with real running costs; it makes sense when you need what a headless storefront gives you, such as content-driven pages or custom routing, and we build those in Next.js at LeelaRam Technologies, but the same money spent on removing apps will usually move the numbers further for a standard store.

The order to work in is simple: measure, remove what is not earning, size the images, trim the fonts, de-duplicate the tags, then re-measure. Field data lags, because it is built from real sessions collected over a rolling window, so give it a few weeks before judging. Then leave the store alone and check the report monthly, because apps and campaigns will slowly put the weight back.

Sumit Chavda

Written by

Founder, LeelaRam Technologies

Founded LeelaRam Technologies after building and running e-commerce technology for a live jewellery brand. Builds SellRank, and writes here about Shopify, merchandising and software that keeps working.

LinkedIn Portfolio All articlesAbout the company

Common questions

What is a good Core Web Vitals score for a Shopify store?+

Google's thresholds are the ones to aim for: Largest Contentful Paint under 2.5 seconds, Interaction to Next Paint under 200 milliseconds, and Cumulative Layout Shift under 0.1, measured at the 75th percentile of real users on mobile. A page passes if all three are within those limits. Judge by the field data in PageSpeed Insights or Shopify's web performance report, not by a single lab score, which varies run to run.

Will uninstalling apps really make my Shopify store faster?+

Usually yes, and it is often the single largest improvement available. Each storefront app tends to add its own JavaScript, and several together can outweigh the theme itself. Uninstalling is only half the job, though: many apps leave snippets and script tags in the theme code. After removing an app, search the theme for references to it and delete them, then re-measure to confirm the change registered.

Does a faster store improve conversion or just SEO?+

Both, though the conversion effect is the one you can measure on your own store. Slow pages lose visitors before the content appears, and layout shift causes mis-taps that abandon carts. On the SEO side, Core Web Vitals are one ranking signal among many; passing them is unlikely to leap a store up the results on its own, but failing them badly is a drag. In our experience the practical win is on mobile conversion.

Should I move to a headless storefront for speed?+

Not for speed alone. A well-maintained Shopify theme with few apps can pass Core Web Vitals comfortably. Headless storefronts built on Next.js or similar make sense when a store needs things the theme cannot do well: heavily content-driven pages, custom routing, or integrations rendered server-side. They come with hosting, development and maintenance costs that a theme does not. Fix the theme first; go headless for capability, not for a score.

Related

Want this built for you?

Fast, fully prerendered sites with SEO built in from the first line. LeelaRam Technologies does website development from Mumbai, for clients in India and abroad.

Website development