Don’t you love the feeling you get right after setting up a fresh WordPress installation? The way it loads within the blink of an eye, unburdened by any content, plugins, or sidebar widgets? Pure bliss. So, why doesn’t it stay that way and why the need to learn to speed up WordPress?
Unfortunately, over time most WordPress sites will grow slower and slower as they accumulate bloat. Plugins, images, custom code—everything starts to eat up resources. If you are also one of those people who neglect basic site maintenance, soon it will feel like someone poured sand into the gears of your server.
I say enough with that! Time to reverse the trend.
In this guide, we will discuss 14 different ways to speed up a WordPress site that has grown sluggish. The techniques here range from basic to advanced. So don’t worry if something appears beyond your level of skill. Choose whatever you feel comfortable with and take it from there. After all, performing at leastsome of these tasks will be better than doing nothing at all.
You might be asking why you should care about page loading time in the first place. After all, can’t your visitors just wait for a bit longer? I mean, your site loads within a few seconds, shouldn’t that be enough? They are not thatpressed for time, are they?
Well, to answer your question, yes, they are actually.
As it turns out, the speed of your website is super important! Just one extra second of page load time can significantly lower your conversions, page views, and customer satisfaction. According to HubSpot, a one second delay can reduce conversions by 4.42% per second of slow-down.
That’s right, a single second! Who would have thought?
Since loading speed matters to your visitors, it is no surprise that search engines have jumped on the bandwagon. Site speed is by now a serious factor in determining where you land in the SERPs. Google has considered it as a ranking signal since 2010.
That is especially true in times where the Internet usage of mobile devices has overtaken that of desktop computers.
With mobile data connections being comparatively slow, having a site that loads fast is paramount! Couple that with the fact that Google now ranks your site based on its mobile version and you have even more reason to worry about your site speed.
So, what is it exactly that determines the interval between a visitor typing in your URL and seeing your breathtakingly excellent content? Knowing this is key in order to decide how to speed up your WordPress website. Let’s review a few key factors now.
The foundation for how quickly your site will appear on your visitors’ screens is the server it lies on, where that server is located, and your type of hosting plan.
There are different types of hosting environments that affect this. For example, on a shared server, your website resides on the same computer as a number of other sites and you all have to make do with the same limited amount of resources.
That means if one site is hogging 80 percent of the available RAM, processing power, and web traffic, all other sites have to share the remaining 20 percent. This naturally leads to speed bottlenecks.
On a virtual private server, your site will also have neighbors, however, usually fewer than on a shared server. In addition to that, each website gets their own dedicated portion of resources, which they can not exceed.
A dedicated server, finally, is one that is entirely yours. It houses only your website and there is no computing power to share. The single child’s dream.
Apart from the type of hosting environment, another factor for website speed is the technology the server uses. That means whether it runs the latest versions of HTML, PHP, and other basic technology that websites require to function.
Lastly, server location also matters. If your site is on a computer in the US, a visitor from the Philippines will have a different loading experience than one from a neighboring state – and vice versa.
The makeup of your website also matters for site speed, for example, whether you use a content management system like WordPress. Back in the day websites consisted of plain HTML because that is the language that browsers understand. To this day, static HTML sites will often load faster than those built with a CMS.
That is because when a browser requests a website based on WordPress, the browser essentially calls data from a PHP application that needs to access a MySQL database to generate the HTML code the browser can read.
It’s a bit of a roundabout and naturally somewhat slower way than working with HTML directly, as accessing the database and creating the code takes time.
Besides the CMS itself, everything that extends your website can also further slow it down. Anything you put on top, like scripts and other files, is additional code that needs to load, taking up additional time.
This factor can be exacerbated by bad coding practices. When using extension from inexperienced developers, you might unknowingly add some really bad code to your site that slows it to a crawl.
The final piece that determines how quickly a user gets to see your site is their own device. With modern web technologies tapping into client side computing, what someone uses to view your site plays a large role in how fast it will load.
Anyone who has ever tried to open 10+ browser tabs in Chrome on a computer with low RAM can attest that it can be a real challenge to your patience.
Unless you are in the habit of giving away free iPads (like the people who keep sending emails to my spam folder), there’s nothing you can do to influence this part. However, what you can do is try to build a site that meets the requirements to run as smoothly as possible even on slower machines.
That’s what we will get to now.
In our quest to shorten the time it takes for site visitors to see our awesome content, we will start off with building a solid foundation for fast surfing. After all, if your house is sinking into the ground, it doesn’t make much sense to clean the windows first.
Before going over how to speed up your WordPress site, the first step is to figure out if it’s even necessary and to know where you stand. Only if you know how fast your website currently is can you see if your changes have any effect.
We actually have an article on how to speed test your website that lays out the process in detail. It will tell you how to properly use speed testing tools like Google’s PageSpeed Insights, Pingdom, or GTmetrix so that you get meaningful results and also how to use them.
The speed testing tools will already give you some advice on how to further improve your website’s page loading time. Most likely, a lot of it will be along similar lines as to what you will find here.
One of the most significant steps you can take to speed up your WordPress site is signing up with a quality host. While there are a lot of cheap offers out there, hosting is one of those things where you mostly get what you pay for. Therefore the investment into quality is well worth it.
First and foremost that means you should avoid shared hosting. You never know what kind of sites you will have to share a hard drive with and it’s not worth the trouble.
Also, unless you know what you are doing or can hire someone who does, a dedicated server might be a bit overkill, especially for small to medium-sized sites.
Consequently, opting for a VPS is usually your best bet. It’s a nice middle ground between speed, comfort, and cost.
Another option is to go with managed hosting. That means opting for a host specialized in WordPress websites. Servers from vendors like WP Engine have been optimized to provide a good home for WordPress-based websites, including making sure they load as fast as possible.
As we have learned, the basic technology and software installed on your server is another main driver of page load time. Do you know if yours is running the latest version of PHP? If not, it’s worth finding out. Simply updating from an older to the latest version can more than double WordPress’ processing speed.
A quality host will take care of this by themselves and let you know when they are making updates to their architecture. However, that doesn’t mean you shouldn’t talk to them on your own accord.
Quick caveat:If you have really old code on your site, updating your core technology to the latest version might mess it up, so make sure you can reverse the changes if needed.
It goes without saying that you should always keep your website updated. That doesn’t only mean running the latest version of WordPress but also downloading and installing updates for your themes and plugins.
Newer versions of WordPress come with improvements to speed it up and security fixes. The team behind the platform is working diligently to constantly improve the code base. While speed itself is not always the main concern for this practice. keeping up with the update cycle will also address potential vulnerabilities and keep malicious software out. That stuff can really slow you down.
Therefore make sure you always update to the latest version as soon as it’s available. You can easily do so by going to the Dashboard > Updates page. If there’s a new version available, you’ll see a notice.
Just click the Update Now button, and WordPress will take care of the rest. However, before updating anything, always create a backup first.
In the same place, you can also update your themes and plugins. The options for that are just a bit further toward the bottom of the screen.
Alternatively, you can update them directly from the Themes or Plugins pages.
If you want more control over when and how updates are installed, you can use a plugin like Easy Updates Manager. This plugin gives you tons of options for configuring automatic updates.
For example, you can enable/disable all updates, or only allow certain types of updates (such as security fixes). You can also specify which themes and plugins should update automatically. Similar things are possible with WordPress’ native auto-update functionality.
There are some themes out there that have “all the features.” What I mean by that is that they offer options to change every little thing about your website down to the color of the second footer widget’s drop shadow.
While this is nice for inexperienced users who don’t know how to make these adjustments in the style sheet, it involves a lot of code. Code that has to load every time someone looks at your site. And, as you can imagine, that can bog things down considerably.
For that reason, working with a lightweight and lean theme or framework is key for keeping your website up to speed. There are a lot of quality vendors for that out there, such as StudioPress.
Just like WordPress will get weighed down by plugins, themes, and other extensions over time, the WordPress database is also prone to accumulate bloat if left on its own. The main culprits here are overhead and unused or unnecessary data.
Overhead is temporary disk space that will increase over time if it isn’t cleared out. Unused data are leftover tables from plugins that are no longer present, post revisions, and other dead weight.
An excellent tool to address this is the WP-Optimize plugin. With just a few clicks, it can take care of the issues mentioned above. Doing this on a regular basis can greatly help speed up your WordPress site.
For more on the topic, I have also written an article about database maintenance right here on Torque.
The key to taking action when your site is getting too slow is having the awareness that it’s happening. It’s hard to change what you are completely oblivious to.
However, not everyone can spend their day constantly refreshing their own websites with a stopwatch in hand. Therefore, a better idea is to set up a service that monitors your site and automatically sends reports when it is losing momentum. The aforementioned GTmetrix and Pingdom can both do this, however, only GTmetrix does it for free, at least for one website.
Alright, now that we have the basics covered and taken care of the background architecture, your site should already be well on its way to running like a well-oiled machine.
However, this was only the first step. Now it’s time we concentrate on those parts your visitors can actually see. You can do a lot in the front end of your website to speed up WordPress as well.
A server request happens any time your visitors’ browsers ask something from your server. This can be a style sheet, image, or Javascript file. The more server requests your site makes, the longer it takes for it to render. Consequently, you should keep requests to a minimum.
To find out where you could save on server requests, input your URL some of the speed testing tools mentioned above. They can give you a breakdown of requests and how long they take to compute.
Remember how we talked about the fact that WordPress generates an HTML version of your site every time someone requests to see it?
Well, instead of running through this process every single instance that happens, it is also possible to save a finished HTML copy of your site beforehand, which your visitors can download immediately.
This process is called caching and there are a number of plugins available for WordPress which can add this to your site. The most well-known of them are WP Super Cache and W3 Total Cache.
Another (and potentially faster) solution is server caching. However, you will have to talk to your host to implement it. Apart from that, some managed hosting providers like WP Engine also provide their own caching solutions out of the box.
Using a CDN basically means having copies of your site distributed across several servers in various locations. That way, every time someone wants to see it, they will receive the data from the location closest to them.
For example, if your site is hosted in the US and someone from Romania would like to browse it, they would download the files from a server hosted in Germany or some other European country instead of going through the cables buried under the Atlantic. Makes sense, doesn’t it?
However, even if you decide not to put your entire site into a CDN, you could also merely have them host those parts with long loading times, such as images. One solution for this is Photon, contained in Jetpack. Offloading just parts of your WordPress site can greatly help speed it up for your visitors.
If you opt to keep images on your own site, you might as well make sure they download as quickly as possible. How? By optimizing them.
For one, image compression can reduce file size without loss of quality, meaning the image won’t look any different to the human eye while taking up less data. A WordPress plugin that does this automatically is the aforementioned Smush. It can both reduce file size for existing media and anything that is uploaded to your site.
Another option is to optimize your images before uploading them. A popular website to do is TinyPNG/JPG. Other, downloadable options are ImageOptim (Mac) and RIOT (PC).
Part of that is also to use images only as large as you need. WordPress creates several versions of every image you upload to your site and you can control their sizes under Settings > Media.
This way you don’t have to use the full-screen, high-def 5MB photo for a thumbnail but can go with the necessary size. In addition, since version 4.4, WordPress comes with markup to automatically server smaller image sizes to devices with smaller screens.
Finally, if you use a lot of other media, such as videos or audio files, avoid uploading and delivering them from your own server. Not only do they take up a lot of space, which makes backing up your site difficult, they also put a heavy strain on your server resources.
So, what to do instead?
Upload them to third-party services such as YouTube or SoundCloud and then embed them in your content. Streaming platforms are optimized to deliver content much faster than your own server ever could, so save yourself the bandwidth. Especially since WordPress has such a wide support for automatic embeds.
So far everything was quite doable, wasn’t it? Even if you are not a developer, you should usually find a way to put the above into action.
What follows are three more ideas to decrease page load time which might require more advanced knowledge. However, if you feel up for it, don’t hesitate to give it a try. The results will likely speak for themselves.
Yep, that is a complicated word. However, all it means is turning several JavaScript files or CSS style sheets into one big file.
Why is that a good idea?
Because it’s usually faster for a browser to download one large file than several smaller ones. Think back to server requests we discussed earlier. Same idea.
There is a WordPress plugin called Merge + Minify + Refresh, which can perform this for your site.Autoptimize is another great solution that I use on a lot of sites. For developers, there is a great tool to perform this task called Gulp.
In addition, WPTavern wrote an article on concatenation, where you can learn more, and there is another excellent article on the topic on CSS Tricks.
Once you have reduced your number of files to a minimum, it is time to make sure those files are as small as possible. This process is called minification.
Minifying a file essentially means stripping it of all the unnecessary spacing and commenting that make it easier to read by human eyes but only adds bloat from the perspective of machines.
Gulp, which we mentioned above, is one tool that can do this. Grunt is another example. For non-developers, the W3 Total Cache plugin can perform minification automatically, too, and the aforementioned Autoptimize can do it as well.
As a regular computer user, you are almost certainly familiar with zip files. These are files that have been compressed so they take up less space on the hard disk.
What you might not be aware of is that you can do the same with your website. After all, a website is nothing but a collection of files. When compressed, they shrink in size and are therefore quicker to download.
The good news is that the more repetitive the data you are dealing with is, the better it can be compressed. And style sheets and HTML are nothing if not repetitive.
You need to set up Gzip compression on the server side by adding the following code to your root file:
If you are just going to do one thing to speed up your WordPress site, this is one of the most effective. For more information, we have an entire article on Gzip compression with more details.
Speed is an important factor in running a website. It’s a key determinant for bounce rate, conversions, customer satisfaction, and search rankings. Even as much as one second can make a huge difference. Making sure your site loads as quickly as possible should therefore be a high priority.
Implementing even some of the above techniques can shave a nice chunk off of your loading time. Remember, you don’t have to do every little thing. Concentrate on what’s possible within your means and knowledge.
At the same time, it is also important to remember that speed isn’t everything. You should never remove important or necessary site elements just to get it to load faster. Every step you take on your site should have the end goal in mind to serve your visitors better. Page load speed is just one factor among many.
How do you make sure your site loads as quickly as possible? Anything to add? Please tell us in the comments below.