Next (https://www.next.co.uk/) is a popular British retailer of apparel, footwear, and home products. They have over 500 stores in the UK, and around 200 outside.
A speed report from Lighthouse paints a rather grim picture and scores Next website 15.9 seconds on the speed index (SI), and 26% on Performance.
There are many reasons why the Next website is so slow. This includes:
- Render-blocking resources
- Bloated JavaScript files
- Old Image formats
- Unused CSS files
- Large DOM size
Let’s look at each of these reasons and identify potential ways that [name] can make their website load faster.
But before we do that, a quick word about our website CWVIQ.com – we are a free email alert service that sends out notification any time your website is loading very slowly (often due to heavy traffic, or poor scripts). If you have a website, consider setting up an alert so that you can fix issues before they become major.
Render-blocking resources
There are scripts on the Next website that need to run first before they let the rest of the code be executed. The render-blocking resources issue can shave off around 5.42 seconds from the loading time for the Next website.
How do you avoid this? If the script is not critical, avoid having it in the <head> tag of your HTML code. But if you do need to have it there for some reason, make sure to include the defer or async attribute so that they do not block the loading of other resources.
Bloated JavaScript files
Next uses a lot of JavaScript to run the website. However, loading them all from one source could slow up the performance of the website. Next can avoid this by splitting the code into smaller files. This way, you only load files that are necessary.
The Next website can be as much as 3.45 seconds faster by adopting this technique.
Old Image formats
The Next website uses a lot of JPG and PNG files that are considered outdated and heavy for modern web use. Replacing them with WebP and AVIF files can save as much as 3.15 seconds from the page loading time.
Unused CSS files
Next uses CSS files to load the styling elements for the website. However, this file contains a lot of unused scripts that can be slowing down page loading by as much as 1.20 seconds. Code splitting may help avoid this issue.
Large DOM size
The Next website takes close to 11.8 seconds to evaluate all the scripts, parse them, compile, and render them. This can be minimized by minimizing the main-thread work.
They may also look at reducing the number of nodes in the DOM. In simpler terms, you need to make sure that the main HTML code is smaller and has fewer nodes. I have explained this in greater detail in this article about DOMContentLoaded.
Anand Srinivasan is the founder of CWVIQ, and has been in the internet media space for over 15 years. He has previously served as the AVP of Products and Head of Business at popular media portals. He has worked with several SaaS and enterprise businesses as an external consultant for their SEO marketing campaigns.