Pricing Your Services: A Guide for WordPress Developers

Pricing is tricky, to say the least. And no doubt you’ve had a similar conversation to this one I had recently with a massively popular (and profitable) blog I wanted to write for:

Client: “I’m sorry to break this to you — but you’re nowhere near the $XX rate.”

Me: “Thanks very much for your feedback. Much appreciated :) Cheers”

Whether you’re a writer like me or a developer or designer, no freelancer wants to work for peanuts. Maybe you offered a client an estimate and didn’t hear back? Or, maybe the client got back with a reply similar to the one above?

Yes, they found you overpriced and when you ask around for advice you’ll hear:

“There’s nothing such as a market rate. Only you can decide what you’re worth.”

Etc. Etc.

Yes, it’s all true, but it doesn’t generally apply to absolute beginner or intermediate-level freelancers.

Of course, if you have a shiny portfolio, or if your calendar is booked out for months in advance (because you’re that good) then sure, you don’t have to think about the going rates or about what other people are charging.

However, we know that’s not how freelancing is for all of us.

And so in this post:

  • I’ll show you a surefire way to price your projects so you’re never underpaid.
  • If you aren’t sure what your hourly rate should be, we’ll look at some crowdsourced data and the going rates on popular freelance marketplaces.
  • We’ll also see some tools to help you validate your project estimate and ensure that it’s not way off the mark.
  • And in the end, we’ll see how you can meet your annual monetary targets using some cool freelance rate calculators.

Note: This guide is not for you if you’ve reached a point in your career where you charge what you want.

With that in mind, we’re ready to begin. Let’s start with the most accurate project estimating technique that applies seamlessly to all kinds of WordPress projects.

Beyond the Hourly Vs. the Flat Fee Debate: Bottom-Up Estimating

So, what’s bottom-up estimating?

Dick Billows from 4pm explains:

When the estimates of the amount of work, duration and cost are set at the task level, you can aggregate them upward into estimates of higher-level deliverables and the project as a whole.

Basically, in bottom-up estimating, you list out all the tasks you expect to do as part of the project delivery and estimate individually for each of these tasks. Next, you roll up these numbers to get the final project quote.

For example, for a WordPress site development project, the typical stages include:

  • Planning
  • Implementation
  • Testing
  • Review
  • Client training
  • Content upload
  • Soft launch (and launch)
  • Post-launch support and maintenance

If we had to apply the bottom-up estimating technique to this, we’d further break down these stages into the actual tasks for each.

At the task level, here’s how this project could look like:


  • Plan IA
  • Sketch out a sitemap
  • Determine the technology stack
  • Understand the functionality to custom code
  • Understand the functionality to prove via plugins (with or without customization)


  • Build the website
  • Install and fine-tune plugins


  • Check overall functionality
  • Check for broken links
  • Check sitemap
  • Check for access
  • Check performance metrics


Client Training

  • Show the client the way around the site
  • Explain updates and ways of uploading content

And so on.

Once you’ve broken down a project like this into individual tasks, the estimating begins. And because this estimation technique takes into account every task of the project, it ensures that you’re paid for all the work you do. Simple.

To apply the bottom-up estimating technique to calculate your project quotes, follow this simple three-step process:

Step #1: List each task you’ll have to perform as part of the project

Don’t skip even the smallest of all tasks. You’ll be surprised to realize how much work you actually put in.

Step #2: Determine how long each of these tasks will take

Don’t club any of the tasks together; add a time tag to each.

As you can tell, determining the right amount of time for the different tasks is critical to making this technique succeeds, which means that this technique will only work if you know how long you take to do the different steps.

But what if you don’t know how much time you take for the different project tasks?

Well, if this is the case, all you can do is guess the time requirements for all the tasks. And create an estimate based on the guesses.

When you make such “guesstimates,” it’s possible to be over ambitious. You may think that you’ll choose the technology stack in five hours, but you might end up taking a full day. So don’t go with your first estimate. Consider these three things:

  1. The best case estimate (a)
  2. The most likely estimate (m)
  3. The worst case estimate (b)

And your final estimate (E) becomes: (a + m + b) / 3.

(This is a type of three-point estimation.)

Remember: tasks will always take longer than you think!

