Fixed-scope delivery · US · UK · Canada

WordPress Plugin Development

Custom WordPress plugins built to the coding standards, and audits of the ones you inherited. For businesses and agencies in the US, UK and Canada, fixed scope, your IP from the first commit, and code that survives the next core update rather than breaking on it.

9
salaried engineers
10 days
risk-free before you pay
30 days
notice to stop, no exit fee
Four ways this usually starts FIXED SCOPE
Plugin audit 2 days
Every plugin on your site scored: maintained, abandoned, vulnerable, or doing the job of three others.
Custom plugin build 3-8 weeks
One plugin that does one thing, to WPCS, with tests and an update path you own.
Rescue an inherited plugin 2-5 weeks
Someone built it, nobody documented it, and it breaks on every core release. We make it boring.
Integration plugins 4-10 weeks
CRM, ERP, PIM or payment work, idempotent, replayable, and monitored rather than hoped over.
The audit is a fixed fee and it is often the only thing you need to buy. See rates →

1 plugin engineer free within four weeks

How we contract

Six terms we put in writing

The things every buyer of custom plugin work has been burned on, most of them about what happens after launch. Each is a clause in our MSA, not a promise on a website.

Fixed price, agreed before we start

After discovery you get one number, not a range. It does not move unless you change the scope in writing, and then you see the revised number before anyone writes code.

A launch date with a penalty behind it

We name the launch date in the contract. Miss it through our fault and the final invoice drops 10% per week late, capped at 30%. It has been invoked once in four years.

Weekly demo, not a monthly update

Every Friday there is something running you can click. If a week produces nothing demonstrable, you find out that Friday rather than at the end.

Thirty days of warranty after launch

Anything we built that does not do what the spec says is fixed free for thirty days after launch. Not "support hours": a defect warranty, because sites break in the first month or not at all.

Your repository, from the first commit

Work happens in your GitHub organisation and your cloud accounts. There is no handover event because you already have everything.

One invoice schedule, no surprises

40% on signature, 40% at the midpoint demo, 20% on sign-off. Net 15, USD or GBP. No hourly overages on a fixed-scope build.

The team you get

Who is actually on your project

A pod of four, named in the contract, on your build for its duration. Not a resource pool that changes between sprints, and not an account manager who disappears after signature.

You meet the delivery lead and the senior engineer during discovery, before you commit to the build. If either is not right, we change them then.

Delivery lead
Your single point of contact. Runs the sprint, writes the weekly report, escalates before you have to ask.
× 1
Senior engineer
Owns the theme architecture and content model, and reviews every pull request.
× 1-2
Engineer
Template and block work against the agreed spec, version-controlled and deployed from Git.
× 1-3
QA engineer
Manual and automated. Signs off each release before it reaches your staging environment.
× 1

Straight answer

Why most sites need fewer plugins, not more

The median site we audit runs somewhere between thirty and fifty plugins, and roughly a third of them are doing nothing anyone can name. Two do the same job, one was installed for a campaign in 2021, and four have not had a release in three years. That is the actual performance and security problem, not the theme.

So a custom plugin is worth building when it replaces several, or when nothing on the repository does the thing your business actually does. Unusual pricing logic, an integration with a system only you use, a workflow with approvals: those are real custom work. A contact form is not.

The uncomfortable truth about custom plugins is that you now own maintenance forever. Every core release, every PHP version, every dependency is yours. We write tests and a runbook so that cost is small and predictable, but it never reaches zero, and any agency that does not say this to you before quoting is selling you a liability.

One thing we will not do is build a plugin that hooks into everything. A plugin should do one thing, be removable without breaking your content, and leave nothing behind when you uninstall it. Most of the worst code we inherit fails all three, not because it was written badly, but because nobody drew a boundary before starting.

Four audits this year ended with us recommending deletions rather than a build. Two of those clients came back with plugin work that genuinely needed doing.

The three routes

Custom plugin, repository plugin, or a snippet

FIXED SCOPE
DEDICATED DEV
REPOSITORY PLUGIN
Who owns scope
Us, after discovery
You
You
Price certainty
One fixed number
Hourly, variable
Licence + configuration
Time to start
2 weeks discovery
5 business days
Days
Management effort
Ours
Yours, daily
Yours, ongoing
Late delivery
10%/week penalty
Not applicable
Not applicable
Defect warranty
30 days after launch
None
None
Best when
Deadline is external
Scope keeps moving
Requirements are ordinary
How it is priced
Fixed, after discovery
Published monthly rate
Licence + a few days

The repository column assumes a maintained premium plugin with an annual licence. The dedicated-developer column is our own published monthly rate.

