If I had to pick one and only thing that led me to using WordPress is the abundance of plugins.

In the official WordPress repository, as of today, you can find more than 50k of such “chunks” of software you can add to your website and eCommerce store. And if you add premium ones (paid plugins) on top of that number, there’s no shortage of ways for you to extend your website/store functionality.

Do you need a more convenient way to edit your metadata info for your on-page SEO activity?
Do you need to add PayPal as a payment method to your eCommerce?
Do you need better ways to manage your cache?

Thanks to plugins, you’re (almost) covered!

But what if nothing on the market addresses your current needs?

What happens when your needs are so specific that go beyond what a given plugin can provide you with?

Each business has its own needs and, based on them, its own path to being successful and profitable. That’s why the very same plugin can be good enough as is for a business website, while in need to be further customized for another. Or maybe none of this is even slightly applicable in some cases and only a brand new, developed from scratch plugin would make the cut.

When you need a new feature, 99% of the times it’s going to be a new plugin

If you’d like to extend or add a new feature to your website, will it always be a matter of requiring a custom plugin? Well, sort of. Let me elaborate.

No matter how complex the number of new features you’ll need to add, or even just tweak, most of the times it’d be a custom plugin you’ll be looking at when calling for WordPress custom development. Why is that? There’s a pretty straightforward reason: best practices suggest to “bundle” new features into a plugin rather than hard-coding them directly in your functions.php file.

What are the main benefits of this approach?

If this is what best practices suggest, it sure has beneficial outcomes you might not want to disregard. Specifically, adding new features/extending a plugin functionality as a custom plugin will provide you with:

  • More control: this approach splits into several independent elements your website from its core functionalities and design. For example, your requested new custom features will stay in place even when you’ll change your theme.
  • More granularity: this approach makes it easy for you to turn on and off specific site functionalities.
  • Easier update management: this approach is more convenient when it comes to keeping your website and its parts up-to-date.
  • More flexibility over your code: this approach gives you the opportunity to branch out (part of) your code into a brand new plugin or products.

As you should never directly change WordPress core files, the same thing applies when it comes to adding new features to plugins. If you’re a bit technically experienced, there’s an interesting article from Ian Dunn listing out the best way to customize a WordPress plugin if you're interested.

The step-by-step process to adding new custom features to a WordPress website

Back to your main goal: you need to add new functionalities to your website and/or extend a plugin you’re currently using.

What should you do as your first step, then? Let's see!

Step 1: list out your desired set of new features

When you’re in need of custom work for your website you want to nail it right from the beginning, otherwise you’ll end up wasting your resources. Therefore, having a detailed list of all the new functionalities you’ll be asking is a must.

Don’t take it as a conservative tip. Once you have a raw idea of what you actually need, then it’s time to gather data and feedback to smooth it and defined it even further. What I mean here is you should spend time researching “what’s out there”.

Create a document to keep track of your findings, links, resources and start looking for informative data, collect evidence that could help you out nailing your custom feature requests down.

If you don’t know where to start, try by answering these questions at first:

  • What do your competitors use for that specific feature you’re interested in?
  • What do other websites use to get your desired output?
  • Are there any free WordPress plugins able to provide you with the functionality you need?
  • Are there any premium ones able to do that? Do they have add-ons you could use to address your needs?
  • Are any of these plugins compatible with your current WordPress setup?

By spending time researching around, you’ll get an in-depth knowledge about a pretty specific WordPress use case (yours) and grow a more solid approach to knowing what you really need to be developed. On the other hand, by documenting and keeping track of everything you find, you’ll be able to craft a kickass project brief that will make a developer craving to hug you.

Step 2: foresee internal-only vs standalone and shared plugin use

As you should have understood by now, you’ll eventually get a new plugin that will need to be added to your current WordPress install. At this stage, it's the perfect time for you to pick "a side" and decide whether your plugin would be just "yours" or you’ll share it with the WordPress community.

In other words, before even asking for estimates about custom development work, you should be deciding if the plugin and its custom code will strictly be used inside your business domain or, based on different criteria and requirements, should be shared with others.

  • Will the custom plugin be something you’d use for your own business website?
  • Will it be for a client website instead?
  • Will it be for a type of business you might work for again in the future?

Understanding the proper use cases of your custom WordPress plugin will shed some light on what’s the best option for you to take.