Also, this whole guesstimation process will work for you for now, but if you want to give estimates that never fail, you need to know how much work you can get done in a period of time.

To find this out, use a time tracking tool. Toggl is a great option to consider. It has apps for all major platforms, so you can track time even when you’re working locally. You can also set Toggl to launch when you start your laptop. This way, you won’t forget to log your work hours. Also, with unlimited clients and projects, Toggl’s free plan will cover you fully.

Step #3 : Add up all the time estimates and multiply with your hourly rate

The result is your project estimate. Add to this estimate the time that goes in communicating and collaborating with your client – don’t discount this time because it can add up fast if it’s a big project that will involve a lot of discussion.

Some freelancers also recommend padding such an estimate out with a few extra hours, just in case.

So if you can only make nearly accurate time calculations and set the right hourly rate, the bottom-up pricing technique will never leave you underpaid.

But Wait… What If You’re Clueless About Your Fair Hourly Rate?

If you have no idea of what a fair rate will be with the skills and experience you have, try using Bonsai’s web developer hourly rate calculator.

Bonsai allows you to compare freelance rates, taking into consideration your locations and years of experience.
Bonsai allows you to compare freelance rates, taking into consideration your locations and years of experience.

The Bonsai rate calculator uses insights from more than 30,000 contracts to offer suggestive hourly rates for developers based on their roles, skills, experience, and location.

Bonsai states:

Many factors go into pricing, and this [the rate calculator] should be one of several you use. It can be helpful as a directional indicator: are you above, below, or within the average? The data can also be used to justify your rates to clients.

Keep in mind the calculator is just a tool – you will be the best person to determine what a fair rate is for your services.

SITE MANAGEMENT Manage multiple WordPress websites with The Hub The Hub is your mission control for monitoring the vital stats of all your sites, including uptime, performance and security. Add as many sites as you want – including Multisite networks – and receive instant security alerts, run performance scans, and get notifications when any of your plugins or themes need to be updated. TRY WPMU DEV FREE LEARN MORE

Wait… the Bottom-Up Estimating Looks Quite Like an Hourly Pricing Model?

Maybe you’ll argue that the pricing technique we saw above is, in fact, an hourly pricing module. And, of course, you’re not wrong or alone in thinking so.

A few WordPress developers don’t like this method of estimating. They recommend offering a flat rate for a project based on factors like:

  • The ROI the client will get from hiring your services – For instance, how hiring you will get the client an additional $XX each month).
  • The market or niche of the client – For example, “adjusting” the cost based on the client by considering if the client is a solopreneur or a C-level executive in a top company. Essentially, the same service will be quoted at two prices.
  • Availability – This means charging higher if you’re booked out, occasionally discounting if in need of work).

All this stuff is great, but as I mentioned earlier in this article it hardly applies to beginner or intermediate freelancers — especially those who haven’t yet developed the knack of pricing.

Okay, So You’ve Got a Project Estimate and Now You Want to Confirm That You Aren’t Underquoting…

The following tools will help somewhat validate your project quote. They aren’t 100% accurate, but if you’re grossly undercharging these tools should indicate that.

#1: Project Quote Calculator from WebPageFX

This handy calculator will help you come up with estimates for website projects, based on inputs you can adjust.
This handy calculator will help you come up with estimates for website projects, based on inputs you can adjust.

The Project Quote Calculator suggests rates based on a site’s specifications like the number of pages, features like responsiveness, functionality and more.

If you offer additional services like design, development, copywriting, and SEO packages, this tool will give you a reasonable idea of what to charge for your different packages.

#2: Crew’s Budgeting Tool

Crew has built a fantastic app for its clients to use when enquiring about new projects.
Crew has built a fantastic app for its clients to use when enquiring about new projects.

Agency Crew has built a budgeting tool for its clients. This tool helps clients hire freelancers on an hourly or project basis. It asks clients for the niche, the number of pages, sites for inspiration, and deadline.

If you’re pitching for a project, it’s likely that you have all this information. So take them and head over to this tool. But note that the quote this estimator suggests might be a little high for you if you’re a beginner developer. Crew has a very vetted talent base, so you might not want to go so high with your estimate.

Some Pricing Questions That You Might Still Have…

