You Don’t Need A Plugin For Everything

I’ve recently being developing a new design for my first ever WordPress powered site, Nometet.com. The design is looking a bit shabby at the moment, that’s the kind way of putting it! I digress though. The new design is what I’d call advanced WordPress. It’s got things like a background that is automatically resized (ie the background-image), a choice of three post templates, a fancy review section which holds the score and things like blockquotes that change depending on which category you’re in.

Here’s the thing. I’ve not used a single plugin.

I wanted to see what the fuss about frameworks was all about, so I took my own advice and I thought I’d try and build a site with Elemental as it was my favourite. How I got on is something for another day, but I think it says something about the power of WordPress’ built in functions (like post_class and body_class which I’ve used to get out of many a hole) that I’ve been able to get this far with no plugins. The only non-standard thing I’m using (that’s built into Elemental and not WordPress) are post templates.

So if I’m able to make more or less a whole site with some advanced features with no plugins, how come people are using plugins for utterly useless tasks?

There’s nothing wrong with using plugins, that’s not what I’m trying to say, just please don’t use plugins for trivial tasks. That’s what I’m getting at. Sure, some people find plugins easier to use, not everyone is comfortable customising themes, that’s fair enough, but if you’ve got a plugin that is doing something like changing all your permalinks so that “and” is replaced with “&” and another that changes the colour of your post titles (like, woah, it’s got a colour picker and everything!), there’s something wrong. It’s so easy to install a plugin, it’s easy to get carried away installing useless ones.

Before you jump up to defend your useless plugin that makes your life so much easier, just wait for a second. I’ve got an analogy for you. It’s fairly long, but it’s the best way I can think of of pointing out the uselessness and flaws in using a plugin for everything.

There once was a country called Bobland (named after the found, John). It was a free and fair society and one day they thought they’d revise the constitution. It started of fine, until the person in charge (we’ll call him Adam) set up a website for the people of Bobland to suggest revisions.

“As Adam added more and more, it got slower and harder to maintain.”

After they suggested them, all Adam had to then do was click ‘Add Suggestion’ and the suggestion would be added to the constitution. Some were genuinely useful and allowed for a faster running society and a safer one too. Trouble was, Adam got a bit carried away and started adding more and more to the constitution, after all, it was so easy! Occasionally he’d tweak some of the suggestions using the graphical user interface he’d built.

As Adam added more and more to the constitution, it got slower and harder to maintain. Then some people started abusing their suggestions and exploiting them for their own good. The constitution eventually become overrun with features that the people of Bobland didn’t need but thought would be useful. They ended up having to start again from scratch with their revisions. And then they all lived happily ever after.

The point I’m trying to make is as you install more and more useless plugins, you’ll only be creating something that’s harder and harder to maintain and keep running securely and quickly.

So go on then. Stand up for the useless plugin. Not the useful plugin that makes your site faster, but the useless ones that change the colour of your links. Someone’s making them, so there’s got to be a reason, no? For me the some people can’t edit themes argument is a bad one. You’ll have to do better than that.


21 Responses

