Performance
Shopify speed and Core Web Vitals optimisation
I measure the store with real-user data, not just Lighthouse, and fix what actually costs seconds: app scripts nobody uses any more, unsized images, and theme JavaScript that blocks interaction.
Measure first, and measure what counts
Lighthouse is useful for comparing before and after under identical conditions. What decides your ranking is field data from real users: a store can score 95 in Lighthouse and still fail Core Web Vitals if 70% of its visits arrive on a phone with a poor connection.
So the audit starts with the real data and with knowing where your visits come from. Optimising desktop on a store whose traffic is 80% mobile is wasted work.
The order I fix in
- Ghost apps. The app is removed from the dashboard and its script keeps loading. It is the first thing I look at and there are almost always two or three. It is also the most profitable fix: removing weight carries no design risk.
- Images. Declared dimensions, modern formats, the main one loaded early and outside any carousel that needs JavaScript to paint its first frame.
- Theme JavaScript. Usually the cart: rebuilding it by hand on every change when you can ask Shopify for the rendered section instead.
- Expensive Liquid. Nested loops over large collections. The fix is almost always moving the calculation into a metafield.
What I deliver
The before and after measured with the same method, the list of what was changed and why, and what I did not touch because the risk was not worth it. On the code page you can see this site’s own numbers, measured against the deployed site rather than locally.