Clicking on a website link seems like such a simple thing.
But behind the scenes, hundreds of requests are instantly pinged around the world to bring you the images and text. There’s a lot going on in those few short seconds, and there’s a lot that can go wrong.
Things can start to slow down, taking your website with it.
If you’ve been keeping up with my current series on website load speed, you’ll know that slow websites are bad news! In fact, a lazy site could cost you thousands of visitors and conversions.
With that in mind, I’m going behind the scenes to see what’s going on. Let’s zoom in those few seconds, and see what’s holding things up!
1. Server performance
Your website loads from the ground up. When someone clicks on your site, it’s like turning the key in the engine of a car. Your visitor is asking your engine to start up.
The very first thing that happens is this: Your browser (Firefox, Safari, etc) sends a ping to your server. It’s asking for all the information and data, so it can load up your website.
If your server’s performance is poor, it will take longer to respond. No matter how quick everything else is, a slow server will always give you a slow start.
Poor server performance is almost always down to your web host. A cheap web host will usually give you a shared server, which means you’re sharing space and resources with countless other websites. If your site is slow, it’s because you’re in a queue with lots of other sites!
2. Server location
If you’ve ever made a long-distance call, you know that it takes longer to make the connection. That’s because the information has to physically travel to get there. The data goes through cables, and it’s transmitted over satellites.
A similar thing happens when you click on a website. When you click on a website, you send a message to the server. You ask it to load.
Let’s say your server is based in America. When a Japanese visitor clicks on your website, the information has to travel all the way across the Pacific ocean. It has to request access to the server. Then, it has to travel all the way back across the ocean to load it on their screen.
Data is fast. But it’s not magic!
3. Lots of traffic
If you’re experiencing a lot of traffic, it will eventually cause your website to slow down.
At its current level, your web server can only serve a certain number of people at once. It’s a bit like queuing in a shop. The more people come into the shop, the slower they get served.
Not only that, but the shop then needs to drag additional resources in to help. They have to call extra staff from the back to help serve everyone. But now the backend stuff is slowing down too.
The same thing happens on your website. Your server will try to manage all the extra traffic, but it will slow down somewhere.
4. Extra large images (and complex file format)
Do you remember the old days of dial-up internet? A large image could take up to a minute to load, one small bit at a time! It was agonizing!
Things have improved since broadband, but the general rule still applies.
After you ping the server, it will start carrying each bit of the website to your browser screen. The server will carry content, text, and images. This is like our shopkeeper bringing your stock out of the back.
When you think of it like this, it’s simple. Large, heavy items are going to take longer to bring out.
A large image is going to take a long time to load up. If you’ve got a ton of large images on your website, you’re adding extra load time for every picture.
The file format is also important here. Browsers can load JPG, PNG, and GIF images nice and quickly. But, heavy formats like TIFF and BMP are going to eat huge chunks into your load time. Avoid them!
5. Code density
You may be sensing a theme here already. Large, dense elements will slow down your website. One of the densest elements of your site is the code that creates it.
For example, there are 60 million lines of code on Facebook alone.
(That’s more than the Hadron Collider)
((But still less than Google!)).
6. Text graphics
A lot of websites still use images to display text.
You might be using an image to display your logo, for example. Or you might have an explainer text as part of a large image on your homepage.
As you can imagine, graphics like these take a lot longer to load compared to a simple font alternative.
7. Too many file requests (RTTs)
I’ve already explained how big, heavy elements take much longer to load. Well, it’s not just about their size. It’s how many of them there are.
Your server can only handle a certain amount of requests per second.
Let’s say that your website uses 50 file requests every time it loads up. If 100 people all access your site at once, that means 5,000 file requests in one second. If you’re on a small server, that’s going to seriously slow things down.
Remember, there are only so many resources to serve up the files.
8. Too many plugins
That means more weight to carry, and more file requests. If you’re running a lot of plugins, it’s going to slow things down. Ask yourself which ones are absolutely necessary.
9. Unnecessary redirects
Imagine you ask for directions to the train station. Then you get there, and find out it’s closed down. It’s been moved to the other side of town, and now you’ve got to walk across the city.
Takes you ages, doesn’t it?
The same thing happens with redirects. It’s like loading a page twice. Unless you have a fantastic reason for doing it, avoid redirects on your site.
10. An outdated CMS
If you’re using WordPress, Drupal, or Wix to manage your website, you’ll notice a regular popup. It’s asking you to install updates or new versions of the software.
An update generally means they’ve ironed out any kinks and problems, particularly in regard to speed. Install the latest versions of all software and plugins to help load your site faster and more smoothly.
Thanks for reading! Stick with me, because next week I’m following up this post with an in-depth guide to fixing each of these problems. [Updated: 14 Lighting Tricks To Speed Up Your Website]
In fact I encourage to check out my eBook on the exact steps I took to get Bitcatcha.com loaded within 3 seconds.
Let me know if you have any questions about site speed in the comments below.