Comments

  • We call this ‘pluginitis’ in our office – when we see a site starting to drag because of 50+ plugins, many poorly coded, and often over 300 queries per page.

    Most sites simply don’t need that much going on, and, a plugin being generic it’s likely to perform worse than one written for your very specific purposes.

    The only real problem comes when you’re working with off-the-shelf themes. If they update then any tweaks will need to be checked careful.

  • Darren says:

    Will you be using plugins for any part of the site?

    I’m working on a redesign for my own site too, I have to agree with you, plugins add alot of load to a site. fucntions.php can add alot of plugin like functionality to a theme anyway.

    Looking forward to seeing the redesign! too!

  • Doug C. says:

    Well, I agree with you 100%, but then there’s people like me who don’t know squat about coding (let alone PHP) and so we have to settle for a plugin now and then.

    Now if I could find some coder to help me with my tweaks I want to do then I wouldn’t need any useless plugins. At the moment that hasn’t happened so I guess I’m stuck with using some plugin to accomplish what I want. And even worse – adding inline styles to widgets (ush), which I hate,

    • Alex Denning says:

      You’re the kind of person this was aimed at (besides the people who make the plugins). I think it’s largely down to the theme you start with; using something like ShiftNews and you’ll find most of what you want to do is a) built in or b) easy to add – that’s one of the benefits of premium themes; you just need to ask and most will be happy to help.

  • Doug C. says:

    Sorry about the bad grammar. I meant “…adding inline styles to widgets (ugh), which I hate.”

    Just so you know clicking on your “Comment Policy” link doesn’t do anything. It just refreshes the page.

  • Excess says:

    Regarding the problem with the theme being updated, changed or suffering spontaneous combustion, I may suggest using the file functions.php instead of plugins. That wonderful file lets you add and substract things from the theme all in 1 easy-to-backup-and-restore-later file.

    Except really specific cases, theres already someone who wrote the functionality that you are looking for ready to be copy/pasted in that file.

    Also, with the powerful WordPress “hooks” you can erase entire areas of the themes and replace them with your own content/functionality.

    So, I’d suggest using plugins only for mayor changes, like buddypress, or things that need constant upgrades, like spam protection or security stuff.

  • Doug C. says:

    There was one instance where I didn’t use a plugin but instead hand coded the element I wanted to use. I found a site that talked about using the Comment Policy Plugin for WordPress, which displays for your readers what type of comments are acceptable, and which ones are not.

    Instead of downloading the plugin I just took a peak at his code to see how the box was displayed and created and styled a div for it myself in my ‘comments1.php’ file.

    Works great.

  • Great post! Discovering WPShout was one of the big steps in learning how to write – er, copy and paste – PHP so that I wouldn’t have to use a plugin for everything.

    I can do so much more with my site now that I know just a bit of PHP and am comfy editing it! I still use a handful of plugins, and probably always will, but love being able to add simple features without a plugin.

  • I have created theme framework called xScape that has tons of features built in taking over many simple tasks that are usually handled by plugins: paging, relative date, thumbnails, maps, many widgets and many other things. And not only that you need less plugins to maintain, you get everything in sync with the the styling.

    To top things, I made some benchmarks, and determined that theme on xScape framework (and I imagine any other full featured framework), uses less resources with all built in features than if you use normal theme and bunch of small plugins. With xScape I managed to run the same features on a website with 7 less plugins to accomplish the same task.

    Plugins should be used for complex tasks, for blog management, database maintenance and things like that, not to simply enhance things that theme should do in the first place.

  • Doug C. says:

    “Plugins should be used for complex tasks, for blog management, database maintenance and things like that, not to simply enhance things that theme should do in the first place.”

    Milan, I agree. Unfortunately, even though I was under the impression that my theme (and its designer) were quite good, there still exists a lot of things missing from these themes that you would think could have easily been added.

    Trying to track down solutions on your own is sad really, especially when you consider we are paying for yearly membership that is suppose to include this kind of support. And having the actual theme designer send you to the WP Codex page instead of addressing your question personally is lame.

    I once asked the theme designer if there was any way to find and replace the “alt” for the ‘about’ link in my nav bar and his response was, “Not that I know of. You may be able to find a plugin that can do this for you.” – o_O

    You have to wonder about people sometimes.

  • mikemick says:

    Not to be a killjoy, but I disagree. The examples given were mainly style-based, when plugins seem mainly functionality-based. Plus plugin are obviously easier to maintain (having a visual GUI).

    How about this example… Lets say I build this “share” toolbar that has links to Delicious, Twitter, etc. If I build it into the theme, then when Google releases “Buzz”, all of those sites need to be modified to add the new Buzz service. If I had made it into a plugin, I could update the plugin and then the update could push to all of the sites.

    Plugins are just that…”plugins”. They make your coding more modular and keep you from performing the same tasks over and over. Plus as shown, you can push out updates, which you can’t do in themes. I don’t think a plugin’s merit should be based on it’s complexity.

    Here are my laws… If the plugin or function is specific to that particular theme, then it goes into one of the theme files (functions.php or whatever). If it is something that can be used again (generic functionality), then it is a plugin. I relate styles 100% to themes, so there should never be a style-based plugin in my opinion (hence no “hover color” plugin).

    Just my thoughts.

    • Well, themes can have (and premium do have, and many free also) control panels or GUI much like the plugins do. Same goes with updating. The same way you update plugins, themes are updated also, so both counts: GUI and update are the same for both.

      Adding widgets and other elements to theme is more logical because you need to style it to fit the theme. Using widget plugins causes problems with 99% of the themes because it doesn’t look ok, until you modify the theme to style the widget. And that’s why many widget’s should go into theme, so that theme author can make the look proper.

      Same goes with many other elements: related posts, social networks links… And if you need settings, theme can have same level of control over them as the plugin does.

      Problem is that having too many things into a single theme is maintenance problem for the theme author, and most free themes have none of the extra elements or widgets built in, and such features are usually only in premium themes where authors are paid to create the best themes and best user experience.

  • Doug C. says:

    “…and such features are usually only in premium themes where authors are paid to create the best themes and best user experience.”

    Not always true, which I can vouch for because I paid for a premium theme and and the features and user experience are more on a par with mediocre.

    • Unfortunately, premium themes business is getting bigger, with more and more companies making them, and the quality is falling. But, there are enough great companies to choose from that will get into theme whatever customers need. At this moment I can list no more than 5 premium themes companies that are real deal, everything else is just there to get quick cash, and doesn’t care much about customers. I have tried more than 20 such companies and some of them are real disgrace.

      • Doug C. says:

        Milan, I agree. I have been thinking of trying to find a more reputable theme developer so I can get something more professional going, but then I already have everything set up now. It would be a pain to redesign the whole thing again.

      • Alex Denning says:

        Sounds like you two need to hop over to WPShift! We spent about five months making ShiftNews. One was spent on design and the other four on making it as awesome as possible in the backend.

        • No, but thanks. I have my own theme framework now that has more features built in than any other theme I have seen, with easy to use interface.

          I only tried many premium themes to see what not to do when building a usable framework, and most of them are pure ripoff.

          I was recently making a plugin for a client that used Shiftnews theme, and while theme looks good, I found control panel too confusing. Also, theme doesn’t offer much in terms of expanding.

  • mikemick says:

    I’ve never used a premade theme before. I should purchase a professional theme, just to see what practices I might not be performing or missing out on. It’ll probably help me quite a bit with my theme development.

  • There are so many plugins out there and it is true that there is no need to one for everything. This could unltimatly slow things down and becomes even more messier than it would with just having a few important ones.

Pingbacks