WordPress is a plugin hub and that's one of the biggest reasons people choose the platform to build and run their website or eCommerce store. Adding a WordPress plugin makes things much simpler, there's no doubt about that. But it also might bring in lots of code and functionality you'll never use and clog your site down eventually.

Each time you add a new plugin to your site, you get your needed feature but sometimes you also get an additional burden that will affect your performances, maintenance costs, and indirectly your bottom line.

Here's the burning question you should pay attention to: why can't you just keep adding plugins so that the need for hiring a developer is completely abolished?

The amplitude of WordPress plugins and the ease of finding them trick you

When you have a WordPress website, normally you have a combination of a theme that provides certain functionality and some plugins to add some extra features which are not provided by the theme or by WordPress itself already.

How many WordPress plugins are there - 2018

Yes, WordPress offers more than 55k free plugins that can sort out and handle almost every issue that a website might have to face. Be it simple blogging or complex WooCommerce-related, there will always be plugins that can handle the functions that you need and offer much more. WordPress developer and Codeable expert Daniel Klose explains however:

The beauty of WordPress is that you can build stuff quickly. You can just throw plugins at it and it does what you want. But actually, it comes at the cost that your site will become less proficient as days pass by.

That's where things get slippery and you should start paying attention.

The amplitude of WordPress plugins and the ease of finding them might trick you into thinking they're the most effective solution for your website. Or at least, by having thousands that are available for free works as a strong magnet for your business decisions.

Here's what you need to know.

Plugins can add to performance issues

There is this constant choice that you come across because plugins piling up will eventually lead up to making your site heavier in terms of the data that's been loaded for a certain page.

Users today are extremely sensitive to page load times and even half a second can make the difference in making them leave your website and searching elsewhere.

Choosing to keep adding plugin over plugin is not a healthy recommendation and there are careful choices that have to go behind the decision. Too many plugins might not be an issue in the beginning but, once the users start rolling in, things can take a turn for the worst:

The worst case scenario is that you get all these visitors you really want on your site, but then your site breaks or is so slow and that it can't handle anymore. So it's a bit of an upfront investment you should do, and then you can reap the benefits later.

Not all WordPress plugins are created equal, though: some of them follow best practices, others are just poorly-coded. There are many that sit in-between of this spectrum too. That's something you need to know and consider each time you're thinking to add a new plugin to your site.

It doesn't matter how many WordPress plugins you're using as long as they're quality plugins. That's the main point you should keep top of mind.

Plugins aren't always the most cost-effective solution from a business perspective

Plugins are extensively developed tools that sometimes offer a wide range of functions besides the ones that you originally wanted. These features are not immediately relevant to you and, as long as you don’t find a use for them, they sit there as additional elements you need to take care of. Maybe even slowing your website down, with the result of spoiling your UX.

Let me give you an example.

Let's say you're looking for a plugin that performs a specific function like adding banners in a specific area of your site.

I'm sure you'll be able to find at least a brilliant plugin serving this purpose that is free. Problem is that most of the available plugins might offer much more than the feature you need, like analytics panel, custom post types, A/B test options.

By adding these unnecessary set of features, you're literally adding new items to your maintenance costs basis even though you're not using them (and probably won't do in a while).

Sometimes, you just need a specific feature, not a full-scale solution. And by adding lightheartedly plugins on top of others results in increasing your maintenance costs in the long run but also affecting your website's performance, hence your bottom line.

Continuing with the example here, instead of installing a complete solution for ads and banners management, a developer can easily add the custom banner feature to your website without having the burden of extra components that you might not need. Now you're faced with a choice in these matters, as Daniel points out:

If the developer only takes an hour or two to program it into the existing site, do I really want to add a free plugin that adds maybe half a second of load time which costs the customer at the end, or do I want to spend this money and get a developer to build a custom integration of this specific feature I'm looking for?

Does a free plugin still sound like the perfect answer? Mmmh, I think you're starting to see things differently.

What about premium WordPress plugins? Can they bring in "too much" for your needs?

As we've seen with free plugins, the same story applies here as well.

Let's pick one premium plugin we love at Codeable (we're not the only ones): Gravity Forms. In short, Gravity Forms is a premium plugin that allows you to create forms which you can then use on your site or eCommerce store.

Such premium plugins usually rely on teams of developers who spend a lot of time developing and always improving their product. They combine all their experience and sell it as a premium WordPress plugins for a fixed price.

Hiring a developer and ask them to develop an exact copy of the same plugin for the same price is simply nonsense. But that doesn't mean you always need to buy a premium plugin to get your needed, specific feature.

