How to Speed Up WordPress? 6 Big Changes, Plus 10 Quick Wins

How to Speed Up WordPress? 6 Big Changes, Plus 10 Quick Wins


Are you looking to speed up WordPress and get your site loading faster? Everyone should want a quick-loading WordPress site. Not only does it provide a better experience for your users, but it can also have a positive effect on SEO and your bottom line (by increasing conversion rates).

WP Rocket - WordPress Caching PluginGTmetrix, as pretty much all you do is plugin in your URL and then it gives you pretty easy-to-understand results:

GTmetrixWebPageTest. I love this tool because of how much control it gives you over how your tests are set up, but it’s not necessarily the most beginner-friendly tool, so you might want to stick with GTmetrix if you’re a casual user.

Beyond that, Google PageSpeed Insights also gives you real performance test data now, though it also can be a little tough for casual users to understand. And Pingdom is another simple testing tool, though the way it calculates load time can make your site seem faster than it will actually load for most end users.

Finally, it’s important to remember that more than 50% of traffic occurs on mobile devices nowadays. So in addition to testing your website speed for desktop visitors, you’ll also want to test how mobile visitors will experience your site.

If you register for a free GTmetrix account, you’ll also be able to change the testing device:

GTmetrix locationsGoogle’s Mobile Site Speed test is also another really easy way to test the mobile performance of your site, and WebPageTest also lets you run tests from various mobile devices and locations.

For fun, you can test your page times before making these changes and then again after. That way, you’ll know exactly what effect these changes have had on your WordPress site’s page load times.

The Six Biggest Things That You Can Do to Speed Up WordPress Today

In order to try and make this post as helpful as possible, I’m going to divide the performance suggestions into two categories.

First, I’ll cover the performance tips that will get you the biggest bang for your buck. Basically, if you do nothing else in this post, you’ll want to at least do the things in this first section.

Then, in the next section, I’ll share some smaller tips that still make a difference, but probably won’t move the needle as much on your WordPress site’s page load times.

1. Get Good Quality Hosting

Yes, I know that telling you to switch WordPress hosts as the first step in how to speed up WordPress kind of sucks…

But at the same time, the fact is that your hosting provider is always going to have a huge effect on your site’s performance.

It’s your foundation, and while all the other tips will help your site load faster, you’re still always going to be limited by what your host can do.

So, feel free to try the other tips on this list first, but keep this in your back pocket because it might be the only thing that will get you the page load times that you’re looking for.

So which hosts are the best WordPress hosts for performance?

Here at WPLift, we use and recommend SiteGround to most people (read our SiteGround review). They have plans starting for just a few bucks a month, as well as more heavy-duty cloud hosting plans (which is what we use for WPLift).

Two other hosts that we recommend are:

Both are a little pricier – starting at $30 per month – but come with great performance and tons of convenient managed WordPress hosting features.

2. Use a Caching Plugin (If Your Host Isn’t Already Caching Your Site)

Caching essentially means taking some important information and storing it in a way that makes it super easy to retrieve when you need it.

For WordPress sites, the most popular method of caching is something called page caching.

Normally, when someone visits your WordPress site, your server executes WordPress’ PHP code to query your site’s database and generate the HTML to deliver to each visitor’s browser.

Every single time someone visits your site, WordPress needs to dynamically generate that HTML code, which takes a little more time and puts more strain on your server.

With page caching, your server stores that HTML code in a cache so that, rather than dynamically generating it each time, your server can just deliver the already-finished HTML.

So instead of needing to dynamically generate HTML for every single visit, your server only does that for the first visit, and then every subsequent visitor just gets served the finished version from the cache.

Because your server has to do less work, it’s able to more quickly and efficiently deliver content to your visitors.

Some hosts automatically implement caching for you at the server level, so it’s possible that your site is already benefiting from caching. If not, there are a bunch of good WordPress caching plugins that you can use.

A simple, free, and high-performing option to get started with is WP Fastest Cache. All you do is install and activate the plugin, then you can go to the new WP Fastest Cache section in your WordPress dashboard and check the Enable box:

WP Fastest Cache speed up WordPressWP Rocket is also another great option. The benefit of paying is that, in addition to implementing caching, it can also help you implement a bunch of the other performance tips on this list. You can learn more in our full WP Rocket review.

3. Optimize Your Images to speed it up

According to the HTTP Archive, the file size of an average page on a website is comprised of about 50% images.

A lower file size means a faster-loading WordPress site, which means that finding a way to shrink the file size of the images that you use on your site can make a big difference in your site’s page load times.

