WordPress can only be optimized so much. It runs on a PHP/MySQL setup which is not exactly the fastest backend you can have. But there are plenty of plugins you can use to optimize the frontend, and your server, to get your pages loading faster.
In this post I’ll share my personal favorite plugins for speeding up a typical WP website.
Note I do not recommend installing all of these at the same time. That would definitely qualify as “overkill”.
However you can still get a few of these going and find a handful of plugins that meet your needs, solve your speed problems, and hopefully drop your total page load times down to under a second.
WP Fastest Cache
Over the years I’ve seen countless WordPress caching plugins come and go. I still personally use W3 Total for many of my websites, but I’m seeing that being phased out in lieu of some competitors.
Namely the most recent popular contender is WP Fastest Cache. This is a totally free WordPress plugin that comes with some incredible caching features.
It’s meant to cache files in the fastest way possible so this is no simple plugin. It’s likely a lot faster than other caching plugins even though this is only in v0.8.
With that said, it’s heavily supported by the dev team and has over 2,000 reviews in the 5-star column. It seems like many WP users are pretty happy with this plugin.
So should you use it? I’d give it a thumbs up for sure.
But I’d say you really cannot go wrong by installing any caching plugin with the default settings, this one included.
WP Super Cache
Another fast caching plugin is the WP Super Cache.
I use this on my personal portfolio website and it’s great. I would mostly recommend this for smaller content sites that don’t have too many pages, or even smaller blogs without a ton of posts.
For larger websites and possibly e-commerce sites you might want something a little more powerful. Something like the Fastest Cache plugin I mentioned above.
The key to WP Super Cache is the ease of use. This would be great for a client site like a small business website.
You just set it up and let it run. Not as bloaty as W3TC but still powerful enough to definitely improve page load times.
BJ Lazy Load
Lazy loading is one of the easiest ways to improve page speed. It simply reduces total images and forces the browser to download assets over time.
Typically when your page first loads this tells the browser to download all assets at once.
With a plugin like BJ Lazy Load you can tell the browser to wait on loading until that content is in view for the user.
So if you have a post with 30 or 40 images you can drastically reduce the total number of queued HTTP requests just by lazy loading that content. If the user scrolls down then the images appear. If not, they never get loaded.
I have found some of these lazy load features a bit annoying on some websites with slower servers. Specifically with cheap VPS setups or shared hosting.
So if you do go with lazy loading please make sure to either use a powerful server or a great CDN.
The above mentioned BJ Lazy Load is one way to speed up your images.
Another way is to compress their size so that your images ultimately load faster with less bandwidth.
If you search WordPress for plugins you can find a few different options here. But I’m quite partial to WP SmushIt, a free optimization plugin that auto-optimizes your images right when they’re uploaded.
This plugin hooks into the media library so whenever you upload an image into WordPress it’ll automatically be optimized for size.
Some images get reduced by quite a lot. Others are just barely touched. Either way the cumulative effect is large and if you have a very image-heavy website this is absolutely worth installing.
You’d be surprised how many KB(or MB!) you can shave down on your typical page load.
Best of all the WP SmushIt plugin does not interfere with your typical workflow. It doesn’t get in the way or require much of any customization. Just install it and let this thing work its magic.
Here’s another great image optimization plugin for WordPress users.
The ShortPixel Image Optimizer is also totally free and works much the same way as SmushIt. Granted I have not used ShortPixel so I can’t say exactly how it fits into a production workflow.
However I do think the plugin is worth testing just because of its reviews and the many features you get for free. It works with animated GIFs and even the newer WebP image format. Pretty cool!
Plus you can get full retina support for @2x images uploaded through ShortPixel and handled all through WordPress. Definitely an advanced image optimization plugin if I’ve ever seen one.
TinyPNG Compression Plugin
The folks at TinyPNG tried their hands at custom image optimization with this handy WP plugin.
Since TinyPNG compresses only PNG files you might think this plugin does the same. But it actually handles JPEGs, GIFs, and follows a similar compression model that makes the image look exactly the same.
This is the beauty of compression: you get an image that’s smaller in file size, yet visually it looks identical to the one you uploaded. How much more could you ask for?
One nice feature with TinyPNG is that it also supports a CDN like S3/CloudFront if you want to offload your images elsewhere. However I know that SmushIt also supports various CDNs too so this selling point depends on what kind of CDN integration you need.
Either way I hope the point is clear: you’ve got your pick of the litter when it comes to image optimization on WordPress.
I’ve worked with Autoptimize on my own site for a while and it’s absolutely stellar.
This plugin lets you optimize your page code so it can minify HTML, CSS, and even external files. You don’t have to change a thing and this plugin works only on the frontend so your theme files remain in-tact.
That is probably the biggest selling point for me with this plugin. You can still edit your themes without confusing minified code, yet you also get the benefits of minified code running on the frontend.
Naturally this is also compatible with CDNs and various caching plugins so it’ll work in pretty much any environment.
When it comes to minifying and compressing actual code on your site I always suggest this plugin. It’s probably the best one that WordPress has to offer.
If you run a speed test on your website you may find a lot of results mentioning GZIP compression.
This is not very common for typical webmasters because it’s not well understood. But basically you’re looking to compress the HTTP request through the browser so that pages load faster without parsing all of your code line by line.
Caching is a totally different beast where a copy of the page is stored locally or in a static file on the server. This lets the browser access it quicker without a full database pull.
On the flip side GZIP compression lets the content that is delivered push through a lot faster. Fewer lines, less waiting.
If you’re into trying this on your main website I highly recommend GZIP Compression. It’s totally free and it’s really the only GZIP plugin I can find for WordPress.
It works flawlessly and should work in any ecosystem regardless of what kind of caching plugin your using, or what sort of web hosting you have.
WPS Hide Login
Don’t let this plugin page fool you: this is not a French-only plugin. But I’d wager the designers are likely based in France.
WPS Hide Login lets you change your login page URL to basically anything. This way you can mask your real login URL and protect your site from hacking attempts.
While this may not immediately speed up your site, in the long run it will offer some real protection from attempted DDoS attacks or brute force attacks. WordPress login attempts can be gruesome when people target a larger site.
Big attacks can bring your server to a crawl and that’s the last thing you want for page speed.
So sometimes the easiest solution is to just move your login page to a different URL and memorize that instead.
WP Limit Login Attempts
Another viable alternative to protecting your login page is through the WP Limit Login Attempts plugin.
This will not change your login URL but instead will limit the total number of attempts you have to log into the site. On the backend you choose how many total attempts each unique IP has to log in, and if they fail how long they’ll be locked out.
If you ever forget your password this can backfire so make sure you set the number to a reasonable amount.
Another option is to both mask your login URL and use a plugin like this to limit attempts. You’ll get double the protection this way and while it may seem like overkill, it’s a guaranteed way to add more security into your WordPress website.
Speed Booster Pack
The Speed Booster Pack plugin is fairly new on my radar and not something I’ve really tried before.
However it seems like a fantastic plugin given all of its features and what you get.
This is a totally lightweight plugin that has a built-in page speed score feature. Some of the core features that improve your site speed:
- Moving scripts to footer
- Minify all inline code
- Automatically compresses images
- All JS files come from Google library CDNs
- Removes query strings from static URLs
- And a whole bunch more!
Some of these features can be found in other plugins. But why not run this one pack and get all the features together?
Granted not every WordPress user wants a combined plugin like this so I would understand the apprehension. But you could at least give it a shot and see what you think.
WP Performance Score Booster
Here’s a very similar plugin that comes in a pack that’s filled to the brim with optimization features.
Have a look at the WP Performance Score Booster main page to see what I mean. You’ll get automatic GZIP compression along with image compression and code minification.
This also sets browser caching as the default which is a huge factor in the Google PageSpeed tool.
As of right now this plugin is also totally open sourced and you can edit the code yourself to change, update, or append new features. Mostly you can just follow the team’s main updates on GitHub where the plugin is also released.
A great choice for a combination of features if you want to avoid running too many plugins and bloating your backend.
I was a bit hesitant to include Pagespeed Ninja in this list since it’s a newer plugin. It still hasn’t even hit v1.0 yet.
However one look over the features list and I really feel like it belongs here.
This gives you automatic page GZIP compression, fixes render blocking, and it can even defer the loading of CSS/JS files as you wish. Plus a whole slew of other handy features to radically improve your site speed.
Right now the plugin has all 5 stars and a couple 4 star reviews. Absolutely no 1-star reviews which is darn impressive.
This makes me think Pagespeed Ninja may just be the newest up & coming WordPress plugin to radically improve page load times.
Scripts To Footer
Just as the name suggests, Scripts To Footer will automatically move all of your JS files into the footer of your theme.
This is a powerful technique for page speed because it reduces hangups and immediately gets into rendering the DOM. Some web developers do not like this practice because it can screw up dynamic features on the page until the DOM is fully loaded.
However there’s no denying that moving other assets into the footer will decrease page load times for most cases.
Even if it’s just a few milliseconds, anything you can shave off your load time will have an impact. That’s why this is likely a plugin worth testing if you don’t go with one of the biggest optimization packs like Pagespeed Ninja.
A clean database means a smaller total file size for your website. But it can also mean fewer database calls which ultimately means faster database calls.
You can’t really do much to optimize the WordPress database for radical improvements. You’ve got to work with the MySQL setup they give you.
However WP Optimize is a great addition to any WordPress site. Especially if you’ll be working with a lot of data that can take a while to load.
This will automatically defragment your database and handle automatic clean-ups of extraneous data. This means auto-deleting spam comments, clearing old deleted posts, and other stuff that’s just cluttering up your database.
Note that if you frequently delete posts but don’t want them gone forever then be careful with this plugin. It really does a job cleaning up: although that’s not exactly a bad thing.
And whether you need to clean up your database, improve your page speed, or compress some files, all of these plugins are here to help you develop blazingly fast WordPress websites.