Estimating WordPress Development

By: Ryan Kienstra on: December 23, 2014  in: Plugins, Programming

WordPress development checklistStarting a software project is exciting.

But it’s good to uncover as many challenges as you can.

Before you start.

Here are my first steps in estimating WordPress development cost.

Think of all possible challenges in your project, based on your use cases.

For each one, ask:

1. What’s the challenge?
2. Can you solve it?
3. How hard is it?

Based on your answers, you may re-define the problem. And repeat these steps.

Or you may decide that it’s worth the difficulty. And you’ll know better how much time or money to budget.

Below are 3 example challenges from my WordPress plugin Adapter Widget Rows.

Here’s a demo of it:


Example 1

1. What’s the challenge?

Allow users to drag and drop widgets on the front page, not the back end. The widgets will be in the iframe of the customizer.

2. Can you solve it?


What parts of this have you solved before?

At the time, I had only read about the jQuery sortable API in the book jQuery In Action.

What parts of this has anyone solved before?

Simple dragging and dropping is very common. There’s a popular file for this: the jQuery sortable API.

3. How hard is it?

The basic version is probably easy, as seen in jQuery In Action.

But this involves an iframe, so I need to test this to be sure it works.

If this isn’t possible, it could end the project.

Example 2

1. What’s the challenge?

When users drag and drop widgets in the iframe, move the corresponding widget in the iframe’s parent.

2. Can you solve it?


What parts of this problem have you solved before?

  • Moving elements using jQuery.
  • Instantly connecting changes in the customizer to the iframe, using JavaScript.

What parts has anyone solved?

Dragging and dropping. This is common on web pages.

The jQuery sortable API seems to have enough methods to support what I need.

If it doesn’t, there should be other APIs to use.

3. How hard is it?

This depends on how many event listeners in the jQuery sortable API are needed.

I should read more about them to find out. (Here’s the implementation in my finished project).

Also, I should find out how to access the jQuery object of the parent of the iframe.

A Google search suggests that this isn’t hard. But it would crash the project if it’s not possible.

Example 3

1. What’s the challenge?

Allow the user to add new, empty sidebars to the front page. This will only use the customizer, not the admin area.

2. Can you solve it?


What parts of this have you solved?

I’ve dynamically added widgets. But not entire sidebars of widgets.

A look at the WordPress Codex shows that this is probably possible.

What parts of this has anyone else solved?

Again, other people have dynamically added widgets. But entire sidebars would be more complex.

3. How hard is it?

This will have many issues, including:

  • An “undo” button after deleting rows.
  • A page reload, interrupting the flow of live-editing. A JavaScript workaround would be really complex.


Re-consider this problem.

How much do users need this feature?

This was my project. But if it was for a client, I would advise more user research before building this feature.


Hiring A Developer

Ask your developer which of your challenges he or she has solved before.

You can also research which of your problems anyone else has solved.

How Hard is Your Project?

The free plugins on are a great place to look when estimating WordPress development.

If you see many solutions to a problem, by a single developer, it won’t be as hard.

For example, Google Analytics can have a simple implementation.

There are many free plugins on for it, and a novice could add the basic scripts to your site.

But there are much more complex solutions, like Yoast’s Google Analytics plugin.

Rule Of Thumb

If there’s a feature that only companies offer, it’s because it’s hard to develop.

For example, the live editor in the OptinMonster plugin is really hard to build.

It’s made by a development company.

But there are simple plugins with opt-in forms on

Many websites allow dragging and dropping. So it’ll probably work on yours, as well.

But combining challenges can be hard, like in my plugin example.


Find Challenges Early

With a realistic view of your problems, you’ll avoid surprises.

And you’ll have the resources to take on the challenges that matter most.

What steps do you take in estimating WordPress development?

Add your comment below.

Leave a comment