Capabilities

What we build, and what we refuse to

Plugin work we quote most often. We will not build a plugin to do something a setting already does, that is what the audit is for.

01

Custom plugin development

One plugin, one job, to WordPress coding standards, with an uninstall routine that actually cleans up after itself.

PHPCSWPCS
02

Plugin audits

Every plugin scored for maintenance status, known vulnerabilities, performance cost and overlap. A written report you keep.

CVE scanQuery Monitor
03

Gutenberg block plugins

Custom blocks with real editor UX, server-side rendering where it matters, and no React bundle nobody asked for.

@wordpress/scriptsReact
04

REST and integration work

Endpoints, webhooks and background jobs that talk to CRMs, ERPs and gateways without dropping writes.

REST APIAction Scheduler
05

WP-CLI commands

The bulk operations your team currently does by hand in the admin, as commands that log and can be re-run.

WP-CLICron
06

Multisite-safe plugins

Network activation, per-site settings and the upgrade routines that do not fall over on site 40.

MultisiteMigrations
07

Taking over abandoned plugins

A plugin your business depends on and nobody maintains. We fork it, test it, and keep it current.

ForksSemver
08

Premium plugin engineering

Licensing, update servers and support tooling if you sell the plugin rather than just use it.

EDDUpdate API

Not sure you need a plugin at all?

Often the answer is a snippet, a setting, or deleting three plugins that overlap. The two-day audit says which, and it is the cheapest thing on this page.

Book the audit

Tech stack

Current versions, not a wish list

What is in production for our clients this quarter. We will work in older versions too, most rescue jobs start there.

WordPress & PHP

PHP 8.3 / 8.4 WordPress 6.8 Gutenberg ACF Pro WooCommerce 10 WP-CLI

Data & infrastructure

MySQL 8 Cloudflare Redis Docker Kinsta · WP Engine GitHub Actions

Quality & front end

PHPCS · WPCS Playwright Lighthouse CI Astro Tailwind 4 Alpine

The engineers

The engineers who would build it

Salaried staff, named in your contract for the duration of the build. You meet the delivery lead and the senior during discovery, before you commit to anything.

Nitin Senior · 8 yrs · WordPress & Woo

Large catalogues and the checkout path. HPOS, index strategy and the plugin cull that usually matters more than either.

WordPress 6.8 WooCommerce HPOS
ON THIS POD Architecture & review GITHUB ON CALL
Shubham Lead · 10 yrs · WP architecture

Runs our headless builds and keeps the editor experience simple while the front end changes.

WPGraphQL Astro Redis
ON THIS POD Delivery lead GITHUB ON CALL
Jaswant Mid · 5 yrs · Plugins & APIs

Plugin work that survives core updates, and the audits that prove which ones will not.

PHPCS REST API ACF
ON THIS POD Integrations GITHUB ON CALL
Sumit Mid · 4 yrs · Blocks & QA

Builds native block themes and the Playwright suites that stop them regressing.

Gutenberg Playwright Tailwind
ON THIS POD QA & test suite GITHUB ON CALL

Two build slots open for October starts. The full pod is named in your contract before you sign it. Meet the whole team →

How we work

What every plugin build includes by default

What is included

A plugin outlives the person who commissioned it, so most of these defaults are about what happens after we leave.

Compatibility
Tested against the next WordPress release

Against release candidates rather than only current stable, so a core update is not a surprise.

Namespacing
Prefixed, scoped and conflict-free

Dependencies scoped so your plugin cannot break another one, or be broken by it.

Uninstall
A clean uninstall path

Options, tables and scheduled events removed. A plugin that leaves debris behind is one nobody dares deactivate.

Tests
Automated, against a real WordPress

Not a mocked environment. Integration tests are the only ones that catch what actually breaks.

Documentation
Hooks and filters documented

So the next developer extends it rather than editing your code and losing the change on the next update.

Ownership
Your repository and your licence

Including the build pipeline, so shipping a new version never depends on us.

You do not have to take any of this on trust. The first ten working days are risk-free, every rate is published in full, and the work happens in your repository from the first commit.

How it works

From first email to a signed-off build

Discovery is two weeks and produces a spec you own. Nothing is committed until you have both the spec and the price.

  1. Day 0

    Send us the brief

    A document, a Figma file or three paragraphs. An engineer replies inside one business day, never a form response.

  2. Week 1-2

    Discovery, fixed fee

    Requirements, architecture, risk list and a written spec. You own it whether or not we build it.

  3. Week 2

    One price, one date

    A fixed number and a delivery date, both in the contract, with the late penalty attached.

  4. Build

    Weekly demos

    Something clickable every Friday, sprint reports, and staged releases into your environment.

  5. Launch

    Launch + 30 days

    Documentation, runbook and a defect warranty. Your repo already has everything.

