81-Page Dental WordPress Rebuild, Shipped to Spec in 19 Days — White-Label Delivery for a US Marketing Agency
81-page dental WordPress rebuild shipped to spec in 19 days across 10 templates — 50 hours, 80 redirects, 45-item checklist, crawl-verified before cutover.
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 →
Rebuild the site on a new stack. Implement the spec. Don't improvise. Hand it back ready for cutover.
The Craft of a Rebuild
A dental practice’s 81 pages folded down to ten templates, each row of the agency’s workbook honoured to the letter — every URL carried over, every meta title kept intact, every 301 redirect wired up. Nineteen days of calendar, 50 hours of work, and a side-by-side crawl against the original before we touched DNS. Twelve months on, drhardt.com still runs for the same Porterville, California practice.
Snapshot
| Field | Value |
|---|---|
| End-client industry | Healthcare — General & Cosmetic Dentistry |
| End-client | Live Oak Dental (Dr. Richard Hardt DDS, Porterville, CA) |
| Engagement | White-label WordPress build for a US marketing agency specialising in local-business websites |
| Project Type | WordPress rebuild with Elementor Pro on WP Engine |
| Scope | The whole site — services, doctor bios, blog, custom smile gallery |
| Timeline | 19 days (24 Feb – 15 Mar 2025), on schedule |
| Effort | 50 hours against a 50-hour estimate — no overrun |
| Team | 3 specialists (40h dev · 5h PM · 4h fixes · 1h SEO implementation) |
| Tech Stack | WordPress · Elementor Pro · Gravity Forms · WP Engine · Yoast · Screaming Frog · Site Checker (xaverPRO QA plugin) |
| Content parity check | Original-vs-rebuild content diff cleared before handoff — no missing copy, no broken internal links, no structural drift |
| Delivered | Spec followed line-for-line — 80 redirects, 81 meta titles, 45-item launch checklist |
| Engagement cadence | 12 agency-raised issues · 11 of 12 closed by handoff |
| Review rounds | ≈2 review rounds across the 19-day calendar window |
| Launch checklist | 45 items, signed off before cutover |
The Brief
The agency had a retained dental-practice client whose existing WordPress site needed a rebuild — modern page-builder, reliable forms, tidy template system. They’d already done the groundwork: a Google Sheets workbook containing every URL to migrate, every meta title and description to preserve, every design template to implement, and a 45-item pre- and post-migration launch checklist.
The ask left little room for guesswork. Treat the workbook as fixed, rebuild on Elementor Pro, and return the site cutover-ready. Stay off the end client’s radar. Put the SEO calls into effect exactly as the agency had written them, and land it within the 50 hours quoted.
What the agency worried about was not their rankings — that piece they owned. It was the prospect of a shop that would drift away from the brief in small, quiet ways: a redirect dropped here, a template reinterpreted there, a meta title “improved” without asking, the budget creeping, the launch date sliding.
Risk context. When a live dental practice site changes hands — even a same-CMS rebuild — every URL already in index, every internal link patients follow, every redirect the agency has carefully mapped becomes a potential casualty of a dev team that improvises instead of executes. The failure mode is not catastrophic; it is silent. A missed redirect. A meta title slightly reworded. A form integration re-wired. Each is defensible in isolation; together they erode the spec the agency staked its reputation on.
How We Did It
1. Template-first build. Rather than rebuilding 81 pages one by one, we collapsed them into ten reusable templates and fit every page into them:
- Homepage, About, Contact, and a Default fallback
- Services Lander + a single Service Page template powering 20 service pages across four categories (preventative, restorative, cosmetic, advanced-care dentistry)
- Doctor Page — individual bio pages
- Blog Lander + Blog Post templates
- Smile Gallery — the practice-specific before/after template
Ten templates carried the entire site. When the agency needs to change a page type later, there’s a single place to do it.
2. Spec followed line-for-line, from the agency’s sheet. The agency handed us a Google Sheets workbook: every URL to migrate with its target path, every meta title and description to port, every template assignment, every client-specific integration (GA / GA4 / GTM, reCAPTCHA, Nitropack cache). Every row went in as the agency had set it down. A cell with a value became a value on the rebuilt site; a blank or an ambiguity went back to the agency as a question rather than a guess. Nothing left our hands as an “improvement.”
Why this discipline matters comes down to one thing: on a rebuild the workbook is the agreement the agency has struck with its client. Our place is to hold that agreement steady, not to redraft it.
3. Crawl-based verification, not “looks fine to me”. With DNS cutover still ahead of us, we pointed Screaming Frog at the old production site and the staging rebuild in parallel and laid the two reports against each other. Anything that differed — a status code, a dead link, a redirect chain, a meta tag — got squared against the agency’s spec until it matched. Once the site was live, a fresh crawl proved that every internal link still resolved on drhardt.com.
4. 45-item launch checklist, closed before handoff. Seven categories: Design, Functionality, Content, SEO & Analytics, Responsive, client-specific integrations, and a 12-step Domain & DNS migration to WP Engine. Each line had to be ticked and confirmed before the build moved an inch further. We ran the device check across Chrome, Firefox, Safari, and Edge at six widths — 1920, 1280, 1024, iPad, mobile portrait, and mobile landscape. The Gravity Forms contact form went through a live submission, start to finish.
Working under the 19-day window meant the meta verification had to be a separate formal pass, not an afterthought. We checked every meta title and description against the original — blog posts with missing descriptions flagged and filled, capitalisation preserved per the agency’s spec — before the build moved to DNS cutover. The 19 days held because the meta pass ran in parallel with late-stage QA, not after it.
Results
| Metric | Outcome |
|---|---|
| Spec fidelity — redirects | 80 / 80 content URLs redirected, as specified |
| Spec fidelity — meta data | 81 / 81 meta titles and descriptions placed, as specified |
| Spec fidelity — templates | 10 / 10 templates built and applied site-wide |
| Launch checklist | 45 / 45 items signed off before cutover |
| Timeline | 19 days, delivered on schedule |
| Effort | 50h / 50h estimate — no overrun, no scope creep |
| Responsive verification | Zero layout issues across 4 browsers × 6 viewports |
| Internal QA | All agency-scoped issues closed before handoff (6 of 12 flagged; 6 were end-client-blocked or out of agency scope) |
| Site status | Live on WP Engine at https://www.drhardt.com/. |
Plainly stated, here’s where it landed: the workbook shipped as written, the 50 hours held, and the cutover happened on the day the agency had booked. A year later the build is still serving the practice.
Operational Integrity at handoff
The parity review we ran before handoff caught blog posts missing their meta descriptions and meta titles that didn’t line up across the site. Both went into the Issues Backlog as High-priority, and we cleared them in a dedicated fix pass, so the agency only ever saw a corrected staging build. We put the site through Site Checker first — how we run QA lays out the categories we score and the zero-error bar we hold to. The agency then reviewed the handoff on its own stack and in its own way. Whatever it turned up went into the shared backlog, and we worked each item down until the agency was satisfied.
Process
| Phase | Duration | Outcome |
|---|---|---|
| Brief & estimation | 1 day | Agency spec reviewed; 50h quoted and agreed |
| Development | ~13 days | Full site rebuilt across 10 templates |
| Internal QA & review | 2 days | 12 issues logged; all agency-scoped work closed |
| Spec verification | 1 day | Meta and redirect matches reconciled against sheet |
| Delivery & DNS cutover | 1 day | Site live on WP Engine, no downtime |
QA was running while development was still finishing, so the phases share calendar days — which is how the project fits 19 days even though the phases listed here would add up to more.
Team
Delivery team
- Nikita Tumasevic — lead developer (full site build and template system)
- Pavel Sazhin — QA fixes and meta-data implementation
- Anton Hersun, xaverPRO — project lead (estimation, agency-side communication, sign-off)
Across the migration and the cutover, anything Dr. Hardt’s practice wrote landed in the agency’s inbox, and the agency’s name sat alone on the work — not one note from our developers ever reached the practice. Which URLs to keep and how the redirects should map were the agency’s calls to make; we simply built what their spec told us to build, faithfully.
For agencies considering a white-label WordPress rebuild
On a live dental practice site, a same-CMS rebuild carries every URL the agency has ranked and every redirect they have mapped. For this practice — a single-location general dentistry; for others — a multi-location dental group with a shared brand system. The redirect map will have gaps, and old URLs the agency has ranked will return 404. Meta titles will get overwritten by the new theme, changing the SERP snippets the agency relies on. Schema markup will disappear after the import, pulling rich snippets from Google’s cache.
The question to ask dev partner is not “can you rebuild?” — it is “how will you guard the redirect map and preserve meta and schema?”
Send us the current production URL, a draft redirect map if you have one, or your design files. We will walk the redirect map against your current URL inventory, identify gaps that could cause 404s, 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 →
Site Checker runs before the agency sees anything.
Before handoff, every staging build runs through Site Checker — the WordPress QA plugin we built and maintain. It is a fail-zero gate: nothing goes to the agency with an open failure. Warnings are reviewed and judged non-blocking; the agency gets a clean slate to run their own QA layer against, not a staging site with known issues in the queue.