This article is aimed specifically at WordPress.org users to help speed up your WordPress website.
Website speed is super important in this day and age. If you’re running a business website then you want your site to be as fast as possible. This means you want it to load each page quickly and be responsive when a user clicks on a link or other interactive component.
In fact, speed is so important that Google will rank your site lower in search results if your site is slow to respond to users. Put another way, websites that load quickly are more ‘favoured’ by Google and they will be more likely to award your page(s) a higher ranking in search results.
So, what can you do as a business owner to get your WordPress website as fast as possible? This article delivers simple and actionable steps that you can take to improve WordPress performance.
Strap yourselves in!
> First Things First: Get Good Hosting
> Use Modern Server Software
> Use a Lightweight Theme
> Limit the Number of Plugins Wherever Possible
> Set up Website Caching
>> Without Caching (default)
>> With Caching
> Compress Images
> Optimise your Database
> Use a Content Delivery Network
How to Speed up Your WordPress Website
We’ve already touched on the fact that you want your website to be as fast as possible in terms of load time. While we love WordPress for many reasons (see Why We Use and Recommend WordPress), there are some disadvantages to WordPress when it comes to speed.
Actually, that’s incorrect to say. Speed isn’t a direct disadvantage of WordPress itself. Rather, it’s a tradeoff of using a content management system (CMS) that is designed and built to deliver dynamic content.
Put another way, WordPress is great at working with dynamic content (pages and content that might change frequently), but the tradeoff is that it can be a little slow unless you put effort into streamlining your WordPress setup.
First Things First: Get Good Hosting
Ensuring you’re using a quality hosting service is the easiest and most direct way to improve the performance of your WordPress website. If you’re using a massive multi-national hosting company you can almost guarantee that your website is hosted on a server that is absolutely crammed with other websites to the point that performance is impacted.
In the industry, this is referred to as shared hosting. This is when a hosting business will load multiple clients (sometimes thousands of clients) on a single server because it’s very cost-effective to do so.
Performance often suffers in these circumstances, because as soon as one website on that server receives a large spike in traffic, other websites will suffer a performance hit due to that busy website demanding more computer resources to accommodate the traffic spike.
To be fair, not all shared hosting is automatically bad. The real consideration is if the business in question intentionally balances out clients among servers and purposefully avoids overloading servers. Or, do they intentionally overload their servers in order to prioritise profit at the expense of website performance?
If you’re still seeking a quality host, we assure you that we do not overload our servers. We will never compromise the performance of your website by cramming too many clients onto the same server. We also offer optimised WordPress hosting, which is specifically designed to make your WordPress site really fast.
- Always purchase the best quality hosting you can afford.
Use Modern Server Software
In many ways, this is an extension of the previous point, because this aspect is very much tied to your hosting service.
There’s a lot of technical information and jargon that we could throw at you in relation to this topic, but we’ll cut all of that out and just get straight to the point.
The only real understanding you need for this section is that the software we’re mentioning below is specialised server-side software that’s dedicated entirely to website operations. The most modern versions always offer security and performance enhancements over previous versions, so it always makes sense to be running the latest software if possible.
- If you host allows, use PHP7.3 (though, be aware that upgrading from a previous version of PHP might break your site, research plugin and theme compatibility before upgrading).
- If your host allows, use a modern version of MariaDB (unless you have a specific reason to use MySQL).
- If your host allows, use HTTP2.
Use a Lightweight Theme
The beauty of WordPress is that there are thousands of premium themes available from amazing designers. The issue is that while a theme might be amazing in terms of visual design, the coding behind the scenes might be inefficient and bloated.
Authors of these themes usually aim to sell their theme to as many people as possible, and therefore they build in as many different functions they can think of that users would find appealing.
While it sounds great to have features X, Y and Z baked directly into the theme – it’s better from a performance perspective if you use a lightweight theme and extend the functionality you need via specific and well-chosen plugins.
- Spend time researching a theme before purchasing or installing – not all themes are created equal.
- When considering a theme to use, look at user reviews to get an idea of their experience. Keep an eye for positive comments surrounding performance, but also place a high emphasis on how responsive the theme developer/support is.
Limit the Number of Plugins Wherever Possible
This is great, but the downside is that there are a lot of poor-quality plugins and themes available that are made with inefficient and poor-quality coding.
Poor coding makes it hard for web servers to efficiently process the information, which leads to performance hits. It also opens exploitable loopholes in software that hackers can learn to exploit.
The general rule of thumb is that each addition of a plugin will cause a performance hit to your website. While this isn’t always strictly the case (well-coded plugins, for example, can run very efficiently), it’s always something you should keep in mind.
Only use plugins that are critical to the functioning of your website. If you’re installing a plugin, think to yourself “will this plugin actually add value to my website? Will it help to achieve my requirements?“
Never install a plugin that offers a whole bunch of features that you will never use (and therefore introduce a whole bunch of code your website will have to load even if it’s never used). Instead, seek out an alternative that just offers that one feature that you’re requiring.
Before installing a plugin or theme, seek out reviews and other opinions about the software. Red flags that suggest you should avoid the plugin or theme include comments around ‘code-bloat’ or other negative comments relating to the loss of speed or performance.
Another thing to look at is how successful a plugin or theme is within the community. Plugins that have hundreds of thousands of downloads are far more likely to (1) be more efficiently coded & better quality in general, be (2) less likely to introduce security flaws, and (3) far more likely to receive ongoing software updates and bug fixes.
- Limit the total number of plugins wherever possible.
- Disable and remove unused plugins and themes.
- Don’t install plugins or themes unless you’re sure that they will add good value/functionality to your site.
- Don’t install a plugin that offers a lot of features if you only intend to use one of those features, instead find an alternative plugin that is more specialised and provides just that feature you’re looking for.
- Spend time researching how well-received the software is within the WordPress community, and how well-supported it is regarding ongoing updates.
Enjoying this content? Give us some love!
Stalk us on the internet and keep in touch...
In order to achieve minification, we recommend installing Autoptimize. This is a great plugin that’s widely used and regularly updated. It helps improve performance by minifying and reducing the scripts and code behind your website.
- Install Autoptimize and configure to minify your code.
- Be aware that some caching plugins (discussed below) also offer code minification, be sure not to run two individual minification solutions as doing so may cause issues.
Set up Website Caching
Caching is very complex, but at the most basic level, it’s a way of preloading your web pages prior to visitors arriving. Let’s unpack this a little more so that you understand what’s happening.
Without Caching (default)
When a user attempt visits your WordPress site, their web browser asks your web server to find all the files and content needed to display the page that the user wants to see.
Ever dutiful, your server scuttles away and locates all of these files & content. Though, these files aren’t yet ready for human eyes. Everything is in code at the moment (PHP, HTML, CSS, etc), which give the server instructions on what things should look like and what content goes where.
Therefore, after locating what it needs, the server has to look at the instructions contained within the code, then interpret those instructions, and finally, send the results back to the user’s web browser. Once the browser has everything it needs, it displays the page on the screen.
So, what’s the problem? At face value, this seems like a great system, and it is. So, what’s the issue?
The issue is that the server has to constantly be looking for files/data and then constructing the page needed for an individual user.
Every single time a user attempts to visit any of your web pages, your server has to go away and work hard to build that exact page for that exact user.
This all takes time. Time for the server to (1) locate what it needs in order to construct the requested page, then (2) time to actually construct the page, and then (3) time to send this info back to the user’s web browser.
Consider a web server that receives hundreds, or thousands of simultaneous users, all asking for pages on your website. When this happens, your server will be under a lot of stress trying to deliver everything for all of these users as quickly as possible.
It’s the perfect way to run your server into the ground. An overwhelmed server will come to a grinding halt and slow right down (or even crash completely). Of course, this is a terrible experience for your users.
Furthermore, if your server is slow or of poor quality to begin with (think back to the first section about web host quality), even if you’re only receiving a few visitors at any on time they may experience a slow website.
Caching is a real saviour, here’s why…
Caching allows your web server to store a copy of the complete page so that next time a user needs to that specific page, the server can simply say “here you go, here’s a copy that I prepared earlier“.
When caching is enabled, the server will store a copy of any page it builds, so that next time there is no waiting for it to interpret data or construct the page. It can simply send the finished page straight back to the user.
This saves a massive amount of processing time, resulting in fewer server resources used and faster website loading for your visitors. That’s a massive win-win.
If you’re a WordPress beginner, we recommend installing WP Fastest Cache. We find this to be a great balance between user-friendliness and performance.
Note that WP Fastest Cache also includes options for code minification and therefore you may choose to use this instead of Autoptimize (discussed above).
For more advanced users, we recommend using WP Super Cache. This plugin is made by the same company that makes WordPress, so you know that the compatibility will be great. The drawback with this plugin has a lot of advanced options and can be tricky to set up correctly.
- Install a caching plugin and configure to meet your needs.
- Incorrectly configured caching can cause issues for your users, be sure to thoroughly test your site after implementing caching.
Websites usually contain a lot of images. Image files are often some of the largest types of files that a web server will have to deal with.
Keeping your image files as small as possible means there is fewer data to transfer to the end-user, resulting in pages that load faster for them.
To be clear, we’re talking about the file size of your images, not the actual dimension/resolution of the image (although higher resolution usually means a larger file size).
Fortunately, it’s easy to compress your images without experiencing a loss in image quality.
- Optimise your images using one of the plugins we recommend above.
Optimise your Database
WordPress relies heavily on a database. This is great because it allows the software to be very flexible and deal with dynamic content (content that changes often) very effectively.
The drawback is that, over time, the database can get messy and take longer to retrieve the information required.
Use a plugin such as WP-Optimize to clean up your database. Run a database optimisation more often (perhaps once a week) if you run a busy eCommerce site, and less often if you have a general information website.
- Optimise your database as required to keep it running optimally.
- WARNING: your database is critical to the functioning of your website, make sure you have a recent backup handy before you do any sort of changes.
Use a Content Delivery Network
If you’re living in Australia and attempt to visit a website that’s hosted in the USA, it’s going to take longer for that website to load on your device than for people living in the USA.
This is simply because of the significant physical distance between yourself and the web host.
A content delivery network (CDN) aims to address this issue by delivering your website content/files to your visitors using a server that is physically close to that user.
Being closer physically means that website data arrives at the user much faster, and therefore results in faster page load times.
This is how large companies such as Netflix and YouTube are able to deliver such high-quality videos seemingly instantaneously. They have an established and purpose-built CDN network set up, able to serve their videos to you from a server that’s physically close to you.
Our recommendation for small websites is to use a service such as Cloudflare (free plan available).
Even the free Cloudflare plan can have a significant improvement on your website load times. It gives you the ability to serve all of your images (JPEG/PNG/BMP), your CSS and JS files, from a server very close to your user.
It reduces the time it takes for those files to travel across the internet from your origin server to your user. Plus it comes with the benefit of additional website security too. It really is a great service!
- Sign up for a free Cloudflare plan.
- Warning: some technical knowledge required.
Final thoughts: we understand that many small businesses aren’t in a position to invest large amounts of money into specialist web administration. Following the actionable steps in this article helps every-day business owners improve the speed of their WordPress website.