Maybe you don't need all the features Gravity Forms brings in, which you're requested to pay for on a yearly basis. Maybe you're just looking for a fast and lightweight email form you can use on your website. If that's the case, it might be a more cost-effective solution hiring a developer to custom code one for you because it will be like the one you needed and will smoothly integrate with your other plugins. As Daniel highlights:

Even though sometimes a plugin might seem to be cheaper, it's still well worth it to have a custom solution in place, one that exactly matches with your needs because it's a cost-effective solution from a business perspective.

Plugins vs custom functionality: it's a long-term decision

Running a WordPress website means taking care of it for good: intercepting speed and performance issues as soon as possible, keeping it's code secure, keeping all up-to-date. In fact, maintenance costs play a big role in a business yearly budget.

That's what you should always keep front of mind when evaluating to add a new feature. You should be asking yourself:

What's the most effective solution for my business?

How a WordPress website is able to support your business and its relation to plugins is a long-term game.

Today, you just want to add a new feature and you find a plugin (it doesn't matter whether free or premium) you'd like to install. That's okay, no harm in that per se. But what happens over the course of maybe 2 years? What in 5 years? At that time, you might have probably added 10, 20 or even more plugins to your site if you inconsiderately keep piling plugins on top of one another.

If that's the approach, you'll reach a point where your site gets bloated with undesired functionality and chunks of code that are simply of no use. On top of that, using so many plugins will increase the time required for maintenance tasks, and your chances of experiencing undesired issues will skyrocket. As Daniel explains:

If you keep installing plugins, soon or less, you'll need to reconsider your course of action, your strategy. More often than not, you'll find yourself whether it would be better to get rid of some of the plugins and build custom functionality instead. This has indefinitely more value than the cost you'd actually spend on the development of the
certain feature because it affects your future maintenance costs, your performance, and your overall site UX.

Your best option: take the best from each approach and run with it

So it's plugins vs custom features the right way to look at the matter here? No, it's not a disjunctive conjunction. It's quite the opposite!

Plugins and custom code both are tools you should leverage to grow your business. There's nothing set in stone here, as each website has its own needs and setup. Here are some mythbusters-type truths you should know about plugins and custom code:

  • Free plugins aren't always a poor solution
  • Free plugins shouldn't always be your last solution
  • Premium plugins aren't always your best option
  • Hiring a developer to custom code your feature isn't always your most expensive option
  • The more plugins you add, the higher your maintenance costs and your chances of experiencing issues (both with security and performance)

Assessing the quality of a plugin and foresee how it'll impact your resources in the future might be easier for technical business owners. Yet even non-techie can do informed decisions pretty easily by talking with a developer and collect insights on maintenance costs about different solutions. As Daniel comments:

A good developer can support you in the decision process with their experience. If you tell them what feature you want and, for example, show them some plugins you already have in mind, they can have a look at your suggested plugins and tell you why they could be a good solution to work with or not. In that case, a professional developer will suggest other ways that provide you with the feature you're looking for. Sometimes, a feature it's so simple to integrate that's better to do it from scratch so that we have much more freedom.

Don’t forget, though, that if a developer is a serious professional, they will always choose a free plugin over custom development if such plugin is the right solution for the client.

The lesson to draw here is to look at solutions differently. So, if you're thinking about adding a new feature to your site, it should no longer be "plugins vs custom code". Instead, you should take advantage of both and take a "plugins AND custom code" approach towards your site needs.

Wrapping up

All website needs features to serve their users. Thanks to the great number of plugins available, WordPress can lure you into thinking a plugin should be your first choice all the time because they cost less than hiring a developer to custom code that exact feature from scratch.

That's not 100% true, though.

A plugin might bring on your site a set of undesired functionality and features that will negatively impact your maintenance costs, performances, and security. I understand that a free plugin seems hard to beat when compared to a custom feature being developed from scratch which might cost $200 and up.

As a business owner, you should look for effective solutions for your business. That means realizing that it's almost never about what you're paying today (no matter if it seems a lower price), it's always about how that feature will enhance your site and cost you in the long-run.


Daniel Klose is a Tech-Wiz, Blogger and Industry Professional. Born and raised in Germany, he quickly discovered his passion for all things digital. As a full-stack developer, he now supports small and medium-sized businesses in their digital endeavors, with a focus on scalability.Quality: The Codeable Differene

  • Brett Atkin

    Something you glossed over is that custom developed code requires updates as well. You can come to Codeable, hire a developer to create a custom shipping plugin and be happy. Until the day when WP or Woo have an update that breaks the custom plugin or vice versa. Assuming you do your due diligence and test things out on a staging environment, you’re still left with getting the plugin updated to work and you can’t update WP or Woo until you do. What if that original developer is no longer on Codeable and/or isn’t interested in making the updates? You have to pay another $300-400 dollars to have another developer step in and update the code. And this cycle will continue during the life of the site. I’m speaking from experience here – I have a client that has two critical custom coded plugins from Codeable developers and we’ve had to go back to each multiple times for updates in the last 12 months.

    I’m not a fan of implementing numerous plugins but I’m also not a fan of getting a bunch of custom code that ultimately has to be maintained just like any good plugin does (i.e., Gravity Forms), especially critical code. I pay for numerous premium plugins (Gravity Forms, Restrict Content Pro, Slider Revolution, Envira, etc.) so I don’t have to worry about updates and have a team I can ask when things go wrong. Now that does commit me to renewing my licenses every year but I think it is worth it.

    There is long-term overhead to any WordPress site but pushing custom development over plugins is a bit self-serving isn’t it?

    As a general statement, I always recommend clients stick with the generally accepted way of doing something in WordPress/Woo versus going with a plugin that targets a very specific use case and/or hiring a developer to code something up special. It is better and cheaper for them in the long run, whether that is custom code or a plugin.

    • Hi Brett,
      thanks for stopping by.

      Well, I didn’t push custom development over plugins. I just highlighted that it’s not always the case that a plugin is the most cost-effective solution for a site manager.
      Your approach of using premium plugins is one not only I agree with, but also I suggest others to follow IF the functionality these plugins bring in will be used.

      I’d like to better understand what you mean here, when you say:

      I always recommend clients stick with the generally accepted way of doing something in WordPress/Woo versus going with a plugin that targets a very specific use case and/or hiring a developer to code something up special. It is better and cheaper for them in the long run, whether that is custom code or a plugin.

      Mind elaborating a bit?

      • Brett Atkin

        Sure, here are two examples.

        One, I have a client that wants the basic functionality of this plugin.

        https://woocommerce.com/products/product-add-ons/

        But, they wanted a few tweaks here and there. So a developer was hired to modify the plugin. Everything works as expected except the custom plugin has “broken” a few times with updates to Woo. Fortunately, each time the original developer has been available to fix it because this plugin is critical to the overall site. If that wasn’t the case, my client would have had some decisions to make.

        One could easily argue the customer wouldn’t know the difference between the “stock” functionality and the “custom” functionality.

        Another example. I have a client that wants to charge various amounts for shipping depending item purchased, quantity of items purchased, total amount of purchase, etc. It likely could have been accomplished with 2-3 plugins, but would that really be the best solution? Would a custom solution have been a better option? Another factor was this client had a very specific set of products but planned on adding additional products down the road that didn’t fit the current scenario. My advice was create a shipping process that didn’t limit your options down the road by relying on “standard” solutions to calculating shipping charges. This decreases the chances that they have to overall their entire shipping calculation when the time comes.

        This is what I meant by “generally accepted way of doing something”. Stick with standard functionality, save your money and spend that on marketing and promotion.

        If you have the budget and want to be like Amazon or Overstock, then use a platform that offers the ability to create the desired solution. Woo/WP isn’t that solution. You bend it to far and it breaks.

        • Daniel Klose

          Hi Brett,
          Thanks for your feedback. This is exactly what I meant when saying:
          “A good developer can support you in the decision process with their experience. If you tell them what feature you want and, for example, show them some plugins you already have in mind, they can have a look at your suggested plugins and tell you why they could be a good solution to work with or not.”

          Complex custom plugins need maintenance the same way a premium plugin does. Therefore almost all premium plugins are charging a yearly subscription fee. The same is true with custom code. A good developer brings this to the attention of the client from the very beginning!

        • Yeah, I agree. Let me just highlight how professional developers – good ones – should always have their client’s goal and scenario top of mind and suggest them the best option.

          It’s often a matter of managing expectations as well:
          – if your client has really no knowledge/experience with development, you should educate them that all software will need maintenance and updates one day or another.

          – if your client is a bit more experienced on this topic, you should educate them on how to pick the right “piece of software” for their business, whether is going to be a free plugin, a premium one, or a custom functionality.
          When it comes to solutions, it’s never a black vs white option.

  • Luke Cavanagh

    Gravity Forms is regularly updated, have used it on a number of client projects, for complex site forms and for many 3rd party integrations. Granted it can increase the number of site assets on the front-end for page where the form or forms may not be used on, but is easily solved.