Where the time goes
- Apps that inject JavaScript and CSS on every page, including pages where they do nothing.
- Code left behind by apps that were uninstalled; removing an app does not always clean up the theme.
- Hero sliders, autoplay videos and full-width images far larger than the screen.
- Third-party tags: chat, reviews, pop-ups, heatmaps, several analytics and advertising pixels.
- Several web fonts in many weights.
Start with measurement
Run PageSpeed Insights on three templates: the homepage, a collection page and a product page, on mobile. Note LCP, TBT and the largest resources. Shopify's own web performance report in the admin shows real-user Core Web Vitals once the store has enough traffic.
Always test changes on an unpublished duplicate of the theme first, then publish.
Fixes in a safe order
- Review the app list. Remove apps you no longer use and switch off app embeds that are not needed on every page (Online Store > Themes > Customize > App embeds).
- Search the theme code for leftovers of removed apps (snippets and script tags with the app's name) and remove them on the duplicate theme.
- Replace the hero slider with one image. Load it with
fetchpriority="high", do not lazy-load it, and use Shopify'simage_urlfilter with a sensible width andsrcset. - Lazy-load images below the fold and give every image width and height to avoid layout shifts.
- Delay chat, review and pop-up widgets until the user scrolls or interacts, where the app allows it.
- Limit fonts to one family in two weights, or use a system font stack.
- Move tracking pixels to Shopify's Customer Events where possible instead of theme code.
When the theme itself is the problem
Older, heavily customized themes often carry years of scripts and styles. Moving to a current Online Store 2.0 theme and rebuilding the key sections is sometimes cheaper than optimizing old code line by line. It is worth comparing both options before starting.
What access a developer needs
Speed work needs collaborator access with permission to edit themes and view apps, which the store owner grants from the admin without sharing a password. Work happens on a duplicate theme, so the live store is not affected until the owner approves.
Frequently asked questions
Can a Shopify store score 100 on PageSpeed?
Rarely on mobile, and that is not the goal. Aim for good Core Web Vitals (LCP under 2.5 s, INP under 200 ms, CLS under 0.1) for real users.
Do speed-booster apps help?
Be careful. Some only hide the problem from lab tests or add their own script. Removing weight is more reliable than adding another app.
Will speed work affect my sales or apps?
Not if it is done on a duplicate theme and each change is checked: add to cart, checkout, reviews and tracking should work the same after publishing.
Check your own site in about a minute
The free analysis measures the points from this guide on your URL and shows what to fix first.