Lucy, the fact that your website is already at almost 90% for desktop and in the 70's for mobile is awesome. I use Google's speed test just about every day on websites all over the place and on many different platforms and rarely do I see scores that high. They are only ever even close to there if the merchant has hired a company (or done the work themselves if they know how) specifically to improve that. So good job.
That said, there are a few easy-ish changes you can make, and some that would require a lot of work (or would not be worth it) in order to change.
Easiest first:
blitzer/jquery-ui.cssThe CSS file that is part of your search module can be moved to the bottom of the page (you can talk with your host about how to do this). This file is only used for formatting the search suggestions for a customer typing in the search bar. It is uncommon for customers to start typing in a search field before a page is done loading, so this can easily be loaded after the rest of the page loads.
jquery/json2.min.jsThe JSON file is also a small file, and its main use is for real-time inventory display. If you are not displaying the "in-stock" "out of stock" notifications on product pages, you can likely remove this without any issue. To remove it you will need to first add an include file called "Head" into ShopSite (Merchandising > Custom Templates > Includes). In that file you will want to place the following code:
- Code: Select all
<script type="text/javascript" src="//www.pharmacy-nz.com/media/en-NZ/javascript/jquery/jquery.js"></script>
<script type="text/javascript">var ss_jQuery = jQuery.noConflict(true);</script>
</head>
Next, in your page and product templates (Bootstrap-Page.sst and Bootstrap-Tabs.sst), you will want to replace
</head> with
[-- INCLUDE Head --]. Then regenerate (Utilities > Publish > Regenerate).
Other 3 CSS filesYou could combine these into a single CSS file. OR (what would be better but more time consuming) would be to leave them as just 2 files, taking the CSS for anything in the header, navigation, carousel and top of the page on category and more information pages, and placing that into the bootstrap-habits.css file. Then putting everything else in the bootstrap.min.css file and moving that to the bottom of the page. A word of caution here, make sure you don't mess up any responsive design aspects, so check your site on multiple devices when you do this. CSS is often in a particular order so that is behaves a particular on various screen sizes.
Other 2 JavaScript filesYou don't want to move the jQuery.js file, even though if you do, this will produce the biggest impact for the page speed. This file is used for many elements on the page including the navigation, search module, cross sell items, carousel on the home page, product image zoom, etc. This is such a widely used file you want to leave it in a place it can be used widely
.
The bootstrap-ss.js file could be moved, but would require re-writing some elements (such as the navigation feature) so that even though this file is loaded after the page loads, the navigation still looks correct on mobile and desktop (I do this with a cookie or localStorage, or even just setting the breaking point with CSS since you know your own store's navigation breaking point).
Hope that helps.