The purpose of a Content Management System, such as WordPress, is to give users the ability to build a custom website without needing to program it from scratch. WordPress itself provides a foundation of basic functionality for a simple site (user management, basic pages, a blog, comments, etc.), and a theme provides the look of the site. But the plugins are add-ons that provide additional functionality to website. The selection of plugins that you decide to install and use on your site is really what determines the type of website you have. With the right combination of plugins you can have a WordPress site that is an online store, a social network, a photography portfolio, a news hub, a corporate intranet, or any other type of site.
Where do plugins come from?
WordPress.org hosts a repository of over 54,000 free plugins. These plugins are created by developers all over the world and contributed to the repository for anyone to use. And there are many more, usually premium (paid), plugins available from third-party sites. A single plugin might be only a few lines of code that adds a smiley face to end of every blog post, or it can be a huge piece of software that transforms your site into a shopping platform. Here is a random list of the functionality some of the plugins from the repository add to a site:
- contact forms
- improve SEO
- make duplicates of blog posts
- migrate your website
- disable comments
- add an image slider
- add an event calendar
As you can see, the possibilities for your site are endless with the right selection of plugins.
Picking the right plugin
When you’re browsing through the repository, there are some key items to look at when considering a plugin. Obviously start with the description of the plugin and see if it sounds like it does what you need it to do. But it’s also very important to keep an eye on when it was last updated, how many active installs it has, what its rating is, and how many ratings it has. If a lot of people are using it and like it, that’s a really good sign. If it’s been updated recently, that is too. If you’re on the fence about a particular plugin, checking the “Support” tab to see what kinds of issues people are reporting with the plugin can provide more useful information.
It’s important to remember that not all plugins are created equal. The reason there are so many plugins available is because WordPress is popular and not difficult to develop for, so the quality level varies greatly. Ultimately there’s no substitute for actual experience with the various plugins, which is why here at Watermelon we are constantly reporting our experiences to each other and regularly asking each other for input. Our combined experience working with these plugins in different contexts is one of the great values we bring to our clients.
What about themes that provide functionality?
The separation between the purposes of the plugins and themes is not as clear in practice as it is in the strict definitions of the two. If you’ve been around WordPress for a bit, you’ve probably seen themes that incorporate a lot of functionality that can also be found separately in plugins. Sometimes that functionality is still provided by a plugin that is either bundled with the theme or simply required by it, but some themes integrate plugin-type code directly into the theme itself.
Initially using a theme that provides a bunch of functionality can be a quick and easy way to get a fully customized site up and running without the need to find, install and test multiple plugins. And it eliminates any concerns about how the plugins will interact with each other and the theme. Especially if the theme and its suite of functionality are a really good match for the site you want to build, it might seem like a pretty ideal option. But using these types of themes has some potential drawbacks to be aware of too.
What will happen if the theme stops being supported, or you decide at some point to change the theme? If those extra features included with the theme aren’t provided by a standalone plugin, then you will lose them when you change themes. That could create the need for additional work, including possibly migrating data, that would have been unnecessary if a standard plugin had been used instead.
You will often have less control and flexibility over the individual components when they come as part of a bigger bundle. This can be true for plugins that provide a lot of functionality in one plugin also. Generally speaking, a plugin that is focused on doing a single task, will excel at that task, whereas a theme or plugin that attempts to do “everything” will generally need to consider the “big picture” more and won’t be able to provide the same level of customization and features for the component parts. Would you rather use the scissors on your Swiss army knife, or a regular pair of scissors? And adding a separate plugin to take the place of functionality that is already provided by the theme can be quite difficult and create conflicts.
Updates & Security
Keeping the plugins and themes in separate packages means that they can each receive timely updates appropriate to their needs. And if one of them stops being supported or turns out to have a security vulnerability, it can replaced or updated with little impact on the other elements of the site.
All of this is not to say that you should always avoid themes and plugins that bundle a lot of functionality together, but it’s important to be aware of the trade-offs, since you lose some of the benefits that make the plugin system so ideal.
One final thought
Sometimes you still have a need that is specific enough that an existing plugin won’t do the trick. We regularly find ourselves developing custom plugins for clients with such needs. Now that you’re familiar with what a plugin is and where to look for them, if you have any questions, or you think you might need something that the available plugins don’t provide, please let us know. We’d be happy to help.