34-Page Oral Surgery WordPress Build
A 34-page Oral Surgery WordPress build delivered in 109 days — 10 templates, 305 redirect pairs reconciled, 38-item checklist, 115h with no overrun.
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.
Client (end user): Peninsula Oral Surgery and Implants — Torrance, CA
Engagement: White-label development for a US marketing agency
Delivered: March – July 2025 · 109 days · 115 hours across build + templated design phases
The Craft of a Build
34 pages of an oral-surgery WordPress build across 10 branded templates, delivered in two phases for a US marketing agency. The first pass constructed every page against the workbook’s per-page Hours Estimated column; the second — a Templated Design Development pass — reconciled 305 unique internal-link redirect pairs and worked down two QA backlogs to completion. The full 115-hour engagement closed across 109 days without overrun.
This case study is a record of such a layered build — delivered for a US marketing agency in the oral-surgery segment.
Snapshot
| Field | Value |
|---|---|
| End-client industry | Healthcare — Oral Surgery & Dental Implants |
| End-client | Peninsula Oral Surgery and Implants (Torrance, CA) |
| Engagement | White-label WordPress build for a US marketing agency specialising in local-business websites |
| Project Type | WordPress build with Elementor on WP Engine, followed by a templated-design development pass |
| Scope | 34 URLs — homepage, services lander, 15 service pages, 3 doctor pages, contact, about, smile gallery, blog lander + post, plus 13 default-template pages |
| Timeline | 109 days (19 Mar – 5 Jul 2025), delivered on schedule |
| Effort | 115 hours against a 115-hour estimate — no overrun |
| Team | 4 specialists (34h dev · 28h QA · 53h PM · balance across both build and templated-design phases) |
| Templates | 10 reusable templates — the agency’s standard dental template library |
| Tech Stack | WordPress · Elementor · Gravity Forms · WP Engine · Rank Math · ACF · Site Checker (xaverPRO QA plugin) |
| Delivered | 34 URLs built, 305 internal-link redirect pairs reconciled, 38-item launch checklist closed, 50-row SEO backlog worked down to 44 Completed |
| Engagement cadence | 50 agency-raised issues · all closed by handoff (13-day active span, 2025-05-12 – 2025-05-24) |
| Review rounds | ≈9 review rounds across the 109-day calendar window |
| Per-ticket effort | 11 internal Redmine tickets · median 10h / P75 15h per ticket |
| Launch checklist | 38 items, signed off before cutover |
The Brief
A US marketing agency retained by Peninsula Oral Surgery and Implants — a Torrance-based oral surgery and dental implants practice — handed us a Google Sheets workbook with a full URL map, a templates catalogue, a launch checklist, and a pre-populated issues backlog. The build sat on their existing WP Engine environment; the page builder was Elementor; forms were Gravity Forms.
The ask was staged. First, build out all 34 pages into the agency’s 10 standard templates. Then, through a second phase the agency calls “Templated Design Development”, accept their per-page design deltas, reconcile the remaining SEO issues, and work down the Account Manager’s QA backlog. Throughout, remain outside the end-client-facing loop; surface ambiguity back to the agency; do not improvise design or SEO decisions.
Risk Context. On a two-phase build, the agency’s exposure is not whether pages can be built — it is whether the dev partner will stay through the reconciliation pass. A build delivers a new patient-facing surface; the agency’s promise to their client lands on it. The risk is not in coding 34 pages to a template spec; it is in handing off a site whose second phase has not closed, and finding out that the dev partner treated the first-pass launch as the finish line. The brief for this engagement was structured around exactly that concern: two explicit phases, two QA backlogs, one fixed-hours budget that covered both.
How We Did It
1. Ten templates, 34 pages, one build pipeline. Peninsula’s pages spread across the agency’s standard dental template library: Homepage, About, Contact, Services Lander, Service Page (the heaviest — 15 service pages, which were structurally too diverse to share a single layout pattern and required custom ACF field groups per procedure type), Doctor Page (3 doctors), Smile Gallery, Blog Lander, Blog, and a Default fallback that caught 13 supporting pages (insurance, financing, patient forms, policies). Each page was built on its assigned template from the sitemap row; no page was hand-rolled outside the template system. We used ACF Conditional Logic with Elementor to serve the right field layout for each procedure within the shared Service Page template rather than building separate page templates per type.
2. Spec followed line-for-line — including the per-page Hours Estimated column. The agency’s workbook carried an Hours Estimated value for every row. We implemented against that value. Where a row specified 4 hours for the Homepage and 1 hour for a standard service page, that was our budget for the row, and the aggregate came in at the agreed 115 hours for the project.
The principle behind this is simple: on a build with a pre-costed sitemap, the workbook is the contract. A dev team’s job is to deliver inside the row-level budgets, not to re-open the pricing conversation page by page.
3. Internal-link redirect reconciliation across 305 unique URL pairs. On-site link audit flagged hundreds of old-path hyperlinks embedded in body content. We reconciled 305 unique URL-to-URL pairs in the Links-with-Redirects workbook tab — each mapped from the staging path to the final production target and verified against the redirect table. All rows closed with status Fixed before handoff.
4. Two parallel QA loops, closed before launch. Issues were tracked in two agency-side backlog tabs — the SEO/Issues Backlog (50 rows, priorities from Low to Urgent) and the Account Manager’s QA-of-Staging-Site review (29 rows, flagged with screenshots against staging). Of those 79 items, 71 closed as Completed before launch; the balance were Info-Needed waits on the end client. The 38-row launch checklist — Design, Functionality, Pre-Migration, Post-Migration columns — closed behind both backlogs.
The two-phase structure — first-pass build followed by Templated Design Development — meant the per-page Hours Estimated budget had to carry through both passes, not just the first. Keeping the same row-level discipline across 305 redirect pairs and two QA backlogs in the second phase was what kept the engagement from re-opening pricing when the reconciliation work began.
Results
| Metric | Outcome |
|---|---|
| URLs built | 34 across 10 templates (1 Homepage · 1 Services Lander · 15 Service Pages · 3 Doctor Pages · 1 Contact · 13 Default-template supporting pages) |
| Templates applied | 10 / 10 from the agency’s standard dental library |
| Internal-link redirect pairs reconciled | 305 unique pairs closed as Fixed in the Links-with-Redirects tab |
| SEO issues backlog | 44 / 50 closed as Completed; 5 in QA, 1 Info-Needed |
| Account Manager QA backlog | 27 / 29 closed as Completed; 1 in QA, 1 Info-Needed |
| Launch checklist | 38 items signed off across Design / Functionality / Pre-Migration / Post-Migration |
| Timeline | 109 days across two phases, delivered on schedule |
| Effort | 115h / 115h estimate — no overrun, no scope creep |
| Handoff | Site live on WP Engine, https://www.peninsulaos.com/ returning HTTP 200 |
| Site status, verified 2026-04 | Production live and serving 200 from a fresh curl check |
The outcome, restated plainly: the agency’s 34-URL build shipped across 10 templates on the WP Engine environment, inside the 115-hour quoted budget. Two QA backlogs were worked down to agency-acceptance levels and the launch checklist closed before cutover.
Operational Integrity at handoff
On this build the QA load was led by stock-image duplication: the SEO Issues Backlog flagged a High-priority duplicate-image finding site-wide, an Urgent broken layout on the dental-implants page, a missing trailing slash on the homepage link, and three procedure pages returning unwanted redirects — all caught in the staging pass and resolved before the agency saw the build. Pre-handoff QA ran through Site Checker — see our QA discipline for the categories and the fail-zero gate. The agency’s own QA layer — their tools, their process — ran post-handoff and surfaced issues into the shared backlog for our fix loop until they signed off.
Process
| Phase | Duration | Outcome |
|---|---|---|
| Brief & estimation | ~1 week | Workbook reviewed, row-level hours confirmed, 115h quoted and agreed |
| Build phase (pages + templates) | ~6 weeks | All 34 pages built against 10 templates; 50-row SEO backlog and 29-row AM QA backlog opened |
| Templated design development | ~4 weeks | Per-page design deltas reconciled, both QA backlogs worked down to agency-acceptance |
| Link reconciliation + checklist | ~1 week | 305 internal-link redirects closed; 38-item launch checklist signed off |
| Delivery | final day | Site live on WP Engine |
Phases overlap — the templated-design pass began before every build-phase QA item had closed, which is why the calendar timeline is 109 days rather than the sum of individual phases.
Team
Delivery team
- Natalia Bogatel — lead developer across both build and templated-design phases
- Pavel Sazhin — QA iterations and fixes
- Nikita Tumasevic — developer support on late-phase customisation and link reconciliation
- Anton Hersun, xaverPRO — project lead (estimation, agency-side communication, sign-off)
Agency-side project management and client-facing communication remained with the partner agency throughout. Our team was invisible to the end client.
For agencies commissioning a white-label WordPress build
A staged build workflow — first-pass pages against a template library, then a reconciliation pass that closes redirect pairs and QA backlogs — only holds if the dev partner stays through both phases. On this engagement the same row-level budget that costed 34 pages in phase one carried through 305 redirect pairs and two QA backlogs in phase two, without reopening the estimate. Send a two-phase build workbook or a draft sitemap with the reconciliation scope noted; we will return a fixed-hours quote covering both passes within 24 hours, no cost, no obligation.
Don't have a spec yet? Send a one-paragraph description — we'll come back with the questions worth asking. Send a description →