1. “How much does the average WordPress developer charge per hour for their services?”

Or: “What’s the going hourly rate for WordPress developers?”

Most WordPress developers don’t display their hourly rates on their portfolios. However, here’s some information on the going rate for the best talents on the different freelance marketplaces.

  • The top rated Upwork web developers charge anywhere between $25-$90.
  • On the most hired developers charge within the range of $15 and $49.
  • On PPH , the best talents charge between $13-$76.
  • Guru has its highest rated developers charging anything from $8 to $66.
  • Hourly rates for developers on Codeable start at $60.

Brian Krogsgard from Post Status suggests the following rates for freelance WordPress developers:

  • Beginner freelancer: $25-$40 per hour
  • Intermediate freelancer: $40-75 per hour
  • Good, experienced freelancer: $75 – $125 per hour
  • Excellent, in demand freelancer: $125 – $175 per hour
  • Specialist, best in industry: $175 – $400 per hour

You can find agency rates here .

2. “How much should I charge for a WordPress theme?”

If you’re developing it for a client, use the estimation technique above.

If you want to launch it in a marketplace, you can use these inputs from Chris Lema.

  • Blogger Themes: Free – $40
  • Portfolio Themes: $50 – 150
  • Speaker / Author / Conference Themes: $150-300

You should also look at what the other developers are charging in your niche. Visit marketplaces like ThemeForest to get an idea.

4. “How much should I charge to develop a WordPress site?”

Take the bottom up approach, which I outlined above. If you aren’t sure about the time, guess. If you’re clueless about a feasible hourly rate, use Bonsai’s hourly rate calculator to get an idea.

Choosing Pricing Based on Your Income Goals

Now, you didn’t become a freelancer to live on a project-to-project or month-to-month basis. You did so to lead a life of freedom! Which needs financial security. And you can easily get this if you charge your services in a way that support your income goals.

Brennan Dunn from Double Your Freelancing has built a fantastic calculator to help you do so. This calculator helps you determine what your rates should be if you want to meet your desired annual income target.

Just input your desired annual salary and details of what you’re currently charging. The freelance rate calculator will then give you an analysis of how you can meet your target.

If you want to factor in all your expenses and taxes, too, try the Hourly Rate Calculator from BeeWits.

Over to You to Crunch Your Numbers

We’ve looked at quite a few numbers in this post, from hourly rates to project quotes to theme/plugin prices. Remember that they’re all subjective because pricing differs from project to project and from freelancer to freelancer.

But with all this information you’ll think twice about underselling your services.

Disha Sharma
If you're a freelancer or run an agency, how did you come up with your rates? Are you guilty of underselling your work and time? Let us know what you think in the comments below.