There’s no right or wrong answer here. It all comes down to what your custom plugin would do, your thinking, your relationship (or the lack of) with the WordPress community, and many others factors linked to you and your business.

Still, WordPress guidelines advise to opt for a license that works under GNU General Public License (GPLv2+) for maintaining compatibility with WordPress core. Here’s a list of licenses you can choose from.

Step 3: budget properly for your WordPress custom plugin development work

Once you have the first two "home assignments" done, you’ll be ready to start diving into one of the most dreaded matter as a business owner, which can be exemplified by this question:

How much is *this* going to cost me?

Well, I don’t want to give you a broad answer as those you can find online, such as “Expect to pay something from $100 to $10,000”. This is just insane, far from being useful.

Instead, I’m going to give you all the major elements you’ll need to take into account (and eventually pay for) when it comes to requesting custom WordPress development.

Let’s now narrow down the focus to what we can state with 100% accuracy:

What accounts for the final price of your custom WordPress plugin

Custom plugin development pricing is inevitably related to:

  1. Time required
  2. Hourly rate
  3. Experience needed
  4. Complexity
  5. Current environment

Let’s have a more detailed look to each of them.

1. Time required

How long will your custom WordPress plugin take to be developed? I’m not going to sugar-coat it: the complexity and abundance of options to answering such a key question are overwhelming. Nevertheless, as a business owner, you need to find an answer to this burning question.

Since we’re talking about budgeting here, there’s no better and effective move than talking directly to a few developers to get ideas or even estimates. This means you’ll need to find WordPress developers you’re confident will be able to address your requests professionally.

This could happen via an extensive research for freelancers and then reach out to them individually or, if you know some in person (like a friend), you could talk to them directly and ask for valuable feedback.

FYI: If neither of these two options sounds appealing, after posting your project on Codeable, you’ll be able to start chatting with pre-vetted WordPress experts in minutes. If that’s not enough, you could also jump on a 1-to-1 private consultation with the one you think it's a great fit for your custom work.

Is there any other way to get the same type of information? Well, so-so...

If for any reason you’re not willing to start talking directly with developers, you could still have a chance to gather some valuable information from other sources such as:

  • WordPress meetups in your area
  • WordPress forums
  • Groups on social networks like Facebook, LinkedIn, Google+
  • Subreddits related to WordPress development

Keep in mind a couple of things here that directly affect the quality of answers and information you’ll get:

a) You’ll never get a once-and-for-all, definite number when inquiring a developer about "How much would X cost me?". Just as talking to different plumbers for fixing your pipes, won’t get you one shared number. Your purpose should be to better understand why they came up with that number, what they took into account, what elements sounded obscure to you and those you’re more familiar with. This has to be the ultimate goal of such activity.

b) Don’t push it, and always thank for the valuable feedback. When you ask questions related to development, those answering to you are using their time, knowledge and experience to formulate their answer without knowing if they’ll ever be hired to do the work. And someone who does that should always be thanked.

Now, back to the main elements that add up to a custom plugin's final price.

2. Hourly rate

Another element directly affecting how much your custom developed plugin is going to cost you is, without any doubts, a developer’s hourly rate.

In State of the Word 2011, along with the commentary and updates about WordPress, Matt Mullenweg presented to the audience some interesting numbers for the first (and only) time. Yep, 2011 was the first and only one ever year in which the WordPress community has not only been surveyed about such topic but also publicity showed data related to hourly rates from WordPress developers around the world.

So, how much does a WordPress developer charge per hour?

Based on respondents worldwide with any level of experience, which brought in a $5 - $2000 range for rates, here’s the answer:

Average and Median hourly rates for WP Devs
  • Average hourly rate for a WordPress developer is $58.
  • Median hourly rate for WordPress developer is $50.

Does it make any sense? Probably, as you should consider developers from all over the world shared their rates. This means higher numbers coming from higher-cost labor markets have been mitigated by those coming from lower-cost markets.

Pay attention, though. In US, UK, and EU for that money, you could hire up to an intermediate WordPress developer, which is not a specialist nor an expert in a given field. For those professionals expect to pay a minimum of $80-$125 per hour at least. At Codeable, the minimum hourly rate falls into this range as well.

3. Experience needed

The developer's experience directly affects the time required and the quality of delivered code, thus your costs. Your best bet is to dwell a bit more into finding a WordPress developer who has proven experience in your desired field of work.

