Viper Cache Review - Up to 10x Faster WordPress Site With This Cache
Learning how to speed up WordPress is an essential skill for any website owner.
Because page loading speed influences everything from traffic to bounce rate to conversions, user satisfaction and, ultimately, profits.
Unfortunately, if left unchecked, any WordPress website becomes slower over time. Sites accumulate data, get more complex and thus become less efficient. To some degree, that is normal. It doesn’t have to be and there is plenty you can do to keep your site from slowing down.
For that reason, we have put together a detailed guide on how to speed up WordPress. We will talk about why page loading speed matters, which factors influence the speed of your WordPress site and how to measure it. After that, we have compiled the best techniques to make your site as fast as possible. They range from basic all the way to advanced measures so that the users of advanced skill levels will find something they can implement.
Are you ready to wave goodbye to slow-loading WordPress sites? Then keep reading.
The first question when talking about website speed is: Why should I care about it in the first place? I mean, as long as your site loads within a few seconds, it should be fine, right? People can’t really be that strapped for time, can they? Well, the answer might surprise you.
Internet Users are Extremely Impatient
Here are some statistics concerning page load time and user behavior:
40% abandon a website that takes more than three seconds to load
79% of shoppers who are dissatisfied with a website’s performance are less likely to return
One second delay reduces conversions by 7%, page views by 11% and customer satisfaction by 16%
While this might not sound like much in abstract numbers, it has very wide-ranging consequences in the real world. For example, after Mozilla made its pages 2.2 seconds faster, their Firefox browser saw 60 million additional downloads per year. In another example, Amazon calculated that a one-second slowdown of their page loading speed would cost them $1.6 billion in yearly sales.
Now, we don’t all run a website as large as Amazon. However, the takeaway is clear: When it comes to visitor retention and conversion, every second counts.
Speed is a Ranking Factor
Obviously, this fact doesn’t get past search engines. After all – their goal is to present their users the best possible search results. A site that exasperates visitors with slow loading time is anything but. While speed is not (yet) officially a ranking factor, it definitely factors into your search position.
A slow-loading site increases your bounce rate. That means the rate of users who pretty much leave immediately after landing on it. In this case, they just don’t bother sticking around until your page is done loading and hit the back button instead.
If that happens, the big G will take note and downvote you since they consider this behavior a sign of a low-quality site.
The problem is more prevalent with mobile traffic, which tends to have slower Internet connections than desktop computers. Plus, Google has gone on record, stating that for their mobile index, page loading speed will definitely become a ranking factor.
Generally, there are three different types of hosting:
Shared hosting — That means your site lies on the same server as a number of other websites and needs to share its resources (processing power, RAM) with everyone else. This can lead to “bad neighbor” effects where one site is hogging the majority of resources and downtimes due to overload.
Virtual private server (VPS) — With this type of hosting, you usually have fewer sites on the same server. In addition, resources are allocated evenly across all sites present without the option to exceed them.
Dedicated server — You have one server just for you. There are no resources to share, everything is at the disposal of just your site.
In addition to the type of hosting, the technology used in the servers (both hardware and software) is also important. For example, does your server use the latest versions of PHP, HTML and other web techs? How about SSD hard drives? How much memory does it have? All that factors into how quickly it can serve up your website files.
Finally, another thing that matters is server location. Naturally, the closer it is to the visitor requesting your site, the faster it can serve up your page. As fast as technology has become, shooting bytes through a cable under the ocean still takes longer than moving it across the net in the same country.
Because of that, if you put some of the techniques in this article into practice, it might only marginally increase the speed of your site in your own location. It could make a world of difference for someone accessing it from halfway around the globe.
2. WordPress and Its Components
Next up in the factors that influence your page loading speed is the software powering your site. In our case, we are talking about WordPress. The same is true for other content management systems.
While WordPress is great at its job, there are ways to build websites that are naturally faster than using a CMS. For example, in the past, sites were built with pure HTML (which you can still do, check our HTML beginner’s guide and HTML cheat sheet). When you do so, browsers can access and process the site immediately without any processing necessary.
In contrast to that, with a CMS like WordPress, pages are created “dynamically”. That means, a PHP application (WordPress) pulls data from a MySQL database and then generates HTML code from PHP templates to deliver it to the browser.
These extra steps take some time and make your site slower to load (however, using CMS has other advantages that make up for it). In addition to that, WordPress comes with themes, plugins and other add-ons. While these make it more powerful, they can also slow down the site as they add more code that needs to be loaded.
3. The End User’s Device
The final link in the chain that determines how quickly your site pops up on a user’s screen is the device he/she uses to access it.
In modern web design, a lot of the processing happens on the site of the client, meaning in the browser. For that reason, both the hardware and software configuration available at the destination play a big role in page load time.
This is especially important because, as we already settled, today the majority of users access the web via mobile devices. These not only have less processing power than many desktop computers but also often suffer from slower Internet connections. While that is nothing you can influence, it is important to keep in mind when trying to build a fast site.
How to Test Site Speed
The problem with website speed is that you, as the administrator, often have a skewed view of it. Just because it loads fast on your computer, it doesn’t mean it does for everyone.
In fact, one of the reasons why your site is probably quicker to load for you is because you spend a lot of time on it. That way, your browser caches its static elements on your hard drive, making it unnecessary to load them again when you view your site. However, for anyone who doesn’t have the same data on their computer, the experience will be very different. Plus, as we have just learned, users in different locations might also have different loading speeds.
For that reason, you need some objective measures. Thankfully, there are some excellent tools out there for this. The ones I recommend are GTmetrix and Pingdom. The latter even gives you the option to test your site from different server locations.
Both tools provide a detailed breakdown of everything that slows down your site. We will refer to them often in the upcoming sections.
How Fast Should Your Site Load?
How fast is fast enough? What is a page loading time you should aim for?
The short answer: under two seconds.
Where does that number come from? Well, first of all as we have seen above that’s what close to half of the users expect of their web experience. In addition to that, two seconds is also the cutoff point Google stated for e-commerce sites in 2010.
In addition to that, according to Pingdom, if your site loads within 1.7 seconds, it is faster than 75 percent of sites on the Internet. Standing out from the crowd is always a good way to get noticed.
Below two seconds is a solid goal to shoot for. The faster the better. If you can get below that, by all means, do. Nobody is going to complain that your site loads just too damn fast.
Alright, now let’s talk about how to get to those numbers.
15 Ways to Speed up WordPress
From the factors that influence page loading speed above, we can already draw a number of conclusion for what makes a WordPress website fast or slow. In this first part, we will talk about basic steps to speed up your WordPress site and decrease page loading time.
1. Invest in Quality Hosting
One of the most basic steps to increase site performance is to choose a good host to house your site. Sure, there are lots of cheap offers out there. Keep in mind that hosting is one of those areas where you get what you pay for. Since we have seen earlier that speed matters, this is not a good place to skimp.
What does that mean?
As a first step, avoid shared hosting if you can. Doing so eliminates the risk of having bad neighbors on your server that can slow down your site. Also, unless you have a huge site and the manpower/budget to run your own server, a dedicated server might be more than you need.
For that reason, a VPS is probably the best option. This type of hosting provides a nice balance of speed, comfort and cost.
Another option is to go with one of the growing offers of managed WordPress hosting. Doing so means your site will run on a server specially optimized for WordPress and you don’t have to take care of any of the technical stuff of running a website. Plus, prices for managed WordPress hosting are dropping.
2. Keep Your Web Technology Up to Date
The second item on our list of measures to speed up WordPress is keeping your core technology up to date. New versions of HTML, PHP and other web technologies come out for a reason. They contain improvements, new features and often improved speed. For that reason, it’s important to stay up to date.
A quality host will take care of this by themselves. However, that doesn’t free you from the responsibility of checking. When you log into your hosting backend, make sure to look for PHP configuration or a similar menu item. Here, you can often control which version of PHP you are using.
Just a quick note: some old code (and older versions of WordPress) are not compatible with, for example, the latest version of PHP. For that reason, when updating, make sure you have a way to go back in case something goes wrong.
3. Use the Latest Versions of WordPress and Its Components
What’s valid for the software on your server, also holds true for WordPress. Each version of the CMS comes with new features, bugfixes and more. They make your website run more efficiently and prevent it from slowing down too much.
Keeping your website up to date is not only a speed but also a security issue. With the latest version of WordPress, your themes and plugins, you also make sure all known vulnerabilities are fixed. Nothing will slow you down more than a compromised website.
4. Use a Proper Theme
While we are talking about themes: they can be a decisive factor in website speed. That’s because some themes out there are just bloated messes. They offer so many features that it slows down your site from sheer weight. Bare in mind – those features all consist of code that needs to be loaded.
For that reason, try to find a theme that has just what you need and nothing more. Or better yet, get a lightweight theme and add functionality via plugins. That way you can keep things lean and lightweight. Your loading time will thank you.
5. Perform Regular Database Maintenance
Just like the WordPress core gets bogged over time, so does the database. It’s prone to accumulate temporary disk space and unused data from uninstalled plugins, post revisions and other culprits.
For that reason, regular database maintenance is crucial to keep your database lean and usable. There are many tools out there which can help you. A personal recommendation is WP-Optimize, which makes the process quite comfortable. WP-Sweep is another option.
You know how they say that only what gets measured gets managed? This is also true for website speed. Only if you are aware that there is a problem you can take corrective action.
We already talked about how to measure your site speed earlier. Many of the tools mentioned above, like Pingdom, also offer automatic monitoring. When you register for it, they will send you an email if your site gets too slow. It’s worth investing in.
7. Decrease Server Requests
A server request happens every time your browser asks some type of resource from your server. This can be a file like a style sheet, a script or an image.
The more server requests necessary to complete loading your site, the longer it will take. As a consequence, requests should be as few as possible. Here are a few things you can do to reduce them to a minimum:
Lower the number of posts shown on a page
Only show post excerpts, no full posts on your archive pages (find the option under Settings > Reading)
If you get a lot of comments, break them up into several pages (Settings > Discussion)
Reduce the number of images and other elements on your page
Uninstall unnecessary plugins, especially slower ones (find them with this plugin)
Deactivate plugins you are not using permanently
Enable lazy loading to delay loading images until they are actually visible on the page
Reduce external resources such as fonts if they aren’t necessary
The already mentioned Pingdom and GTmetrix can show you a detailed list of server requests and how long they need to complete. From there, you can take steps to either eliminate requests or make sure they complete as quickly as possible. That brings us to the next point.
8. Optimize Images
Images often make up the bulk of a page. That’s natural since they need more space than text or CSS. For that reason, in order to speed up WordPress, it is crucial that you learn how to make them as small as possible without losing quality, or what is called compression.
One of the best ways to go about it is to compress your images before you even upload them. For example, in Photoshop you can use the Save for web option for that. For everyone else, there is TinyPNG, an online service that performs the same action.
If you’d like to automate the process, a third option is to use an image optimization plugin like WP Smush or EWWW Image Optimization. Both plugins will compress any image you upload to your site.
When you use images in your content, it’s important to note that WordPress creates several sizes of them. That way, you can input the size of the image it will actually appear in.
Posting a full-size image and then shrinking it down to 300 pixels is just asking for a slow website. Unfortunately it happens way too often.
9. Avoid Hosting Videos on Your Own Site
Continuing with the topic of media, videos are also an issue. While WordPress is perfectly capable of hosting and playing videos, doing so is not a good idea.
First of all, it costs you bandwidth, which is especially important if you have a limited hosting account. Secondly, it will make your WordPress site considerably larger and thus harder to back up.
Most importantly – there are loads of super fast video hosting sites that can probably do a much better job than your own server ever could. Plus, with auto embeds, literally everything you have to do to include videos in your content is to copy the YouTube, Vimeo or DailyMotion link and paste it into the WordPress editor.
10. Enable Caching
Earlier, we mentioned that WordPress dynamically creates an HTML version of your pages whenever someone requests to see them.
Since that is one of the things that slows it down, wouldn’t it make sense to have the finished HTML page at hand all the time? After all, that way you could save several steps.
That’s exactly what caching does and it’s one of the best ways to decrease the page loading time of your WordPress website. The CMS also offers several plugin solutions to enable it, most notably WP Super Cache, W3 Total Cache and WP Rocket (which is a premium solution).
If you are more technically minded, you can also implement caching yourself via .htaccess. In addition to that, there’s also server caching. To do that, you would have to talk to your host. Many managed WordPress hosting providers now offer their own caching solutions so you don’t have to do anything.
11. Use a Content Delivery Network (CDN)
Remember when we talked about how server location is an important factor in page loading time? Basically, the further away the computer that hosts your site is from the visitor, the longer it takes to transmit your site data.
A content delivery network or CDN lessens this problem by hosting your static files on several servers at once, all distributed across the globe. That way, whenever someone requests to see your site, they can receive them from the closest possible location, thus cutting download time.
In addition to that, there’s also the option to only host parts of your site on a CDN. For example, the Jetpack plugin contains Photon, a free CDN for images. Just install, activate and from now on all images on your site will be delivered to visitors via the content delivery network.
12. Concatenate Your Files
As explained above, you should have as few server requests as possible. A good way to reduce the files that need to be downloaded is to combine them into fewer and larger files. This is also called concatenation.
The advantage: downloading one large file is usually faster than several smaller ones, especially if you can’t download them simultaneously.