Site Performance WordPress Plugins
Site Performance Plugins
Admin Flush W3TC Cache
Admin Flush W3TC Cache works with the W3 Total Cache plugin (below). It simply adds an “Empty All Caches” option to every Admin page.
Where I use it: On every site where I have W3 Total Cache plugin installed.
Why I use it: Sometimes I make a change to settings or in the widgets, and the site hasn’t updated to reflect the new change. This gives me one-click access to empty all the caches without having to go to Performance > Page Cache > Empty Caches. It’s just a “convenient” plugin to have to save time.
W3 Total Cache
The highest rated and most complete WordPress performance plugin. Dramatically improve the speed and user experience of your site. Add browser, page, object and database caching as well as minify and content delivery network (CDN) to WordPress.
Where I use it: Everywhere, on most of my sites and just recently on my “managed” client sites as well.
Why I use it: It speeds up performance, and increases my page-speed score. Without this plugin, my sites would load slower and feel more “sluggish”. It makes my host happy because most of the resources from my big sites are served from my Amazon S3 CDN. It makes my visitors happy because the site loads faster. There is really no downside to this plugin except that it makes you go cross-eyed the first few times you set it up. A brand new blog post (or rather, a course) would be needed to explain all the options and even though I “get” most of them now, there are still a few settings in there that make my brain go WHOOSH. And setting up S3 CDN for the first time is also a bit of a head-spin.
WP Crontrol
WP-Crontrol lets you take control over what’s happening in the WP-Cron system.
Where I use it: Currently only on PennyButler.com (a site that uses the most cpu resources on my host) but I intend to use it in more places a.s.a.p.
Why I use it: WP-Cron is used by WordPress & plugins to run all the automatic tasks, like scheduling a backup, or posting pingbacks and trackbacks, sending emails (like when you get comments or someone registers), scheduling posts, etc.
But, as more WP-Cron instances are launched, and some instances running at the same time, it can cause problems on your server.
Wp_cron is called each time a page is loaded on your site, so depending on the amount of traffic you get, it could be running hundreds of thousands of times per day. Not only that, but some “cron jobs” take a few minutes to complete which can cause processes to all be active at the same time, and running over and over again.
The more traffic you have, the more resources and processes are being run constantly on the server, and if you are on a shared host (the majority of people fall into this category), you risk your host taking an issue with your cron-jobs as it consumes the shared cpu resources.
This plugin, WP Crontrol (not a spelling error), is the only one that I found that is “lightweight” but fully featured – not only does it let you view all the cron jobs that are scheduled to run, but allows you to EDIT or DELETE them as well. I found other plugins that let me delete them, but none that would also let me ‘edit’ them.
When I ran this plugin, I could see hundreds of scheduled cronjobs that were setup by plugins that I don’t even have installed anymore and delete them right from within WordPress.
Note: There was one “invincible” cronjob (from an old deleted plugin “WP Stats Dashboard” that just wouldn’t delete, which I discuss here. In short – it becomes “really messy” if you need to delete a wordpress-scheduled cron job from within the database, but with this plugin, you should be able to get rid of most, if not all of the culprits.
WP-Cron Control
Get control over wp-cron execution.
Where I use it: On sites where my host has a ‘hissy’ about wp-cron usage coming up in the log files, like PennyButler.com
How I use it: See this blog post [WP Cron Control]
Why I use it: Instead of wp-cron loading every time I get a visitor, which makes my host “crazy mad”, I turn off wp-cron in the backend and run it manually from a cron-job within cPanel. I can setup cron jobs to run depending on what I want, if a site is updated regularly or has a lot of scheduled tasks, I can set the cronjob to run as low as 15 minutes, but I generally choose once or twice a day or every 2 hours. This makes the wp-cron.php file run a lot less, and keeps my host happy.It might help you if you don’t get much traffic and want to force cron to run, so if you have the opposite problem of “not enough visitors”, then this plugin will help too. This plugin is out-dated, and a little bit buggy, but there doesn’t seem to be any alternatives out there – if you know of one, please let me know.
Plugin Organizer
A plugin for specifying the load order of your plugins.
Where I use it: I just installed it as a test on this site about 20 minutes ago but already I’m doing the *happy dance* and looking forward to putting it on all my heavy sites.
Why I use it: Initially I was looking to solve a problem with Code Snippets Library – it loads a really large .js file on all of my pages/posts, giving me a low page speed score and making me screw my nose up because I really like this plugin. I only need it for 3 posts so far though, so it wasn’t worth me keeping it if it was going to slow down my entire site.
Therefore, I wanted a way to just “enable” the javascript file only on the posts where it needs this big 256k monstrosity. In hunting for a solution, I came across this plugin and I got more than I bargained for.
This plugin enables you to:
- disable a whole heap of plugins and enable the ones you need on a “per post” basis
- selectively disable a plugin on a per post basis
- change the order that plugins are loaded
- if you have plugins that conflict with each other, you can disable the problem one on any post/page but still have it installed (like for instance a contact plugin, that only needs to load on a contact page – but is messing with your other plugins.. in many other cases, you would have to delete your fave contact plugin, but with this plugin, you can just disable it on the pages that you don’t need it to run)
So now I’ve disabled all the other things that I didn’t want loading in the header of my site and just enabled things post-by-post so that my site will run a lost faster, because it won’t be loading all these extra .js and .css files and scripts and things unless it’s actually required to do so on that particular post or page. Freakin’ remarkable!
Broken Link Checker
Checks your blog for broken links and missing images and notifies you on the dashboard if any are found.
Where I use it: Just on a couple of sites, and only every so often.
Why I use it: To keep Google and my visitors happy. Google doesn’t like broken links and neither do your visitors. Sites do get deleted, and unfortunately we all link to sites that change their url’s or delete their posts or go down from time-to-time. So I just activate this plugin ‘every now and then’ and do a scan of my sites and fix any broken links.
As I try and keep my resource-usage low, I don’t keep this one activated like many others do. It takes resources to do these scans, and it’s not something that I feel (for me and my sites) that I need to run all the time, but it does have an option to do that if your site needs it (maybe if you have a site that allows others to share links, etc. or you own a download site, etc. having this turned on all the time might work in your favour, but for me, I have it disabled and just enable it every couple of months).
WP Clean Up
WP Clean Up can help us to clean up the wordpress database by removing “revision” “draft” “auto draft” “moderated comments” “spam comments” “trash comments” “orphan postmeta” “orphan commentmeta” “orphan relationships” “dashboard transient feed”. It allows you to optimize your WordPress database without phpMyAdmin.
Note: Make sure you get the right one, there are 2 WP Cleanup’s, one that hasn’t been updated in over 2 years, and the other one, above, that is kept up-to-date with the latest versions of WordPress.
Where I use it: On any site that is using too many resources, but I really should put it on every site.
Why I use it: I just started using this one as I couldn’t find my previous fave “Better Delete Revision” anymore. But I found that it works just as well, if not better because it does an extra job of finding orphans that the other plugin didn’t look for. I use this on a regular basis to clean-up revisions/drafts as well as a quick optimize of some of the tables in the database.
Read more about this plugin on my Plugins to help Optimize & Cleanup WordPress (to make your host happy) post
Clean Options
Finds orphaned options and allows for their removal from the wp_options table
Note: Although this plugin hasn’t been updated since 2010, it’s the BEST plugin for cleaning the wp-options table in your database. It doesn’t work on multisites. Should not be used without a backup because it’s a seriously dangerous plugin if you delete the wrong thing.
Where I use it: On any site that is using too many resources, or on sites that I’ve been installing & uninstalling a lot of plugins.
Why I use it: This plugin has the amazing ability to pickup what every other plugin seemed to miss/skip: left-over remnants of plugins in the “wp-options” table. This one was a real life-saver for me on one of my sites that my host was really unhappy with (a site that was sky-rocketing the server resources). This plugin was responsible for culling almost 40mb of “dead” tables out of my database and almost 300,000 database tables left behind by uninstalled plugins.
Read more about this plugin on my Plugins to help Optimize & Cleanup WordPress (to make your host happy) post
EWWW Image Optimizer
Reduce file sizes for images within WordPress including NextGEN Gallery and GRAND FlAGallery. Uses jpegtran, optipng/pngout, and gifsicle.
Where I use it: On every site that I can, literally EVERY site that I can. But alternatively, I also now use a software program called “RIOT” (Radical Image Optimization Tool) which is “oh-so-much-better” than any plugin for making images smaller. I can make 50k files down to 6k, and so on. Why would I need to use a plugin, if I use software? Well, firstly, because clients will never put their images through a separate software program first, so this “forces” all their images to at least be partially optimized and smaller, without them having to do any extra step. Secondly, I haven’t installed RIOT on all of my computers yet, so it means that at least if I don’t have access to RIOT, that my images can still be ‘smushed’ down a bit.
Why I use it: Ultimately – to make my fast load faster for visitors. I used to use WP-SmushIT but that didn’t do barely anything at all: half the time the images weren’t smushed, or it would “break-down” while trying to smush all the images. I desperately needed to use less-resources on my sites as my host was threatening a shut-down, so I had to do everything I could to make my sites load faster and use less resources, and this is a plugin that I found to be the only decent alternative to WP SmushIT. It does a pretty good job, but if possible, you should try and make your images as small and as compressed as possible before uploading in the first place, so I highly recommend you get RIOT (it’s free) and start using it as well or instead of this image optimizer.
Make sure you also review the other WordPress Plugins that I recommend:
- The full list of WordPress Plugins that I recommend (on one page, without images/descriptions)
- Site Performance WordPress Plugins (This is the page you are viewing currently)
- Site Protection WordPress Plugins
- Tracking & SEO WordPress Plugins
- Pretty WordPress Plugins