By following this approach, you’ll be able to leverage the developer’s foreknowledge and ability to prevent common issues from happening.

4. Complexity

Another key point to consider here is how complex your custom development project will be. Your idea of complexity, as a client, can widely differ from the one your project features. As Fred Meyer suggests:

The difference between a haircut and a web project is the degree of complexity. The job of giving a "men's haircut" can vary a good deal based on the man in question, but the process is largely understood before it is begun, making it easy to price predictably. With complex web projects, however, almost the whole job is learning how to do the job itself. That’s a lot trickier proposition.

Unpredictability is complex projects' mysterious sister. That’s why by hiring an experienced WordPress developer, rather than a beginner/intermediate one, you’ll be able to lower your chances to waste your resources.

5. Current environment

If you did your research before beginning to ask for estimates around, you’d know whether there are tools and plugins you could build on top of available on the market.

Will any of these get you the same output? Would editing their codebase do that? As Chris Lema suggestes:

Instead of building a custom solution from scratch, sometimes the best approach is to grab a few key plugins, and then pay a developer a bit to connect some dots for you.

There you have them, the 5 key elements that will surely have an impact on the final price for your custom plugin work.

Now back to what you should do after listing out your desired features, understanding how you'll be releasing the plugin, and taking into account all the key elements for properly budgeting.

Let's move to the fourth step...

Step 4: understand if you'll need a custom plugin vs extended versions of available plugins

In your "quest" for custom WordPress development work, opting for either one of the options available can radically impact the price you'll be paying. Specifically, taking the path towards a fully custom WordPress plugin will surely get you what you need, but would also put on the table more time to be developed and higher costs.

On the other hand, choosing to work with current plugins and extend their functionality would get you faster results, a likelihood of lower costs but eventually might raise new problems (compatibility issues, for example) you didn’t expect to see.

From a business perspective, it'd be useful to ask: is it truly necessary to develop something 100% from scratch? Based on different needs, your answer may vary from project to project.

Time, money and delivered outputs

There are plenty of elements that can affect how much you'll end up paying for adding new features to your website. As the requester, you have to afford the full development cost by keeping in mind that the final price relates to how complex and specialized your needs prove to be.

Hiring someone to develop a custom plugin from scratch might not always be the most effective option on a business level. Most of the times, it'd be more efficient to "dip your toe in the water" first with an MVP and then, after some tests and actual feedback, invest your resources in those new features that proved to have an impact on your business.

If there's one undeniable truth to share here, I'm sure it's this one:

In the world of WordPress development, a quality product delivered fast and for a cheap price doesn’t exist.

