What you can change on Shopify
On Shopify you don’t control the server, but you fully control the theme, apps and media, and that is where most of the weight comes from. Each fix below lists the metric it usually moves; check that metric in your test result to pick where to start.
- TBT
Remove apps you don’t use
Many apps inject JavaScript into every page. Uninstalling an app doesn’t always remove code it added to your theme, so check theme.liquid and snippets for leftovers after removing it.
- TBT
Prefer app blocks and app embeds
Apps built on Online Store 2.0 app blocks and embeds load their code through Shopify and are removed cleanly. Favour them over apps that ask you to paste code into your theme.
- LCP
Use Shopify’s image filters for sizing
Use the image_url filter with a width and image_tag (which outputs srcset) so the CDN serves each image at the right size and in WebP/AVIF where the browser supports it. Avoid uploading huge originals for small slots.
- LCP
Make the hero load first
Don’t lazy-load the first slide or hero image; add fetchpriority="high". Replace auto-rotating hero sliders with one strong image, since they load several large images and often delay LCP.
- TBT
Choose a lean theme
Shopify’s own free themes, such as Dawn, are built to be light. Heavily featured premium themes can add a lot of JavaScript. Test the theme demo before buying.
- All
Trim third-party widgets
Reviews, chat, upsell pop-ups, loyalty and tracking pixels add up. Keep the ones that earn money, and load chat on interaction.
- CLS
Reserve space for banners and reviews
Announcement bars, review stars and “buy now pay later” messages that appear late push content down. Give them a fixed height.
- FCP
Limit custom fonts
Use Shopify’s font library or system fonts, with one or two weights only.