28-Page Veterinary WordPress Build in 32 Days — White-Label Delivery for a US Marketing Agency
A 28-page greenfield Veterinary WordPress build delivered in 32 days — 9 templates, Figma-to-Elementor build, no prior site, 29-item checklist, 43h.
Screenshots captured by automated tooling — some elements may not have loaded fully or may layer on top of each other. For the most accurate view, visit the live site →
Build the URLs across the agency's templates, wire the conversion primitive, then work the QA backlogs to closure.
The Craft of a Build
28 pages of a veterinary WordPress build from Figma designs and a Google Doc content spec — no existing website to validate against, no crawl baseline to diff. We checked every template choice, content block, and slug against the design file. The per-row hours we scoped held at 43 hours across 32 days.
Snapshot
| Field | Value |
|---|---|
| End-client industry | Veterinary — Companion Animal Practice |
| End-client | Stonebridge Veterinary Wellness (Roseville, CA) |
| Engagement | White-label WordPress build for a US marketing agency specialising in local-business websites |
| Project Type | WordPress build with Elementor Pro on WP Engine — greenfield, no prior live site |
| Scope | 28 URLs — 20 completed pages + 8 redirect paths (homepage, about, 4 doctor pages, meet-the-team, blog, contact, new-clients, services lander, 6 service pages, testimonials, terms, privacy) |
| Timeline | 32 days (25 Mar – 26 Apr 2025), delivered on schedule |
| Effort | 43 hours against a 43-hour estimate — no overrun |
| Team | 3 specialists (Pavel Sazhin — lead development and QA; Anna Polunina — build support; Anton Hersun — project lead) |
| Templates | 9 reusable templates — Homepage, About Us, Services Lander, Service Page, Doctor Page, Blog Lander, Contact Us, Default Template, plus one utility template |
| Tech Stack | WordPress · Elementor Pro · Gravity Forms · WP Engine · Yoast · Site Checker (xaverPRO QA plugin) |
| Delivered | 28 URLs built across 9 templates, 20-page core site + 8 redirect paths, 29-item launch checklist closed, Issues Backlog and AM QA worked down |
| Engagement cadence | 20 agency-raised issues · all closed by handoff (19-day active span, 2025-03-30 – 2025-04-17) |
| Review rounds | ≈1 review round across the 32-day calendar window |
| Launch checklist | 29 items, signed off before cutover |
The Brief
Stonebridge Veterinary Wellness is a companion animal practice in Roseville, California — multi-doctor, full-service, offering preventative care, surgery, dentistry, pain management, urgent care, and pet transport. A US marketing agency specialising in local-business websites engaged us to build the practice’s first WordPress site on WP Engine using Elementor Pro.
The situation was greenfield from the start: no existing website, no live front-end to reference, no crawl baseline. The agency’s brief was a Figma design file, a shared Google Doc with per-page content, and a workbook sitemap of 28 URLs, which we then scoped row by row in hours. The agency owned design, content strategy, and the client relationship. We owned the build: setting up the WP Engine environment, constructing each URL against its assigned template, wiring Gravity Forms, configuring Yoast meta fields per the workbook’s per-row values, and working through post-build QA and fix rounds.
The ask was direct. Build all 28 URLs into the agency’s 9 standard templates. Follow the Figma layouts and the content doc line-for-line. Hold to the per-row hours we scoped — that scope is the contract. Surface ambiguity back to the agency, and do not improvise design or SEO decisions. Where the agency’s spec was silent, flag it rather than guess.
Risk Context. On a greenfield build, the agency’s exposure is not whether pages can be constructed — it is whether the constructed pages match the design reference closely enough that the client sees what they approved. Without a live front-end to validate against, every template choice, every content block, every slug decision is irreversible unless the dev team catches the drift before handoff. The risk is interpretation error: the Figma shows one spacing, the builder renders another; the content doc specifies one heading hierarchy, the template applies another. The agency was hedging against a build team that would treat the Figma as approximate rather than contractual. Content documents ran longer than layout templates allowed for several service descriptions, requiring iterative trimming across multiple client review rounds before the pages held their design structure.
How We Did It
1. Nine templates, 28 URLs, one build pipeline. Stonebridge’s pages spread across the agency’s standard local-business template library: Homepage, About Us, Services Lander, Service Page (applied 6 times — pet dentistry, pet transport, preventative care, surgery, pain management, urgent care), Doctor Page (4 doctors), Blog Lander, Contact Us, and a Default Template that caught 6 supporting pages (new-clients, testimonials, terms-conditions, privacy-policy, and 2 utility pages). Whatever template the sitemap row named, that is the one the page got — nothing was assembled freehand outside the library.
2. Spec followed line-for-line, within the hours we scoped. We scoped each sitemap row in hours — 2.0 for the Homepage at the top end, 0.5 for a standard utility page at the bottom. Summed, the per-row build work totalled 14.7 hours, and the balance of the budget went to management, QA, and fix rounds. None of it spilled past the 43-hour quote.
When a sitemap is priced row by row before a line of code is written, that pricing is what we sign up to honour. Our part was to land each page inside the number already attached to it, rather than reopening the cost of the page once we were mid-build.
3. Redirect paths mapped for future expansion. Eight redirect paths were provisioned in the sitemap — legacy-style slugs and alternate paths that the agency intended to resolve post-launch. We mapped each in the workbook’s redirect column, confirmed clean 404 responses on the staging environment where no live source existed, and left the redirect table ready for the agency’s DNS cutover. Provisioning them while we built, instead of patching them in once traffic was already hitting the new domain, meant the agency inherited a redirect table that was already settled the moment the domain switched over.
4. Two parallel QA loops, closed before handoff. Issues were tracked in two agency-side tabs — the Issues Backlog (20 actual rows, 18 closed as Completed, 2 in To Do) and the AM QA of Staging Site review (50 actual rows, 31 closed as Completed, 18 in QA, 1 in To Do). The 29-item launch checklist — Design, Functionality, Pre-Migration, and Domain phases — closed behind both backlogs.
The content spec exceeded what the service-page template could hold — multiple service descriptions ran long enough that fitting them required iterative trimming across client review rounds before the pages held their layout. Working that constraint into the build order, rather than treating it as a QA afterthought, kept the two parallel backlogs from stacking up at handoff.
Results
| Metric | Outcome |
|---|---|
| URLs built | 20 completed pages across 9 templates + 8 redirect paths provisioned |
| Templates applied | 9 / 9 from the agency’s standard local-business library |
| Issues Backlog | 18 / 20 closed as Completed; 2 in To Do |
| AM QA backlog | 31 / 50 closed as Completed; 18 in QA, 1 in To Do |
| Launch checklist | 29 items across Design / Functionality / Pre-Migration / Domain |
| Timeline | 32 days (build + QA + fix rounds), delivered on schedule |
| Effort | 43h / 43h estimate — no overrun, no scope creep |
| Site status | Live on WP Engine at https://stonebridgevetwellness.com/ — verified April 2026. |
Where this settled: the agency’s 28-URL greenfield build shipped across 9 templates on the WP Engine environment, inside the 43-hour quoted budget. Two QA backlogs were worked down to agency-acceptance levels and the launch checklist closed before handoff.
Operational Integrity at handoff
The AM QA pass on the staging build surfaced two non-functional link findings — a “Directions” stub in the footer and contact sidebar that resolved to nothing (a Figma placeholder never wired to a live URL), and a “Contact” anchor on the doctor bio page that fired no navigation — both flagged in the workbook backlog and resolved before handoff. Before anything left our hands it went through Site Checker. How we run QA lays out the categories and the bar a page clears to ship. Once the build was theirs, the agency ran its own pass on its own stack, and whatever surfaced went back into the shared backlog for us to clear up to sign-off.
Process
| Phase | Duration | Outcome |
|---|---|---|
| Brief & estimation | ~3 days | Workbook reviewed, row-level hours confirmed, Figma and content docs reviewed, 43h quoted and agreed |
| Build phase (pages + templates) | ~12 days | All 28 URLs built across 9 templates on WP Engine staging |
| AM QA + Issues Backlog resolution | ~14 days | Two parallel QA loops worked down; 29-item checklist progressed |
| Fix rounds + final delivery | ~3 days | Outstanding items resolved; site delivered to agency staging |
Phases overlap — the AM QA loop began before every build-phase item had closed, which is why the calendar timeline is 32 days rather than the sum of individual phases.
Team
Delivery team
- Pavel Sazhin — lead developer and QA (build, template implementation, backlog resolution)
- Anna Polunina — build support and content integration
- Anton Hersun, xaverPRO — project lead (estimation, agency-side communication, sign-off)
Throughout, the partner agency held project management and every client-facing conversation. Stonebridge signed off on a site presented under the agency’s brand and had no occasion to learn that a separate WordPress team had assembled it — exactly how a white-label arrangement is meant to read from the client’s seat.
For agencies commissioning a white-label WordPress build
On a greenfield build, the agency carries the structural risk that the finished site does not match the design reference — because the client sees it for the first time at handoff. For a single-location provider with a fixed service menu, the content must fit the layout exactly. For a multi-location group with variable local descriptions, that same template set must flex without overflow. Left unchecked, the layout breaks when the copy runs long, padding and hierarchy drift between review rounds, and the build delivered to the client silently departs from the pages they approved.
“Can you build the pages?” is the wrong thing to vet a dev partner on. The question that actually protects you is how they keep the build faithful to the design spec, so what the client meets at handoff is what the client approved.
Send us a current build workbook, a draft sitemap, or your design files. We will cross-check the content inventory against your template plan, identify where the layout frames will overflow or the spacing will drift, and return a fixed-hours quote. Free review, fixed quote in hours.
Don't have a spec yet? Send a one-paragraph description — we'll come back with the questions worth asking. Send a description →