And if you deeply think about it, you can find it nowhere else in the world we both live in.Quality: The Codeable Differene

  • Great write-up on this topic.
    I always wondering one thing: if you take an existing plugin (let’s say it’s a free, non-commercial plugin) from the WP repo and customize it to your needs, add / strip out functionality to suit your needs and change it quite a bit to serve a different purpose would it be ethical to package that up and sell it as a standalone product? Given that all the credit to the original author is given in the source code.
    I seen this before and I assume it is sensible to contact the plugin author and get permission – I’m wondering if you Matteo or anyone you know encountered a case like this during your career?
    regards
    Imre

    • Hey Imre,
      first of all: thanks for your kind words ?

      Secondly, what you’re describing here is a tough scenario because it’s some gray area in between taking advantage of someone else’s work (and probably make money out of it) and what the GPL license allows anyone to do (given all the criteria are meet, as you said).

      In my 11-year working experience with WordPress I never encountered a case as the one you describe. But that’s my personal professional path, maybe others have seen that happening frequently.

      All in all, I think being ethical it’s going above what the GPL license and common sense tell us. Problem is everyone have a different and personal definition of common sense ;)

    • Hey Imre,
      first of all: thanks for your kind words ?

      Secondly, what you’re describing here is a tough scenario because it’s some gray area in between taking advantage of someone else’s work (and probably make money out of it) and what the GPL license allows anyone to do (given all the criteria are meet, as you said).

      In my 11-year working experience with WordPress I never encountered a case as the one you describe. But that’s my personal professional path, maybe others have seen that happening frequently.

      All in all, I think being ethical it’s going above what the GPL license and common sense tell us. Problem is everyone has a different and personal definition of common sense ;)

      • yeah, common sense has an elusive definition nowadays I agree:)

        apologies for the slight off topic on your article and thanks for the reply

    • Cadu De Castro Alves

      I haven’t seen anything related to paid plugins but I’ve already seen developers forking existing outdated free plugins, i.e., the ones whose developers don’t update for a long time and/or stopped giving support to users.

      In all cases that I remember, the “new owners” gave the credits for its creators. In general, you see something described as “this plugin is based on XYZ plugin” or “this plugin is a fork of the outdated XYZ plugin”.

      • as you mention that, I have seen that too. It really is a very similar case actually and by doing this devs give a “new life” to a potentially outdated piece of code that ma still hold good features

        thanks for this

        • 100% agree! I mean, even if the developer is no longer able to keep up with the plugin development (or simply they don’t want to do it anymore), it doesn’t mean the code in there is useless and has to be “wasted”. Good call!

      • That’s great! Do have any specific ones you remember and would like to share with us?

  • Don Chamberlain

    Matteo,
    Perfect timing. I just have need for such a plugin. You suggest posting the requirements to get feedback. That’s one of the issues I have with Codeable. It’s no problem if you have a well defined project and some idea of how much time you think it will take, but something like this is not that straight forward.

    I was planning on describing my project in as much detail as possible and post a task to evaluate the requirements, provide feedback on feasibility and suggested approach. I planned to budget this for a 3 or 4 hour project and hope that one or two developers with experience in the area would propose taking on this evaluation.

    My hope was the one I selected would report back in enough detail so I could determine whether to go ahead and hopefully have a reasonable idea how much to budget for the development if it seemed feasible at a cost I could afford.

    I guess it would be a plus if a developer or two provided a little “free” advice up front on how the requirements could be improved or a general opinion on the feasibility, but based on my past experience I don’t really expect that to happen.

    Any ideas how to go about this most effectively?

  • Don Chamberlain

    Matteo,
    Perfect timing. I just have need for such a plugin. You suggest posting the requirements to get feedback. That’s one of the issues I have with Codeable. It’s no problem if you have a well defined project and some idea of how much time you think it will take, but something like this is not that straight forward.

    I was planning on describing my project in as much detail as possible and post a task to evaluate the requirements, provide feedback on feasibility and suggested approach. I planned to budget this for a 3 or 4 hour project and hope that one or two developers with experience in the area would propose taking on this evaluation.

    My hope was the one I selected would report back in enough detail so I could determine whether to go ahead and hopefully have a reasonable idea how much to budget for the development if it seemed feasible at a cost I could afford.

    I guess it would be a plus if a developer or two provided a little “free” advice up front on how the requirements could be improved or a general opinion on the feasibility, but based on my past experience I don’t really expect that to happen.

    Any ideas how to go about this most effectively?

    • Hey Don,
      as I explain in the article, after you do some research around your desired feature, your best move is to talk to devs to collect feedback.

      I planned to budget this for a 3 or 4 hour project

      How can you be 100% sure it won’t take 20 hours, or 50? What you think it is a minor or “small” tweak might be a complex project from a development perspective.

      My hope was the one I selected would report back in enough detail so I could determine whether to go ahead and hopefully have a reasonable idea how much to budget for the development if it seemed feasible at a cost I could afford.

      You could achieve this by jumping on a 1-to-1 consultation task related to your posted project. If you want to do this, please go to: https://app.codeable.io/tasks/new and pick “Start a consultation”.

      • Don Chamberlain

        Cool, It looks like you’ve changed the interface, or I just never noticed the consultation option before. I’ll give it a try.
        Thanks!

        • You’re welcome!

          The consultation is a good way to get your questions answered. And yes, we changed our UI a while ago to make it even friendlier and easier to use.

  • Thanks for sharing this great article, I am using the plugins on my website too but most of them are free. why it is necessary to buy a premium word press plugin. does it affect the ranking of a website.

    http://www.accaglobalwall.com/acca-p1-lsbf-videos-lectures-2017/

    • Hey there,
      It’s not necessary to buy premium plugins, but sure it’s worth considering to invest money on one of them if that premium plugin helps your business in any sense (better conversions, increased number of sales, faster pages, etc.).

      Plugins don’t affect directly how your website ranks, unless they’re SEO plugin. And even in that case, you are required to tweak and edit info that might boost your rankings eventually. It’s not the plugin per se, it’s your SEO-focused meta data added to your website through the SEO plugin.