There are two main ways to optimize WordPress images, both of which you can accomplish with some easy-to-use plugins.

First, there’s resizing the actual dimensions of your images.

If you take an image with your smartphone or a camera, it’s going to be well over 3,000 pixels wide. Now, that’s great for giving you that high-resolution detail, but it’s a total waste on your WordPress site, which probably has a visible content area of just ~800-1,000 pixels.

For that reason, you never want to use the full 3,000 pixel images on your site – that’s just wasting file size. Instead, you’ll want to resize the images to the max dimensions of your site (or maybe a bit more, to account for Retina screens). More on how to automate this in a second…

Beyond changing the actual image dimensions, another way to optimize your WordPress images is to use a WordPress compression plugin.

Essentially, this lets you further shrink the file size while keeping the same dimensions. There are two types of compression, and you can use the one that fits your needs best:

  • Lossless – a small reduction in file size with no change in quality.
  • Lossy – a larger reduction in file size, but sometimes accompanied by a loss in image quality (though oftentimes it’s not noticeable to the human eye).

To automate both resizing and compressing your images when you upload them, you can use a WordPress image optimization plugin. Some great options here are:

  • ShortPixel – my personal favorite.
  • WP Compress – another solid option that’s easy to use.
  • Smush – free, but only does lossless compression.
  • Optimole – compresses your images and dynamically serves the best size based on a user’s device.

For example, you can see how ShortPixel lets you choose your preferred compression level and also set maximum dimensions to resize images when you upload them:

Shortpixel compress images to speed up WordPressKinsta’s WordPress PHP benchmarks, PHP 7.3 can handle almost triple the number of requests per second that PHP 5.6 can handle:

PHP 7 offers faster speed for WordPressaround half of WordPress sites are still running PHP 5.6 or below, rather than PHP 7 .

Not only is that bad for performance, but it’s also bad for security because those older versions of PHP are no longer supported.

To check what PHP version your WordPress site is using, you can use the free Display PHP Version plugin. It will add a new item in the At a Glance dashboard widget that displays your current PHP version:

WordPress PHP versioncheck out our full WordPress PHP 7 guide here.

5. Use an Optimized WordPress Theme

Like hosting, your WordPress site’s theme is another foundational element of your site that has a big impact on your site’s performance.

For a personal anecdote, I reduced my site’s page load times by 48% just from switching from an unoptimized theme to a lightweight, performance-optimized theme (GeneratePress).

Basically, this one can make a big difference.

Rather than trying to find a big theme that does everything, I recommend picking a flexible, lightweight base theme that gives you lots of style customization options.

Some great options are:

All three are multipurpose themes that will work for everything from a blog to an eCommerce store.

6. Don’t Use Bloated Plugins

There’s this common myth with WordPress that using more plugins means a slower site. That’s not actually true, though I do see the benefits of making it a general rule of thumb for casual WordPress users.

Basically, the real fact of the matter is this:

Using “more” WordPress plugins doesn’t slow down your site. Using “poorly coded” WordPress plugins does.

You could have 30 well-coded, small WordPress plugins that barely make an impact on your site, but one poorly coded plugin can tank your site’s performance.

So how do you find which plugin is causing an issue? Unfortunately, there’s not a super simple way to do this, and it will require a little digging into some technical aspects of your site.

I’ll try to make it as simple as possible, though…

First off, you can use something called a “waterfall analysis”. This is part of all the WordPress website speed test tools I listed above, including GTmetrix.

Look for slow-loading requests and then hover over the URL to find the plugin in question:

Gtmetrix waterfall to speed up WordPressfree Query Monitor plugin. It can help suss out plugins that are slowing down your site – here’s how to use it.

Ten Smaller Ways How to Make Your WordPress Site Load Faster

If you implement the tips above, you should already have a pretty fast loading site. However, there are still some other things that you can do to eke out even more performance from your site.

Here’s what they are…

1. Shrink Your Code With Minification

Minification is a way to shrink the size of the HTML, CSS, and JavaScript code on your site without changing its functionality by performing actions like removing unnecessary white space and other tweaks.

Many WordPress caching plugins include built-in minification. For example, both the WP Fastest Cache and WP Rocket plugins I discussed above include a built-in minification feature.

Here’s what it looks like in WP Fastest Cache:

Autoptimize to minify your site’s code.

Once you activate minification, I’d recommend double-checking how your site looks, as it can cause issues in rare circumstances. If you see anything weird, you can just disable minification and your site should go back to normal.

2. Use a Content Delivery Network (CDN) for Faster Global Page Load Times

A content delivery network (CDN) helps speed up your site’s global load times by caching your static content at lots of different locations around the world.

