Back to blog

WordPress white label agency: the two-handoff test

A WordPress white label agency adds a handoff instead of removing one. Five blocking inputs, an 11-point brand-leak audit, partner-vs-hire break-even math.

Kristian Hoffmann

SaaS founder and operator

WordPress white label agency: the two-handoff test

A WordPress white label agency builds and maintains sites under your brand, invoices you rather than your client, and stays out of the finished product. What the sales pages leave out: hiring one adds a second handoff to every project. Your client still owes you the logo, the copy and the hosting login — and now you owe all of it to a stranger who cannot guess the things you used to guess. Choose a partner on intake discipline, not on portfolio.

The second handoff is where projects stall

Codeable defines the arrangement plainly: a third-party delivery team that builds and supports WordPress work under an agency's brand and NDA (codeable.io). Read that definition again and notice what it does not say. It does not say the work disappears. It says the work changes hands one more time.

Before you had a partner, one gap existed: client to you. You bridged it with things you never wrote down — that the founder hates the stock photography, that the "final" copy doc is two versions behind the Google Doc, that only one of the three logo files is the one the printer uses. None of that survives a handoff to people who have never met the client.

The failure mode is specific and it repeats. Your partner is staffed and ready on a Tuesday and starts the following Monday, because nobody could produce the DNS login. You pay for that week in one of two currencies: the partner's idle retainer, or your own launch date. Neither appears on the invoice as "waiting."

The five inputs a partner cannot start without

1. Hosting and DNS access at the right permission level. Not the previous developer's shared cPanel password — a named account you can revoke on the day the project closes. 2. Brand assets in source format, layered or vector, plus the actual hex values. A PNG lifted off the current site is a reconstruction, not an asset. 3. Page-level copy mapped to URLs, each line marked draft or final. "Copy is coming" is not an input. 4. Third-party credentials: payment gateway, CRM, booking tool, analytics property, transactional mail sender. 5. One named approver who can say yes without convening anybody.

A partner holding four of these can start. A partner holding three runs discovery you pay for twice — once when you did it, once when they redo it from scratch. Where you collect the five matters less than whether they arrive together: a WordPress client portal plugin keeps intake inside the site you are already building, while a standalone portal keeps it out of the install your partner is about to rebuild.

The ten-day input gap, counted properly

Replace these numbers with your own from the last three projects. The shape is what matters, not the figures.

Blocking inputWho actually holds itDays waiting (example)What ends the wait
Hosting + DNSThe client's former developer2An access request sent by the client, not by you
Source brand filesA marketing folder nobody owns3Naming the exact file extensions you need
Page copyThe client, unfinished5Building to a placeholder word count, revising later
IntegrationsThird-party vendor support2, in parallelRequesting on day one instead of at build
Named approverNever agreed0 — surfaces at sign-offWritten into the kickoff note

The sequential chain is ten calendar days, roughly seven working days. Against an eight-week build that is about a sixth of the schedule spent before a line of code. If you are lining a partner up in October for a site the client wants live before their December slowdown, count the working weeks yourself — there are fewer than the calendar suggests, and the input gap comes out of build time rather than out of buffer.

Three engagement models, and the one you buy by accident

White Label IQ's WordPress page names the three shapes in a single line: send a project, embed a developer, or take support on tap (whitelabeliq.com). The White Label Agency organises its site along the same split, with dedicated developers on one side and discrete white-label projects on the other (thewhitelabelagency.com). The models are not interchangeable, and the quote you get assumes you know which one you are in.

ModelWhat you hand overHow it failsFits when
Fixed-scope projectA closed brief, all five inputs, an acceptance testScope arrives in fragments, and each fragment is a change orderScope is countable and the client has signed it off
Embedded developerA backlog, your standards, a standing meetingYou cannot fill the seat and pay for the gap anywaySteady monthly demand you can prove from six months of timesheets
Support retainerCredentials, response times, a triage ruleNobody defined "urgent", so everything isThe site exists and the risk is downtime, not delivery

The accident is buying the first and behaving like the second: a fixed quote, then a trickle of quick changes in Slack. That is the month-three argument, and the subject is usually the same — inputs that arrived after the price was set.

What belongs in the package before you ask for a quote

Send scope in countable nouns: eleven page templates, two custom post types, a migration of 340 posts, three form integrations. Send the five inputs with an honest status against each — final, draft, not started — because a partner prices the uncertainty you hide. Send the constraints you cannot change: the host, the block or page-builder approach, the PHP version the host runs, any plugin the client already licenses. Send the acceptance test you intend to run, written before the build rather than after the first demo.

Collected by email, that package arrives in eleven messages across two weeks. A structured intake — one form the client fills once, with uploads attached to the question that asked for them — can be the difference between forwarding a package and reassembling one, which is why agencies bother with a white-label client portal instead of a shared Drive folder.

The brand-leak audit: eleven places your partner's name surfaces

An NDA governs what people say. It does not govern configuration defaults. Run this list against staging before the client ever gets the link.

