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:
- Time required
- Hourly rate
- Experience needed
- 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 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.
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.