WordPress pluginsI regularly contribute to the WordPress Experts group on LinkedIn and a topic that has been cropping up a lot of late is “how do I choose the right WordPress plugin for my site”. So, based primarily on the contributions in this discussion, I thought it would be helpful to put some of Refined Practice’s thoughts on the matter out to the wider web.

  1. The first thing to say is that choosing a plugin is of course very dependent as to what you need to do with your WordPress site. You should only use a plugin when core WordPress functions can’t do what you need. There are an awful lot of plugins out there that claim to ‘enhance’ existing WordPress features – these are best avoided unless you really, really need the small bit of extra functionality they provide.
  2. Try and use as few plugins as possible. The more you use, the more you’ll have to keep up to date and the more reliant you are on third parties to keep their code current.
  3. Does the plugin actually work? If you’ve got the latest and greatest version of WordPress you may find they plugin you’re getting excited about isn’t ready for it yet. Check compatibility with your version of WordPress before you download. Every plugin in the WordPress plugin directory shows what version(s) of WordPress it has been tested against – if your’s is not listed, then proceed with care! Which brings us on to the next point:
  4. Check out how often the plugin is updated. Do the developers keep it current and test with new versions of WordPress when they come out? You don’t want your site to end up relying on a plugin which stops working in a couple of releases time. Every plugin listed on the WordPress plugin directory shows when it was last updated – if it’s more than 6 months or so ago then again, proceed with care.
  5. Do your research. For (almost) everything you want, there will be more than one plugin you could use. Have a look round the web, and ask on forums for advice on specific issues to see if anyone can recommend anything. When asking for advice, be as specific as possible – what do you really need the plugin to do?
  6. Security check: Google for known security issues for the plugin you are considering, and check out databases like http://www.exploit-db.com/ and http://secunia.com/community/advisories/ for known issues.
  7. Only take what you need. Some plugins offer all manner of options all wrapped up in to a single plugin (e.g. W3TotalCache). That’s great if you need all those options, but if you only need a small part of the functionality it’s probably better to look for something more lightweight.
  8. Test test test! Despite what some people may tell you, not all plugins play nice with one another (WPML and WP-Ecommerce springs to mind). So, whichever plugins you want to use, make sure you test them all together before making anything live.

If you have a more technical background and are comfortable with PHP then I’d also recommend taking a peek at the source code of a plugin before using it. Some of them are really badly written and best avoided. Also, once you become familiar with WordPress coding you’ll find that there are a lot of plugins out there where the only bit of functionality you need can be replicated using a couple of lines of self-written code in your functions.php or other theme files which is often a better way to go.

One last piece of advice for the more technically minded: be careful with sessions. WordPress core does not rely on sessions, which is a particular boon if you are running your WordPress site across more than just a single server and it also avoids the performance hit associated with starting and checking the session on every page load. Some plugins need sessions to function (fair enough) but others use them needlessly – these are best avoided.


Want more from Refined Practice?

For all the latest updates, follow us on Twitter:

Or like us on Facebook:


Leave a Reply

Name and email are required. Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.