Making Sense of WordPress Plugins

One of the key value points that WordPress offers to its users is a seemingly inexhaustible function library of mini – applications or programming shortcuts.  There is now such a huge supply of plugin extensions that making sense of which WordPress plugins to use can be a challenge for new and even experienced users.

These plugins allow you to extend the core system in any direction without needing to be a coder or rocket scientist. This puts WordPress firmly into the hands of business managers rather than leaving it with the tech staff.

A huge part of the appeal of WordPress for me is the ability to be able to prototype various sections and leverage scripts that have already been road tested by the community.

Imagine you want a slideshow for photos (NextGEN Gallery 1,865,952 times), an events manager, an ecommerce system (WP e-Commerce) or a snip of code that automatically shows related content  (Yet Another Related Posts PluginDownloaded 465,626 times)  just to highlight some of the popular and well known ones.

Chances are all of those functional needs and questions have been considered  before.  In fact for some of the more popular tasks it may be as simple as using the add new plugin button inside the dashboard and searching then auto installing something that looks to be in the right user function zone. However many plugin developers don’t appear to do even the most simple of searches before they re-vinvent the wheel by doing yet another slightly different plugin.

So far so good but at last count on the main plugin repository there were 9,096 PLUGINS, 84,520,662 DOWNLOADS, AND COUNTING. This makes the search and selection process somewhat more complicated.

Having a vast list of plugins is a good quick way of testing out concepts and approaches. what it won’t say there on the counter page is that the vast percentage of plugins were developed to “scratch an itch” by technical problem solvers.

This means that maybe as many as 80% of the plugins have somewhat limited value to most users. And depending on the scale of your site they may very well be ideal for what you need but if you have a larger site your developers might want to look more closely at custom building functions into your theme or custom plugins – whichever is most optimal for fast performance and security.

There is an intriguing discussion over on Alex Kings blog about whether WordPress is a platform or a product As Alex says

“Another challenge with WordPress as a product engagements is managing expectations in regards to 3rd-party plugins and themes. In most cases we will try to budget time to code-review any plugin we include in one of our builds to make sure it is secure and will scale to client’s needs. This can result in us advising the client not to use the plugin or theme they had intended, or require additional time and cost investment in addressing shortcomings of the plugin or theme. There is also the issue of fixing functional bugs in these plugins.

People who view WordPress as a product will typically expect that any collection of plugins will work elegantly and seemlessly together. Rarely is this the case. Even between experienced WordPress developers you will find preferences for different implementation approaches. Mix in plugins written by developers that do not have extensive WordPress experience and you can end up trying to weld the transmission from a 57 Chevy to a tricycle.”

It is not always obvious when there are problems with a particular plugin. Many will work but may clash with certain other plugins or even theme functions and this weakness might need lots of extra testing if the site is going to be a large one.

If it is a small site, you may be able to just switch out to an alternative plugin and most of the time that will work.

Here are some of the more popular plugins. It is a fairly random set of 10 but based on the hundreds of sites that I’ve seen and worked on my guess is that most sites would have at least half of these and combinations of the next 200 or so listed plugins.

You might say that the top 10% of plugins follow a power law distribution, the true number I would guess is much lower / maybe 3% of the total 9,000 or so. The other 97% of plugins have a very long tail distribution.

Your search choices are as follows. The other variables are voter approval (highest rated) by version and general age of the plugin including how many times (Recently Updated) the plugin has been updated. Raw downloads are indicative but if the plugin is updated 6 times per year you may want to divide that number by 6 to get a better idea of relative popularity.

Sort by Relevance, Highest Rated , Newest , Recently Updated, Most Popular

Unfortunately the search filter process is not as good as just using a Google site search. For example looking for SEO plugins as below.

site:http://wordpress.org/extend/plugins/ SEO

If you search around you can find various top plugin lists that might also be a useful guide.

Finally some of the differences between plugins simply come down to the programmers preferences and arguments about quality of programming code are eternal. They remind me of the Paul Grahams Blub analogy

“Blub is a hypothetical programming language; it is an average programming language “[r]ight in the middle of the abstractness continuum. It is not the most powerful language, but it is more powerful than Cobol or machine language.”. It was used by Graham to illustrate a comparison of power between programming languages that goes beyond Turing completeness, and more specifically, to illustrate the difficulty of comparing a programming language one knows to one that one does not[14]:”

Sometimes all the programmers are wrong or all right but ask an engineer and the better measurement might be optimal speed of loading or security considerations.

So what is the best way of making sense of WordPress plugins?  I would say the worst person to ask about this is a programmer.

In the past I have run plugin workshops for individual clients to review what they have in context and compared to what other similar sites might be doing.

However if you are a programmer I’d have a good long look at the Blair Williams presentation called : Pimp Your WordPress Plugin or if you’d rather check the video for Pimp Your Plugin over at WordCampTV. Also worth checking out is another recent video by Jonathan Dingman: Essential WordPress Plugins & Optimization should be standard issue for new installs and methods for squeezing the best performance out of your new WordPress blog.

Help in picking plugins is very much on the way. Later this year instead of a version update for WordPress itself the community is being encouraged to work together on a number of the top plugins. These will be identified as core plugins.

One of the best ways of improving code quality is to engage multiple programmers who can argue about what is best and hopefully peer review some of this the same way that WordPress code is reviewed. This is an excellent move in my opinion and I look forward to seeing how it goes later this year.