Why Is Screwfix Website So Slow? Here Are The Reasons

Screwfix is one of the largest retailers of trade tools and hardware in the United Kingdom. It is part of Kingfisher PLC which owns over 1400 stores and employs over 80,000 people in over 10 countries

A speed report from Lighthouse paints a rather grim picture and scores Screwfix website 8.6 seconds on the speed index (SI), and 57 on Performance.

There are many reasons why the Screwfix website is so slow. This includes:

  • Bloated JavaScript files
  • Unused CSS files
  • Slow server
  • Large DOM size

Let’s look at each of these reasons and identify potential ways that Screwfix can make their website load faster.

But before we do that, a quick word about our website - 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. 

Bloated JavaScript files

Screwfix uses a lot of JavaScript to run the website. However, loading them all from one source could slow up the performance of the website. Screwfix can avoid this by splitting the code into smaller files. This way, you only load files that are necessary.

The Screwfix website can be as much as 5.7 seconds faster by adopting this technique.

Unused CSS files

Screwfix 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 0.15 seconds. Code splitting may help avoid this issue.

Slow server

According to the Lighthouse report, a slow server may be contributing to nearly 1.01 seconds of additional loading time. In addition to upgrading the server hardware and database systems, Screwfix should also look into the server’s application logic to prepare pages faster.

Large DOM size

The Screwfix website takes close to 2.4 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.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top