I'm old enough to remember when the internet was 'new'.
Back when everybody had 56kb/s modems, the anticipation of this newfangled thing called 'broadband internet' was exciting. No longer would JPEGs take upwards of a minute to load! You wouldn't have to wait an hour for a movie trailer to download so you could watch it! And can you imagine how fast websites would load?
Some twenty years later, it's pleasing to see that most of these hopes did indeed come true. Today, I can watch a three-hour movie in full HD on Netflix without waiting more than a few seconds for anything to download. Video uploading and downloading have become so fast that popular apps can now specialise in frivolous and throwaway clips (Vine, TikTok, etc) - and nobody thinks anything of it.
While this is true, it's also still the case that a lot of actual websites are pretty sluggish to use. Once you're away from the now-familiar environments of social media platforms and browsing the wider web, you'll likely get stuck waiting upwards of seven or eight seconds for something straightforward to load.
In 2017, Google estimated that the average mobile page load time in the UK was 8.9 seconds - a shameful metric when you consider that this whitepaper from April 1999 cited a mere 2.98 seconds as the average page load time using a 56kb/s modem.
Most of the time, this passes entirely unnoticed. We've all come to sort of expect and accept that that's how long websites take to load - but a moment's thought will tell you that we really shouldn't.
How can it possibly take longer to load somebody's blog than it does to start streaming the new Scorsese movie in 1080p? Here in the UK, the average internet download speed is over 16MB/s (which is pretty sluggish by international standards, by the way) - surely this ought to be sufficient to pull down a blog post and a few JPEGs in under five seconds?
So where's the problem?
Honestly, I think the biggest hurdle is that most of the people making websites don't give a shit.
In much the same way that even with our modern hyper-powered laptops and computers, Microsoft Word still takes upwards of 30 seconds to load, the problem isn't that the technology isn't good enough - it absolutely is. The issue is that we aren't making good enough use of it.
Word has always taken ages to load. We expect it to. And so nobody at Microsoft is at all concerned that the software has become a feature-creep-riddled piece of crap that ought to perform better than it did twenty years ago instead of just the same. The increase in computing power simply allows them more room for pointless additions and bloat, instead of supercharging a core handful of features.
By the same token, a kind of feature creep has befallen almost every site on the internet. Because we have more bandwidth, we can add all kinds of stuff and still have the site take about as long to load - and so every modern site comes with a litany of resource calls and CMS scaffolding to make it all work.
This by itself isn't the end of the world. The real, insidious problem is that because everybody knows that the internet is fast now, the vast majority of people don't bother to optimise their images any more.
You might be thinking, 'who on Earth doesn't know that you have to resize images for the web?'. I'd be right there with you, except that I know for a fact that very large numbers of people - many of them professional web developers - don't bother to do this.
My day job involves, among other things, fixing up other people's websites - and I've seen some horror stories. One memorable site I worked on was pulling down 30MBs' worth of images for a single page, on mobile - where I would expect anything north of 5MB to be excessive. They weren't even displayed very large on the page.
That was a notably bad example, but I wish I could tell you that I was entirely surprised. I see 20MB page loads with depressing frequency.
The problem is that we live in a world where
- everybody's smartphone takes awesome, enormous, sexy images and
- nobody ever worries about whether their internet can handle them.
Why should you care about your site speed?
For one thing, having a slow site almost certainly costs you traffic and conversions.
Google has said that according to their studies, some 53% of mobile users will abandon a site that takes longer than three seconds to deliver the goods; meanwhile, the BBC reports that every additional second their site takes to load costs them 10% of their readership. Amazon reckons that making their site one second slower would lose them sales to the tune of $1.6 billion a year - and so on.
There are many more studies than these. I'll spare you the repetition, but the point is that you shouldn't kid yourself if you think that your slow website isn't causing otherwise interested readers to bail.
Secondly, it will affect your search engine rankings. Page loading speed is a ranking factor for Google and other search engines, particularly on your mobile site. All other things being equal, if a competitor's site of otherwise equivalent value loads more quickly than yours, they'll likely outrank you.
A third reason is that having a slow website gives your visitors a pretty poor user experience. It's hard for people to feel like clicking around and exploring if everything takes ages, and anybody who didn't bounce when your site took ages to load in the first instance is likely to eventually become cheesed off with your site's crapness in the long run.
And the fourth and final reason - the one that sat front and centre in my mind as I prepared to write this post - is that it's disappointing.
I can't believe it's not better.
Imagine a world where every website would load almost instantaneously - wouldn't that be nice? Isn't that the world we were supposed to be in already, based on what we imagined twenty years ago? The technology we need is already there. All that's missing is the inclination.
Some types of websites will always take longer to load, and that's fair enough. If I'm looking at a filmmaker's portfolio site and they're using a lot of hi-res images and video embeds, then that's okay - that's necessary for the type of website they need to make. I'm not advocating some sort of arbitrary data rationing.
I'm just saying there's no reason for a normal blog post with a couple of photos to take nearly nine seconds to load.
So how do we fix this?
This is, I think, a problem of education.
Somewhere along the line, we've all forgotten how to use the internet properly. It's not an issue of technology - it's a matter of getting the people who use it to use it well.
I know I'm fighting a losing battle - Google tried to campaign for 'a faster Internet' back in 2009, a mission that has evidently gained little traction in the intervening decade. If the company that owns and runs most of the modern internet can't seem to influence the matter, I'm sure I'm probably wasting my time.
Nevertheless, they say you should 'be the change you want to see in the world', and I can at least make damned sure my little corner of the web loads nice and fast. If I'm lucky, maybe I can inspire you to update yours?
Here are my go-to tips for solving the most common culprits of slow page loading times:
Optimise your images.95% of the time when I fix somebody's site speed, I find that the biggest issue was that their images hadn't been scaled or compressed properly. If you don't do anything else I recommend, please run your images through tinyjpg.com before you upload them - it takes a matter of seconds, but it will transform your website's load times. Likewise, don't use images that are larger in dimension than they need to be - if it's displayed at 500x500 on the page, uploading a 2000x2000 file is pure wastefulness.
Don't use a big old bloated CMS if you're not sure you need to.If you've got at least rudimentary HTML knowledge, you don't need to use Wordpress to power a basic brochure site. Somehow it's become a sort of arbitrary standard that every website has to be powered by something, and I'm not entirely sure why. I'm not saying that you shouldn't use a third-party backend if you think you need to - it's fair enough if you do - but I do think that sometimes people tend to use Wordpress and other systems where they aren't needed. In some cases, it's overkill.
Try to use as few resource calls as possible.Most modern websites are a smorgasbord of external assets with a dozen stylesheets for different things, JQuery, scripts, FontAwesome, Google Fonts, Google Analytics, Bootstrap, you name it. If you need them, you need them - but be aware that every single one is an extra thing the browser has to ask the server to send down the pipe.
Use PageSpeed Insights and GTMetrix.These automated free tools are good at scanning your website and identifying potential speed problems, although in both cases their recommendations can be taken with a healthy dose of scepticism (I've seen GTMetrix give an F speed score to a site that loaded in under a second). Google's tool PageSpeed Insights, on the other hand, has a mysterious tendency to encourage the use of Google's proprietary formats AMP and WebP to solve optimisation problems - please disregard these suggestions as bad ideas that it would be beyond the scope of this post to explain. Nevertheless, both are great for providing you with things to think about and giving you some measure of whether you're on the right track.
- A total load time of 3-5 seconds, or under
- A total file size of no more than 5MB
- Fewer than 100 resource calls
Optimising a bigger picture
Today, we all mostly think of the internet as being primarily a conduit for those few services we use the most - Google, Facebook, Twitter, Instagram, Amazon, YouTube, and the rest.
But outside of those monolithic corporate apps is the part that everybody owns - the small business pages and the little artists' portfolio sites and the so-called blogosphere. Maybe I'm nuts, but I think it's vital that there continues to be a wider internet outside of these services; an internet that's fun to use. And we mustn't hand over the responsibility for making the web awesome to people like Mark Zuckerberg and Jeff Bezos.
It's nice to remember that the internet also belongs to you and me, not just tech giants and CEOs. I also think it's really important that we make the best of the technology at our disposal, and keep our parts of the garden well-tended.