Normally, all your visitors need to download files from your WordPress site’s server. For example, if your server is in Los Angeles, USA, that means people from both San Francisco and Moscow, Russia need to download your files from that Los Angeles server.

Because physics still exists, that naturally means your site will load more slowly for that Russian visitor because of the much greater physical distance.

If you have a global audience, that’s no good.

A CDN fixes that issue by storing your content on tons of different servers all around the world. Then, when someone visits your site, they can download the files from the location that’s nearest to them, which speeds up your site’s load times.

The most affordable way to get started with a CDN is to use Cloudflare with WordPress. Cloudflare is a free service that both acts as a CDN and a way to secure your WordPress site.

There are also some other free CDN tools that you can try. Or, you can use a premium option like StackPath or KeyCDN.

3. Consider Lazy Loading

Lazy loading is a technique to speed up your site’s perceived page load times by waiting to load “below-the-fold” images (and some other content – like videos and iframes).

Because people won’t see this content until they start scrolling down, the theory is that there’s no reason to bother loading it until people actually start scrolling down.

As a visitor gets close to reaching an element, your site will then load it as-needed.

Lazy loading can make an especially big impact on sites that are image or video heavy.

To implement lazy loading, you can use the free Lazy Load by WP Rocket plugin. Or, WP Rocket also includes lazy loading in the full WP Rocket plugin, as well:

Lazy LoadEnable Gzip Compression plugin.

SiteGround, our recommended WordPress host, also offers GZIP compression through its SG Optimizer plugin.

Once you’ve enabled it, you can use a GZIP compression check tool to make sure that it’s working – all you need to do is enter your site’s URL.

5. Disable Image Hotlinking

Image hotlinking is when someone takes an image that’s hosted on your site and uses it on their site.

Basically, they’re using your server resources to deliver images on their website. And because your server is more stressed than it needs to be, that can have a negative effect on your site’s performance.

Thankfully, it’s not too difficult to disable image hotlinking in WordPress and stop people from stealing your server’s precious resources. All you need to do is add this code to your site’s .htaccess file:

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)? [NC]

RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)? [NC]

RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)? [NC]

RewriteRule .(jpg|jpeg|png|gif|svg)$ [NC,R,L]

The last line specifies the image that will be served instead (you can do some kind of warning if you want). I recommend hosting this image on Imgur, Dropbox, or another storage service that won’t require your own server resources.

You also want to replace “” with your actual URL.

Many CDN services also include hotlink protection. So if you’re using Cloudflare or most other CDNs, you can enable it that way. Here’s the guide for Cloudflare.

Finally, many WordPress security plugins also give you an option to block image hotlinking.

6. Clean Up Your WordPress Database

Your WordPress site’s database is where all of your content and settings are stored. When your WordPress site needs to show that information to visitors, it has to query the database, so you want your site to be able to retrieve information as quickly as possible.

However, over time, your site’s database will pick up lots of “gunk” in the form of post revisions, spam comments, transients, and more.

To optimize things, you’ll want to periodically clean this junk out.

To do that, you can use a free dedicated database cleaner plugin like WP-Optimize:

free Disable Emojis (GDPR friendly) plugin from Ryan Hellyer. Super simple and free.

8. Limit Post Revisions

Post revisions are one of those things that you clear out when you optimize your database. However, another good performance strategy is to limit post revisions in the first place to avoid that junk clogging up your database.

A small number of post revisions are helpful, as they let you track and revert changes to your content.

You never want to store unlimited revisions, though, as that’s just a recipe for clogging up your database.

To limit post revisions, you can add this line to your site’s wp-config.php file:

define('WP_POST_REVISIONS', 3);

You can change the number to whatever you want – I think storing anywhere from 3-10 revisions is a good balance.

9. Don’t Host Video/Audio – Embed from External Sources Instead

If you plan to use your own audio or video content on your WordPress site, you do not want to be hosting that content on your own server.

Not only is it hard to get right (especially when it comes to video encoding), but it’s also a huge drain on your server.

A much better option? Use an external site that’s specialized in hosting that type of content.

For videos, consider:

And for audio, SoundCloud makes a great option, and also has a really nice video player.

10. Split Comments into Pages

If your site gets lots of comments, you probably don’t want to load every single comment at the same time.

To avoid this, you can split your comments into pages. Interested visitors can still view all the comments by using pagination, but you don’t need to load every single comment on the initial page load.

To set this up, go to Settings → Discussions.

Then, choose the Break comments into pages…option and select how many comments to load per page:

WP Fastest Cache minify

Post navigation

error: Content is protected !!