Shopify speed test
Enter any public URL. You’ll get the one change that recovers the most load time, what it’s worth, and the measurements underneath.
What you can and cannot change on Shopify
Shopify performance work is a narrower problem than WordPress performance work, because most of the infrastructure is not yours. The server, the CDN and the image pipeline are Shopify’s and they are competently run. What is yours is the theme, the apps, and the images you upload — and that is where essentially all Shopify slowness lives.
This matters for how you read a speed test. Advice written for self-hosted sites about caching layers, PHP versions and server tuning simply does not apply to you.
Apps, and the code they leave behind
The most common cause by a distance. Every app that adds a script tag or a theme app extension puts JavaScript on every page. Ten apps is ten bundles, ten sets of third-party connections, and a main thread that is busy when your visitor taps something.
Worse, uninstalling an app frequently leaves its snippets in your theme. Search your theme files for the names of apps you no longer use, and check theme.liquid for orphaned script tags. Do it on a duplicated theme, not the live one.
Images uploaded at full size
Shopify’s CDN will resize and convert to WebP for you, but only if the theme asks it to. A theme that outputs {{ product.featured_image | image_url }} with no width gets the original. Always request a width and let Shopify do the work:
{{ product.featured_image
| image_url: width: 1200
| image_tag: loading: 'eager', fetchpriority: 'high',
widths: '400, 800, 1200, 1600' }}Note the eager and fetchpriority on the hero: many themes lazy load every image including the one above the fold, which is the fastest way to ruin LCP.
Hero videos and sliders
A homepage video background is several megabytes that must download before anything feels finished, and an autoplaying carousel is a layout shift generator. Both are theme settings you can turn off in an afternoon, and both are usually worth more than every other optimisation combined.
Liquid that loops too much
This is the one case where a Shopify store genuinely has a slow server response. Rendering a collection with a nested loop over every variant of every product, or building a mega-menu by iterating all collections, makes Shopify’s renderer do real work on every request. If your first byte is over 600ms on Shopify, look at your Liquid before you look at anything else.
Third-party fonts and pixels
Marketing pixels accumulate quietly — Meta, TikTok, Pinterest, Klaviyo, Google Ads, plus whatever the last agency added. Each is a connection to another domain and a script to execute. Load them through one tag manager, deferred, and delete the ones nobody reads the data from.
A sensible order to work in
- Audit installed apps; remove the ones you do not actively use.
- Grep the theme for leftover snippets from removed apps.
- Fix the hero image: explicit width, eager, high fetch priority.
- Turn off homepage video and autoplay carousels.
- Consolidate marketing pixels and defer them.
- Check Liquid loops if your first byte is slow.
- Test on a duplicated theme before publishing anything.
Common questions
- Can I change my Shopify hosting to speed the site up?
- No, and you do not need to. Shopify runs the servers and the CDN, and their first-byte times are generally good. This is why a hosting recommendation is almost never the right answer for a Shopify store — and why you will not see one in your result unless your measured server response genuinely exceeds 600ms, which on Shopify usually points at a Liquid loop rather than at infrastructure.
- Does the Shopify speed score in the admin mean anything?
- It is a Lighthouse performance score averaged across your home, product and collection pages, sampled periodically. It is real but coarse, and like any score it tells you nothing about what to change. It also updates on a lag, so a fix you shipped this morning will not show there for days.
- Do apps really slow the store down that much?
- Often, yes, and the cost is invisible in the admin. Each app that injects a script tag or a theme app extension adds JavaScript to every page, whether that page uses the feature or not. Reviews widgets, upsell popups, currency converters and wishlist apps are the usual suspects. Uninstalling an app does not always remove its leftover code from the theme.
- Does page speed affect my checkout conversion?
- Your checkout itself is Shopify's and you cannot change it beyond limited customisation. What you can change is everything before it — and that is where the drop-off happens. A collection page that takes five seconds on a phone loses people who never reach the checkout at all.