If you've got a slow website, it really is a cause for concern because not only will Google penalize you for it, so will your customers!
The longer a page takes to load, the more customers will leave your site. It's reported that around 40% of customers will leave after around 3 seconds, and if you're running ads, that's 40 cents out of every dollar spent on ads gone.
Not only this, but users will form an opinion of your site within 0.05 seconds!
So let's look at some ways that you can get more speed out of your website.
Optimizing Images
Assets are a big deal for websites, when a site is littered with images or is using a large amount of them, then it's important to make sure those images aren't too large.
Let's say you find a cool stock photo and download it, so you can upload it to your site. That image isn't compressed, it'll be huge in resolution and somewhere around 5 to 20 megabytes in size. That is a monstrous amount of data.
First, you should get an image resizing app like Pixelmator or Photoshop, then focus on resizing those images down to a more acceptable width, like 1440px in with or 1928px.
Then you should export them to a format like webp, which will dramatically reduce the size of the image.
Adopting this approach is a good first step to reducing the amount of data on a page.
So if you're wondering why your website is so slow, this can be a good place to start.
Reducing Requests To Your Site
Most modern web frameworks will usually optimize this kind of thing already, but the majority of the web isn't using these kind of frameworks.
So what do we mean by this? Well, your site is a combination of many files that need to get downloaded by the end user.
These include stylesheets (CSS), which are your site's styles, what makes it look pretty. Then there is the document itself (HTML), followed by scripts (JavaScript), that helps make your site interactive.
Sometimes you might add libraries from other places across the web, like Google Analytics, Hotjar or a cool slider library, or some fonts.
All of these files add up, and each one of your users will need to download these files before they can get the best out of your site.
Keeping external scripts to a minimum, and only making sure users are downloading what is necessary, can help make a slow website run faster.
Set Up A Content Delivery Network (CDN)
So what is a Content Delivery Network? You might have heard of one of these, but have no idea what it actually means, only that it can help speed up your website.
A Content Delivery Network basically works like a warehouse, that stores data. When someone visits your website, it will go to the warehouse closer to them, and deliver the data from that location.
That means, if your site is on a server in New York, but you are using a CDN, then your site assets will be delivered from Los Angeles if a customer is viewing from Los Angeles. Or from Florida if your customer is visiting from Florida.
Why is this helpful? Because that stuff takes time to download, and by shortening the distance, you make it quicker.
The other benefit is that these servers are often quicker than your server alone, and they store cached copies of your files (it doesn't have to re-fetch them every time), which again helps speed things up, and reduces the load on your server.
Set Up A Caching Strategy
Okay, what's caching you ask?
It works like this -- whenever a customer visits your site, their request goes to your server, and your server then runs a bunch of code to build the page. Once the page is built, it gets sent to the customer to view.
The problem is, though, it takes time for your server to build that page, and as you get more and more traffic, it can potentially bring your site down with it just building pages all the time.
All of this building takes up valuable server resources and is wasteful.
Caching, on the other hand, goes to the server, gets a built version of the page, and then keeps a copy of it.
Whenever a visitor goes to the site, they'll get the copy, which means it will download much quicker than before.
A lot of specialized hosting providers will have caching built in, but depending on how complex your site is, this could require the use of a developer to help set up the correct strategy.
If you've got a WordPress site, look to a provider like Kinsta, which has caching built in.
Or, if you're looking for something really fast, with caching and a content delivery network built in, take a look at some of our insane offerings.
Optimizing Your Script and Style Files
This step is actually essential for your website, and should be done at all costs, as script and style files can take up large resources when downloaded, and they also will slow down your users' experience.
How do you do this?
Well, you can manually do it, by copying in your Javascript files here and minifying them, or going here and minifying your css.
But why would you want to do that? It leaves room for errors, and every time you make a change you have to keep doing this.
If you have a developer, they should have this built into their tool chain every time they deploy code out to you.
If you don't have a developer, you can look to plugins that will help compress your assets for you.
Upgrade Your Web Hosting
A lot of the time, especially if you're offering content out mostly to users who won't be logged in, the biggest bang for your buck will be implementing caching and a CDN. This should give you a lot of flexibility eventually.
Eventually, though, if you have many users logging in or some heavy computation going on, scaling up your server can be the next logical step.
For our sites, we use the chemistry of 3 technologies; Sanity CMS, SvelteKit and Vercel, to handle caching, CDN and auto-scaling, which handles all of this stuff without the headache.
Set Up Lazy Loading
Lazy loading means that assets don't get loaded until they need to be. Let's say you scroll down to half of the page only, what's the point of loading everything else beneath it? That would just take up resources.
How about if images and assets would only load when a user scrolls to them? That's what lazy loading does.
There are quite a few ways you can implement lazy loading, by looking to your developer or by installing a plugin.
Keep An Eye On Performance
A really great tool that you can use to check your site is Google's Page Speed Insights. This tool will take a URL and give you a health report of your page, including things you can do to improve performance.
You can also look to tools like Ahrefs, which will run regular site audits to let you know which pages are performing poorly, so you can focus on improving them.