1. The WordPress user account — display name, author archives, and whatever /wp-json/wp/v2/users returns on the staging site. Open it in a browser rather than assuming. 2. Theme and plugin headers — the Author: and Author URI: lines in a custom theme's style.css or in a site-specific plugin. 3. Git history, if the client ever receives the repository. Commit names and addresses travel with every clone unless the history is rewritten. 4. Premium licence keys registered to the partner's mailbox, along with the renewal notices and account-holder name that come with them. 5. The staging URL, when it lives on the partner's domain. It gets pasted into Slack, into link previews, and occasionally into an index. 6. Form notification headers — the from and reply-to values left at whatever was used during testing. 7. Uptime and monitoring alerts, including the footer on scheduled reports. 8. Backup and cron service account names visible in the admin sidebar. 9. Screen recordings and screenshots that show a browser profile, a bookmarks bar, or an open workspace. 10. PDF metadata on any document you forward. The Author field survives a rename. 11. Registrar, DNS and hosting account contacts, plus the owner field on the hosting dashboard.

One rule for the list: anything you cannot check yourself in under a minute belongs in the subcontract rather than in the audit. Items 1, 2, 5 and 6 take about a minute each. Items 4 and 11 do not — write them into the agreement and verify them once, at setup.

Break-even: partner or hire, counted in hours

The comparison most agencies run is partner rate against salary, and it prices two different things. A partner bills delivered hours. A hire costs you the whole month, including the weeks with nothing to build.

Run it in three steps. Break-even hours equals the fully loaded monthly cost of the hire divided by the partner's quoted blended rate — fully loaded meaning salary plus employer costs, tooling, hardware and the management hours you will actually spend. Then apply a utilisation haircut: a full-time month is roughly 160 working hours before holidays, and delivered client hours are lower. Pull that figure from timesheets; if you have never measured it, you are not ready to hire. Finally, compare against demand you can repeat, using the median of your last six months of sellable build-hours and, separately, the lowest month.

A worked example with numbers to replace. Say the hire's loaded cost equals 90 hours at your partner's rate, so break-even sits at 90 hours a month, and at 65% utilisation the hire delivers about 104 hours out of 160. In a busy month with 104 hours of demand, the hire saves you 14 hours' worth. In a quiet month with 40 hours of demand, the partner costs 40 and the hire still costs 90 — a 50-hour loss. Eight busy months save 112; four quiet ones lose 200. The partner wins that year by 88 hours, and nothing in the busy months rescues it.

The rule that falls out: a hire wins when your lowest month clears break-even, not when your average does.

When a white label partner is the wrong answer

The deliverable is the thinking. For strategy, information architecture or content design, the client is buying your judgement. A partner priced on build hours cannot supply it, and the brief you would have to write to outsource it costs more than doing the work.

Incident work on a site nobody on your side knows. Handing an unfamiliar broken site to an unfamiliar team stacks two unknowns and bills you for both. Stabilise it first, hand over the maintenance second.

A client contract that restricts subcontracting or requires disclosure. That is a contract question rather than an operations question — read the clause, and have it reviewed before anything leaves your building. If the bottleneck turns out to be your intake rather than your capacity, the fix sits upstream of the partner decision entirely; choosing client portal software comes first.

FAQ

Is WordPress outdated in 2026?

Outdated is not the axis this decision turns on. For a white-label arrangement the question is whether the stack your partner uses is one you or a third team could take over: core plus a documented block theme is portable, while a build welded to one page builder and fourteen premium plugins is less so. If you want a number rather than an opinion, take it from your own book — count how many of your last twenty client sites you would choose WordPress for again today, and how many you inherited rather than chose.

Why are people moving away from WordPress?

The stated reason is usually the platform; the operational reason is usually maintenance. Plugin updates, licence renewals and patching are recurring costs that rarely appear in a proposal, and they land on whoever answers the phone at 7am. A support retainer changes who carries that load, which is worth pricing before you price a replatform. Add up the maintenance backlog across the sites you currently host — the total often explains the urge better than the CMS does.

Is white labeling illegal?

White labeling is a commercial arrangement: a third party delivers, you carry the brand and the client relationship. Whether a particular arrangement is permitted depends on documents rather than on the concept — your subcontract with the partner (IP assignment, NDA, right to sublicense), your client agreement (does it restrict subcontracting or require disclosure?), and the licence terms of any premium theme or plugin you pass along, since redistribution rights vary by vendor. Have a lawyer in your jurisdiction read those three before you sign, rather than relying on a blog post, this one included.

Which WordPress design agency is the best in the USA?

No answer to that question survives contact with a specific project, and any list offering one is ranking against criteria that are not yours. Directory-style roundups exist — wpLift publishes one covering US white-label WordPress agencies (wplift.com) — and they are useful for assembling a shortlist rather than for picking from it. Test the shortlist instead: send the same one-page brief to three of them and compare what they ask for in return. The one that comes back asking about your five blocking inputs, rather than about your budget, has run this before.

Analytics consent

We use Google Analytics only after consent to understand reach and product usage.