20 Responses

  • New Recruit

    This is all very useful as I do not know how much to charge, honestly! I have 10 years experience coding and over 3 years work as a freelancer. I am experienced with front and back end development, WordPress theme and plugin creation, Ecommerce with WordPress, custom builds with PHP, MySQL , jQuery, JavaScript, HTML5 and CSS. I would say that I am relatively adept with WordPress but a lot better with coding languages outside CMS. I have had a look at your price calculations systems and think okay cool. I can charge between £40 and £100 an hour for development jobs. The reality is that I earn substantially less than this, a lot lower than the minimum wage. This even applies to custom WordPress themes and bespoke web based applications. Any more advice on pricing would be greatly appreciated. I have asked networks I work on for advice, but they do not provide any.

    • Hey Matthew! Thanks for sharing your thoughts. I know there’s a lot of disparity between the suggested rates and what freelance developers are actually paid. But looking at your rich skillset, I’m really not sure why you should be underselling your services so much. 1) Have you tried looking for better paying clients? 2) And have you chosen any niche to specialize in?

      About adding more information on pricing – I’ll definitely try to update this post with more information, but if you need immediate advice, try joining some of these Slack communities () and ask your questions to some developers directly.

      From my research efforts for this post, I can tell you that pricing advice is easy to find — the rates are difficult!

  • Site Builder, Child of Zeus

    Doesn’t matter how long I’ve been doing this (26 yrs design 10 yrs websites) I still struggle with pricing. The most important thing I’ve learned over the years is to put in writing what I will do and for what price. I estimate the number of hours anticipated and then charge a flat rate per job ($80/hr) based on estimated hours. (Thank you for your task breakdown at the top of the article.) I let the client know that any additional work outside of what I put in writing will be done on an hourly basis and I will provide and estimate for the additional work prior to doing it. This rarely works 100% but is the best I have come up with.

    My dilemma now is coming up with a pricing strategy for ongoing WordPress site maintenance. How much to charge for keeping plugins, theme, backups, and security up to date. I charge an hourly rate for site changes – adding photos, text changes, new forms, galleries, etc.. I charge $100/yr for hosting. But WP maintenance I’m not sure about. I’m thinking $25/mo paid annually? SEO also as a separate quote.

  • The Exporter

    “Beginner freelancer: $25-$40 per hour”
    I love Jokes :-) – Well the output is much much less if you develop only in WordPress.

    WordPress itself is “platform” I would say where you have a huge group – the biggest actually – of competitors.

    Kids, Pupils, Students, Veterans, Retired, Freelancers (well there are many kind of them as most of them have also a real job), Indians, Asians in general and a more and more growing group from Africa too.

    I would say you can’t beat the pricing if you have to compete with developers from India. They even work for 1-2 $. You might laugh – well have a look to places like upworks and freelancers. What really will set you apart of most of them are references. We always check the CV and references of developers before giving them a job and in over 50% of cases those cheap developers will send you references not done by them but which look nice.

    We get quite a lot of customers who followed the cheap track until they finally got to us as they realized (mostly quite late actually) that those cheap 1-2$ offers are at the end the most expensive ones.

    Companies are looking for a sustainable solution and they don’t want to have a website only for 1 year. No they will come up with changes on an on even for 2-3 or more years.

    Kids, pupils, students are those who might be good at first sight as they seem to be innovative and motivated to adjust themselves to the needs but for a long term assignment they are the worst investment. As soon as they will have a better offer or leave school, get a girlfriend, finish university etc they will be gone and with them the crew who is capable to maintain your site.

    Veterans and Retireds are a good choice in that point as they often stay for a long time but most of them see the web development as a nice additional job but don’t have in depth knowledge on running more complicated and challenging jobs or even huge projects.

    The lower then low price offers from Asian countries won’t make you happy either as often those are copy pasters of HTML code into any kind of CMS. IN other words well they get the job done but you won’t be able to use the real power of a CMS. Those dev’s from those Asian Countries who are actually qualified – and there are a lot of them – charge more or less the same price like in your home country but without the VAT ;-) and that is exactly the biggest bonus they have. They can contribute an often much better code and structure then developers in your home country for much less money, and I always recommend to choose an agency which already exists since years and has valuable references, then you can make sure that you will have a great partner for the next decade.

    We for example charge our customers for man/hours.

    1 man working 1 hour = 2 man working 1/2 hour or 4 man working 15 minutes etc.
    This gives customers a huge flexibility. If they like to get a dedicated developer who works for them a complete month, no problem, we will assign someone to the job, but if they like to stay flexible, they only assign a month of man/hours which then can be used for a continuos 3 month period.

    Depending on how many hours are needed they can buy a day, a week, a month , a quarter and a year package. All of them are valid for the 2 following days/ months/ quarters/ years. And of course they are man/hour packages like mentioned above.

    If a customer needs a programming job, beside a design job or a copywriting stuff etc no problem we work as a team and assign specialists doing those jobs. No matter what task it is, it is always 1 man/hour = 60 minutes.

    For all projects which get developed by us the hosting during that time on our server is included. This avoids that we waste time to get things running on a server we don’t have full access i.e. shared hosters with only ftp access.

    Most customers actually stay with us much longer due to one simple fact. We offer free security updates for core and modules/extensions/themes we have installed. In other words they will save a lot of money on a long term.

    We ie. charge for 1400 THB for one hour if the customer hires us for a small job and needs only “hours” (we have a 2 hour minimum limit). Usually customers hire us with a weeks or months package. Examples: In a weeks package the man/hour is 980 THB (39200 THB for 40 man/hours) and in our month package 830 THB (132800 THB for 160 man/hours).

    The much bigger problem we face mostly with German, Austrian and other European customers is getting paid on-time. This was one of the main reasons to change our system to man/hours which get booked and paid in advance like you are renting a flat or a hotel-room. Still sometimes we do also fixed price projects but there again exactly this problem – getting paid on-time in full – is popping up again and again which costs you at the end a lot of your work-time, often more then the job was worth.

    As a general rule for fixed price stuff we would say charge the customer 100% but get your project paid already with the first rate he is paying to you, which is often 50%. So you might do less profit but you get paid for the time you will spend as a minimum.

    People often ask us how we check the time. Well we use several tools to measure time. One is a very rudimentary but simply working one from WHMCS Project Management. You open up a new project and task and click start, then you write the title and description and start doing that task while documenting it right the way step by step.

    This works great for one man one project stuff.
    There are several timesheet and timer programs out there. Check them out. Freshbooks i.e. has a nice one too – very easy to handle.

    Additional to what have been said above I would always calculate the time in you would need for training, for writing responses to mails, phone calls, skype talks etc. Skype by the way is a nice tool to have your projects documented too. We use it quite often so customers get immediately informed about what you are doing – and actually that you are working on their project – and beside that Skype notes every entry with time. If there is a need for a response the customer can send files, a video i.e. if he has problems with some functionality, and you can save and store all those chats before billing . Works really good.

    We are based in Thailand (THB = Thai Baht) and we work for customers worldwide and adjust to their timezones 365 days a year 24/7 as we run also our own servers ;-) so we have always somebody up in case if something happens, similar to what it is with WPMUDEV. We can’t simply afford not having somebody up ;-)

  • New Recruit

    Great! Very useful information. Thanks for sharing! I would mention one more tool that helps to bill the clients. It’s time-tracking software called actiTIME. The process is simple: define your hourly rate, track time by clients and projects and generate invoices in the end. The task estimation functionality is also included:

    • Site Builder, Child of Zeus

      I’ve used a time/billing program called Fanurio for many years now. Makes time keeping and invoicing easy. Very flexible. . For a freelancer, sole proprietor, I find Fanurio keeps me on track as I juggle many projects. Accurate time billing enables me to bill for actual time and more than pays for the program. Invoices are output as PDF invoices – another program I used years ago (TimeSlips) had proprietary invoices which I could only open with that program. The author is also very helpful and gets back to you very quickly.

  • New Recruit

    Agrees not many experts, can get at $ 15-25 per hour. Because WordPress is the most common and is not the most difficult platform. Therefore, there are many good developers who can do the job for $ 5-15 per hour.

    As for usability, SEO audit and promotion, and there the picture is similar. There are specialists who earn $ 5 an hour, and there who earn 50 or even $ 150 per hour.

  • New Recruit

    I think that there should be a sort of price standardisation. A regulatory body that sets standards across the web to avoid price fixing. It would be easy for a multinational corporation to deliberately undersell. Activity like this would push freelancers that work as individuals out of the market. Reducing competition before prices are hiked up.

    • The Exporter

      If you haven’t realized it already, that kind of standardization is already happening with services like Upworks and Envato etc. They already push the prices down to the button and make the people believe that they deal with qualified programers, writers, … freelancers when they get hired via Upworks etc. total crab as their tests are easy to do – simply open up multiple accounts, beside that many have multiple accounts their to underbeat themselves or their members from the same company (group). Most of it is simply fake and but has a huge touch and feel that it is real. This is the main problem actually!

      If you have a product like TYPO3 people know where pricing starts and that it never ends getting even more expensive. But they also know that below some price markings they will simply get faked work = html stuff inserted into TYPO3. The same is actually with Drupal which has a well organized company structure which get all nice projects ;-) WordPress in this point very different as everybody who can spell the word CMS and is capable to say HTML CSS and javascript is seen as a full time WordPress Profi, especially when they also say SEO and Search Engine Optimization – oh what magic word. In other words they really know what they are doing.

      The only stuff what really would bring much more quality, much better pricing and much much more stability in doing WordPress would be to standardize WordPress itself. Files, Naming Conventions, Folder Structures, and last not least the way the code gets documented. I talked about that already many times but as you see not much is happening in that direction. But for sure a group or a company would start to do exactly that would be THE runner in getting good jobs!

      Why? Well by doing that the code would be much easier to maintain, support and service would have fun and not headaches with it. Beside that it would bring much better security and also compatibility issues could be solved much easier.

      …. but what was Buddy Holly singing: Dream dream dream dream dream dream Dreeeeeaaaaam ….

      Therefore enrich WordPress by your Pricing Structure Chaos – it won’t matter at all as only cheap would sell! Check out the job posts here on WPMUDEV – some projects seem to have huge budgets but are not willing to pay more or less anything – SAD (Save Any Dollars).

      CHEAP – is often the most expensive way!

      • New Recruit

        I find with WordPress that it is as much its own business as it is everything else. They move woocommerce forward very quickly, obviously seeking to monetize on payment gateways and through deprecating features and compatibility for non- woothemes plugins. In many ways the updates seem to be WooCommerces way of securing subscription payments and centralising features. This is where bottom-up pricing is essential. You need to detail clearly at the outset to the client their responsibility in terms of recurring payments and why it is necessary.

        When I say standardisation I mean as in how a surveyor makes an appraisal. A cost for every website component i.e title tags, anchors, paragraphs, lines of javascript code, that kind of thing. It’s not my idea, just something I discussed with a surveyor on Facebook.

        • The Exporter

          “A cost for every website component i.e title tags, anchors, paragraphs, lines of javascript code, that kind of thing. It’s not my idea”

          good so – it is not ours too. Much to complicated. To build a website it needs time and time is always the same count – in seconds or minutes – our timer is counting in seconds. Which means we press the time to start and start working on the project documenting the steps in a protocol – which is often actually skype as the customer can simply see on chat what we are currently doing on his site and if he has access to the site he can even see it by reloading the pages – well sometimes he sees also some errors but that is the development phase and we tell him before that this can happen even more frequently during that phase.

          Really only sometimes customers contact us when they see a change and comment on it (unfortunately) we really would like if they would comment more often so we know early enough if we are still on the same page.

          Many customers – so our experience actually the majority – has no clear idea how they website will actually look like at the beginning and they start brining in new changes after you just started to post one current milestone. A more frequent and early feedback can avoid longer development times and actually role-backs.

          The problem in woocommerce is that there are much to much cooks trying to make woocommerce tasty and this simply won’t work long term. One reason and actually a huge chance for marketpress to get their stuff updated and standardized and posted as a one stop solution. Those many cooks at woocommerce which all put in their own “blocking” barriers – payments, memberships, only some features etc is total crab and longterm it will cost the customer a lot of money!

  • New Recruit

    I wanted to add this excellent resource from The NuSchool which does require you to have done the work of knowing your hourly fee but factors in what’s in the job for you and the hassle factor to help you zero in on a project rate:

    I’ve been freelancing since 1988 (so obviously not in WP then). I think in addition to all the info provided, which was great, we have to factor in our business model. Do you want to build on lower prices and higher volume? In that scenario it’s unlikely you’ll have an ongoing relationship with your clients. This is a fine model and I know folks successful with it. There are many models. The one I’ve chosen was to build my business based on relationships. Some of my clients are still from when I only did print work, or html sites, etc. I’ve become a partner in their business. The relationship is part of the added value, as is my accessibility, the training I offer, the support, etc. I’m not suggesting my way is the only or the right way. I am suggesting that knowing how you want to work will help dictate the price range. I charge a flat fee for designing/developing a site. It includes everything. Then I have residual income year after year from managed hosting, and when it’s time to add features and/or rebuild a site, there’s no question who’s going to do it.

    Because I live in Seattle, a high tech town, there’s a ton of competition. While everyone has the option to hire from anywhere (including very inexpensive overseas options). I’ve targeted small solopreneurs. These folks want to focus on their business and recognize the value in having a professional website not a DIY. My clients WANT a business partner relationship with someone they can contact when they need something and KNOW they’ll get a quick and helpful response. Most of my clients are local and value what I do for them. While it’s not at all necessary, we often meet in person. I’m priced at what would probably be considered expensive by some of you but also cheap by some of you. And while I SHOULD track my time, I choose not to. I’m all about doing a great job for the flat rate quoted and making sure my client is happy and successful.

Comments are closed.