Why India

Why choose a WordPress development company in India

A four-person pod here costs roughly what one senior contractor costs in the US, which is what makes fixed-price delivery viable at all: the risk buffer that protects a fixed quote would price a domestic team out of the deal entirely. WordPress also runs an enormous share of Indian agency work, so the depth is in the unglamorous parts that decide whether a launch goes well: content migration, redirects, plugin decisions and multisite.

YOUR WORKING DAY, AND OURS

New York
Pune
4 HRS OVERLAP
What the contract says
IP assignment on day one
Everything written for you is yours on commit, not on final payment. Assignment clause, not a licence.
NDA before repository access
Yours or ours, signed before anyone is added to your repository or hosting account.
Your jurisdiction, your paper
We sign MSAs governed by Delaware, England and Wales, or Ontario law without argument.
Milestone billing, not monthly hours
40% on signature, 40% at the midpoint demo, 20% on sign-off. Net 15, USD or GBP, and no hourly overages on an agreed scope.
Scope changes priced before they happen
Any change gets a written price and schedule impact for you to approve or decline. Nothing is absorbed silently and argued about at handover.

The first question

How we decide between a snippet, a plugin off the repository, and custom work

The audit exists mostly to answer this. Getting it wrong is the difference between a hundred pounds and twenty thousand.

A snippet in the theme

A dozen lines of PHP hooked into one filter, for behaviour that is genuinely specific to this one site and will never move. Cheap and honest, with the caveat that it disappears if the theme is ever replaced.

Right answer more often than people expect

A maintained plugin from the repository

If something well-maintained already does ninety per cent of the job, take it and configure it. You inherit somebody else’s testing, security updates and documentation for free, which is worth accepting an imperfect fit for.

Check the last release date, not the star rating

A premium plugin with a licence

Worth paying for when the alternative is weeks of custom work, and worth reading the renewal terms on before you commit. A licence that lapses on a plugin doing something critical is a problem you will meet at the worst moment.

Budget the renewal, not just year one

Something custom, built properly

Justified when it replaces several plugins, or when nothing exists because the thing it does is specific to how your business works. You then own it forever, which is the part most agencies do not say out loud before quoting.

Ours to build, yours to maintain

FAQ

Questions buyers ask before the first call

If yours is not here, email it. We publish the answer rather than saving it for a sales call.

How much does custom WordPress plugin development cost?

A two-day plugin audit is $800. Custom plugin builds are fixed scope after that, and most sit between $4,000 and $20,000 depending on integrations and how much of your business logic they carry. Every hourly band is published on the rates page.

Should we buy a plugin instead of building one?

Almost always, if a maintained one does the job. We will tell you which repository or premium plugin to buy: the audit exists partly to stop you commissioning something that already exists.

Will it break when WordPress updates?

That is the whole point of building to the coding standards rather than around them. We test against the current release and the beta, and no plugin we have built has broken on a core update to date.

Who owns the plugin?

You do, assigned from the first commit. It lives in your repository, licensed however you choose, and you can hand it to another agency without asking us.

Can you fix a plugin someone else wrote?

Yes, and it starts with reading it rather than quoting. Two to five weeks is typical to make an inherited plugin testable, standards-compliant and safe to update.

Do you work on plugins we sell commercially?

Yes, licensing, update servers, support tooling and the release process. That is a different shape of project and we will scope it separately.

What about a plugin nobody maintains any more?

We fork it, add tests, and keep it current against core. It is usually far cheaper than replacing something your business already depends on.

How do you handle plugin conflicts?

Query Monitor, staged rollouts and a bisect against your actual plugin set. Conflicts are almost always two plugins hooking the same filter: the audit finds them before your customers do.

Do you provide documentation?

A README for developers and a plain-language guide for whoever administers the site, plus a runbook for the failure modes. Written as part of the build, not billed afterwards.

What happens after delivery?

Thirty days of defect warranty, then an optional retainer for core-update testing and dependency work. Priced on the rates page, and easy to stop.

Talk to an engineer

Tell us what needs building

You get a reply within one business day from an engineer, not a form autoresponder, with an indicative range, the discovery scope and the next available build slot.

A fixed price and a launch date, before any build work

NDA signed before we see your site or content

Or book a 30-minute scoping call at a time you pick

Send it, reply within one business day

We never share your details, and we do not run a mailing list.

1 plugin engineer free within four weeks Audits are fixed fee · your IP from commit one
Reply within one business day Get a fixed quote