Best practices for optimal performance
We're having a lot of customers trying their website using the Google PageSpeed Insights tool, and coming back to us with scores that are not 90 or more.
The advices given by this tool are indeed very valuable, and we use them during all our theme development to optimize properly our themes. However, you should not care too much about this.
The reason is that to achieve perfect score, you should be in a completely controlled environment to have a complete control over your website. This is not the case in Shopify by nature: Shopify adds a lot of small scripts that are used for tracking, analytics, conversions measurements... you may also use some apps that bring their own scripts to the website.
Those tools are very likely very valuable to you, and while they may introduce a small performance penalty (that Google will report in their tool), the advantages of having those tools is much more than achieving a very good score in Google PageSpeed (don't worry, no customer will refuse to buy your products because you're not having 95 in the tool).
This does not mean that you should not care of performance: it's indeed very important. But we already took care of that, and we often release new versions of our theme that are more and more optimized and take advantage of newest technologies.
However, here are some advices that you should definitely consider:
- Always optimize your images. We can't emphasize enough on this! So many people are uploading very heavy images. Images are, 99% of the time, the only performance issue that you should care about. To do that, make sure that you upload your images before uploading them to Shopify (you can use this tool for JPG images, or this one for PNG images). If you already have a lot of images uploaded in your store, you could try an app such as Crush Pics.
- If not absolutely required, try to avoid the "Map" section. This section uses the Google Map API and, while convenient and widely used by everyone, it is very performance intensive (they require a lot of scripts to be loaded to do the work). You could for instance move your maps into a content page instead of home page, where the performance is not critical.