Why is your website slow?
Ideally you should be able to download the HTML file of your web pages in under 400 ms.
With our monitoring tool WebyMon we measure this value on tens of thousands of websites. And in the majority of our tests the download speed of these files is much slower than its supposed to be.
With this post I'd like to call your attention to a few errors that could lead to insufficient download speeds and give you a of couple tips on what you can do if your website also has this problem.
In most cases websites serve visitors sluggishly for two reasons:
- Their CMS is having trouble with constructing their web pages.
- Their server responds to requests slowly.
In the following paragraphs I'm going to explore both of these scenarios in detail and show you what could go wrong in each case.
You are probably well aware of your website's speed, but if you're not you can easily check it with our app.
If you register here, besides the download speeds, we will also start monitoring the availability of your most important pages and notify you if any of them becomes slow or unavailable.
Slowdowns caused by Content Management Systems
If your CMS is responsible for your poor download speeds, the problems usually originate from one of the following flaws:
- It creates overly large HTML files
- It contains programming errors
- It generates web pages in an overly complicated manner
- It builds up the database connections slowly.
Let's have a look at each of them.
Overly large HTML files
It's not hard to see that if you'd like to download an HTML file and another one is 10 times larger than the original with the same type of internet connection the larger file is going to arrive slower. About 10 times slower.
If your site is 10,000 bytes long it's going to load much faster than if it was 150,000 bytes long.
In most cases, very large HTML files contain only a small amount of useful characters. These are the types of files that could kill your download speeds and in some instances make your site almost completely useless on mobile devices.
With WebyMon, besides the download speeds, you can also measure the HTML file size of your most important web pages and compare these metrics to the similar values of your competitors.
If you measure this value, and it turns out, that most of your HTML files are under 70 kilobytes, you've got nothing to worry about.
If not, then you'll need to reduce the size of these files in order to speed up your site.
Some of the most popular Content Management Systems often create needlessly large HTML files. It's a common problem. What you'll need to do if you encounter this problem is to eliminate every character on your web pages that are not necessary.
My previous post, that you can find here contains several tips on exactly how you can do this and achieve the appropriate number of characters in your files.
Programming errors, in most cases, don't affect download speeds directly, but they could have a huge impact on how fast web pages appear in browsers.
If your site contains many HTML errors the browsers will have a hard time interpreting its source code and its pages will appear slower on your visitors' devices.
In rare cases very serious programming errors can completely prevent a site from appearing on computers or mobile devices or make it materialize only partially.
You can easily test the number of HTML errors in your source code with wAudio. It's a free tool, that you can immediately start to use if you register on the following page: https://secure.waudito.com
Alternatively, you can also examine the number of errors with the W3C team validator, which is available here: http://validator.w3.org/
To eliminate the chance of a slowdown due to programming mistakes, try to reduce to zero the number of HTML errors that this tool could reveal.
Generating web pages in an overcomplicated manner
During technical SEO audits we often find that the developers overcomplicate page construction and the creation of URL structures.
These problems could significantly reduce the speed of information retrieval from databases. Creating responsive HTML files can make things worse and slow down this process even more.
As a consequence in some cases it could take a whole second for the web server to find out what it needs to display and this will delay the creation of the HTML page and the transfer of the CSS, JS and image files for far too long.
In the end the pages of the site will appear so slowly that many of its visitors will lose their patience and start looking for answers or a product elsewhere.
If you'd like to avoid losing visitors due to your site's slowness, as I advised earlier, you should aim for a 0.4-second long download speed.
If you have a very complex e-commerce site, it's possible that you won't be able to achieve this value on every page.
But even then, you can still keep your download speeds under one second, which will most likely help you avoid most of the losses.
Slow database connections
Even if your CMS is well written, and it doesn't have any of the flaws that I've mentioned, if it frequently has to connect to a database and building up this connection takes a long time, your site is going to be slow.
This often happens when the server's setting are inappropriate, and of course, an overload can also slow down the connections.
In case your CMS generates static HTML files, these issues most likely won't affect your site.
Unfortunately, 90 percent of the Content Management Systems don't generate static files and they connect to the database every time they need to display new content.
Just think about this for a while:
A product's price, availability, colors, shipping fees and different add-ons are all stored in the database, but it responds to the requests with a 0.1-second long delay.
How long do you think it is going to take for the product page to appear? Will the visitors wait for this page to load or will they leave and shop for the same product on another site?
If you'd like to avoid speed losses because of slow database connections I advise you to choose a CMS that uses static files only. If for some reason it is not possible, choose one that reduces the number of requests from the database with some kind of caching technique.
Slowdowns caused by server issues
Web servers usually respond to requests with a less than ideal speed due to one of the following reasons:
- Too many websites are hosted on them.
- Their backup priority settings are not optimal.
- Their resources or the distribution of these resources are not in line with the websites' requirements.
- Their bandwidth is low.
If your CMS is working properly, but your download speeds are slow you should examine these issues as well.
Too many websites
The hosting service providers often sell more server space to website owners then what their servers are capable of handling.
So for example if a server can host 50 websites with an acceptable speed they sell its resources for 100 websites hoping that the site owners wouldn't notice the difference.
While the hosting service providers can double their profit this way they cause serious losses for the website owners.
As site speed is an important ranking factor, the owners of these slow sites will only attract a very small number of visitors from search engines.
And if they advertise their products the efficiency of their search ads will also be much lower due to the speed issues.
While currently I can't recommend a service that can tell you how many other sites are hosted on the same server, as yours, we are planning to create a web application for this task.
Register here, if you think that it could help you and we will notify you as soon as it is available.
Creating backup copies with high priority
Eighty percent of the websites that we monitor slow down at dawn when their server is creating backup copies. A few of them become unavailable at this time.
Even though these web servers are working, but they use their resources on creating copies, instead of serving the visitors.
If you'd like to avoid situations like this, make sure that your servers priority setting are optimal.
Incorrect resource allocation
You need to choose a server based on the type of website that you will run.
A site that collects data from the web or contains a large number of blog posts has very different requirements than an image heavy site or one that consists of short videos.
If you own a website that is unusual in some ways consult an expert before choosing and setting up a server. You can save yourself from a lot of trouble by running your site on an appropriate device with the proper resource allocations.
Internet service providers sell a large amount of their upload capacity for server owners since servers generally send more data than they receive. The majority of their download capacity, on the other hand, is sold for home internet users, as they tend to download more files than they upload. This is the reason why upload speeds are so low in most of the home internet plans.
If a server has a low bandwidth then it's either going to respond to requests slowly or it is going to forget about some of the requests. This situation is like when 50 people try to enter a room at once. Two of them are going to enter the room and the rest will "bounce" off the walls.
If another site on the server that you also use streams sex videos then there's a high chance that it is going to eat your bandwidth and your website won't be able to serve your visitors. Besides the IP address of your site could also get blacklisted because of the shared server.
If your site is hosted on a shared server it's better to make sure that it has sufficient upload speed and your neighbors are not using a too high amount of it regularly.
I hope I could help you find out more about the reasons of slow download speeds. If you'd like to read more posts like this or feel that our website optimization tips could help you, don't forget to sign up for our newsletter.