361-Page Multi-Location Dental WordPress Rebuild, Shipped to Spec — White-Label Delivery for a US Marketing Agency
A multi-location dental rebuild across 361 URLs, 14 templates, and 117 redirects for a California practice — 74-item checklist, 125 hours, 24 days.
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
361 pages of a multi-location dental WordPress rebuild on Elementor Pro — two practice locations, 14 reusable templates, and a 117-redirect migration spec, delivered to a 74-item launch checklist in 24 days. The agency owned the URL map and the redirect sheet; we owned the per-page execution and the pre-cutover crawl verification.
Snapshot
| Field | Value |
|---|---|
| End-client industry | Healthcare — General, Cosmetic & Restorative Dentistry |
| End-client | Smile Craft Dental (Redwood City, CA · Sunnyvale, CA) |
| Engagement | White-label WordPress build for a US marketing agency specialising in local-business websites |
| Project Type | WordPress rebuild with Elementor Pro on Kinsta |
| Scope | Full site rebuild across two locations — 361 URLs, 7 doctor bios, services, blog, patient resources, smile gallery |
| Timeline | 24 days (1–25 Sep 2025) |
| Effort | ~125 hours scoped in the agency’s workbook |
| Team | 6 specialists (lead dev · 3 QA · PM) |
| Tech Stack | WordPress · Elementor Pro · Gravity Forms · Kinsta · 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 — 117 redirects, 361 URLs migrated, 14 templates, 74-item launch checklist |
| Retained engagement | Post-launch fix rounds and feedback-plugin monitoring across Oct–Dec 2025 — delivered in additive sprints inside the same agency relationship |
| Engagement cadence | 34 agency-raised issues · all closed by handoff (29-day active span, 2025-09-26 – 2025-10-24) |
| Review rounds | ≈8 review rounds across the 24-day calendar window |
| Launch checklist | 74 items, signed off before cutover |
The Brief
The agency had a retained dental client — Smile Craft Dental, a multi-location practice serving Redwood City and Sunnyvale, CA — whose existing site needed a WordPress rebuild on Kinsta. The agency had completed the strategic work: a Google Sheets workbook mapping every URL to migrate, every meta title and description to preserve, a full template list, and a 74-item launch checklist covering pre- and post-migration validation.
The ask was specific. Take the spec as given; rebuild the site on Elementor Pro; hand it back ready for cutover. Remain outside the client-facing loop. Implement the SEO decisions as written.
One structural decision made this rebuild more demanding than a same-structure migration: the practice runs two locations, each with its own service-page subtree. The workbook carried separate URL paths for Redwood City and Sunnyvale under /redwood-city/ and /sunnyvale/, with 117 redirect mappings from the old URL structure to the new. Also, the practice lists seven doctors, each requiring an individual bio page. The spec covered every path change and every template assignment. Our job was to implement each row exactly as written.
Risk context. A rebuild with 361 URLs across two locations and seven doctors is not just a migration — it is a consolidation of multiple local-search surfaces. The risk is not a single missed redirect; it is a systematic mis-routing of location-specific service pages or a doctor-bio template that fails to scale to seven practitioners. Each location carries its own service taxonomy, its own contact details, its own local-phone routing. A redirect that lands on the wrong location’s lander, or a doctor page that inherits the wrong city phone number, passes a visual check and fails only when a patient calls the wrong office.
How We Did It
1. Template-first build. Rather than rebuilding 361 pages one by one — which would have multiplied the per-page error surface across two locations with separate service subtrees — we collapsed them into fourteen reusable templates and fit every page into them:
- Homepage, Contact Us, About Us, Office Tour — the brand-defining pages
- Services Lander — powering location-specific service category pages for both Redwood City and Sunnyvale
- Service Page — a single reusable template powering all individual service pages across both locations (cosmetic dentistry, restorative dentistry, general dentistry, emergency dentistry, orthodontics, pediatric dentistry, and more)
- Doctor Page — applied to all seven practitioner bios (Amy Nguyen DDS, J Janice Chou DDS, Gregory Ding DDS, Rita Huang DDS, Nazak Noorian DDS, Nehal Shah DMD, Victoria Goh DDS)
- Blog Lander + Blog — the content archive and individual post template
- Smile Gallery — the practice’s before/after photo gallery
- Patient Resources — Financing, Insurance, Payment Plan / Membership, Payment Policy
- Default Template — privacy policy, sitemap, and fallback pages
Fourteen templates, whole site delivered. Future edits on the agency’s side live in one place per page type.
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 (Google Analytics, Gravity Forms with email routing to info@mysmilecraft.com, Yoast SEO configuration). We implemented each row as written. Where the sheet had a value, that value landed on the new site. Where it didn’t, we flagged it back to the agency. No “creative interpretations” shipped.
The principle behind this is simple: on a rebuild, the spec is the contract between the agency and its client. A dev team’s job is to protect that contract, not to edit it.
3. Crawl-based verification, not “looks fine to me”. Before DNS cutover, we ran Screaming Frog on the old production site and the staging rebuild side-by-side. Status codes, broken links, redirect chains, meta-tag differences — every delta reconciled against the agency’s spec. We verified the 117 redirect mappings in the workbook’s redirect tab destination-by-destination: an old /redwood-city-ca/cosmetic-dental-services/ path had to land on /redwood-city/cosmetic-dentistry/, not on the Sunnyvale equivalent. A second crawl after go-live confirmed every internal link resolved on the live domain.
4. 74-item launch checklist, closed before handoff. Eight categories: Status Codes, Redirects, URL Structure, Content, SEO & Analytics, Responsive, client-specific integrations, and Domain & DNS migration to Kinsta. Cross-device QA on Chrome / Firefox / Safari / Edge and six viewports (1920 / 1280 / 1024 / iPad / mobile portrait / mobile landscape).
Eight review rounds across 24 days, each one returning a reconciled staging URL to the agency without a live-site surprise. The per-round sequence — templates locked first, redirect destinations verified by crawl, checklist items cleared before the next batch — meant that by round eight there were no outstanding structural issues, only content details the agency had already logged to the backlog.
Results
| Metric | Outcome |
|---|---|
| Spec fidelity — URLs migrated | 361 / 361 pages migrated from old URL structure to new, as specified |
| Spec fidelity — redirects | 117 / 117 redirect mappings implemented, as specified |
| Spec fidelity — templates | 14 / 14 templates built and applied site-wide |
| Launch checklist | 74 / 74 items reviewed and signed off before cutover |
| Timeline | 24 days, from kickoff to handoff |
| Effort | ~125 hours scoped in the agency’s workbook |
| Responsive verification | Zero layout issues across 4 browsers × 6 viewports |
| Internal QA | All agency-scoped backlog items addressed before handoff |
| Site status | Live on Kinsta at https://www.mysmilecraft.com/. |
| Retained engagement | Post-launch refinement rounds Oct–Dec 2025 — SEO URL changes, backlog review, production migration fixes, feedback-plugin monitoring — each delivered in additive sprints inside the same agency relationship |
The upshot: we implemented the agency’s spec as written, inside the scoped hours, on the cutover day. A retained engagement tail across the following three months confirms the build held its shape under post-launch attention.
Operational Integrity at handoff
The QA pass on staging ran Site Checker — which flagged broken phone links on location pages and caught a missing URL in the crawl and absent H1 tags on /office-tour/ and multiple dental service pages — every finding logged to the shared backlog and resolved before the build was submitted. Pre-handoff QA ran through Site Checker — see our QA approach for the categories and the clean-slate bar we require before sign-off. The agency’s own tooling and 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 day | Agency spec reviewed; ~125h scoped in workbook and agreed |
| Development | ~18 days | Full site rebuilt across 14 templates on Kinsta staging |
| Internal QA & review | 3 days | Backlog items addressed; all agency-scoped work closed |
| Spec verification | 1 day | Meta and redirect matches reconciled against sheet; crawl confirmed |
| Delivery & DNS cutover | 1 day | Site live on Kinsta, no downtime |
Phases overlap (QA ran alongside late development), which is why the calendar timeline is 24 days rather than the sum of individual phases.
Team
Delivery team
- Nikita Tumasevic — lead developer (full site build and template system)
- Pavel Sazhin — QA and backlog fix implementation
- Anna Polunina — implementation support and QA across the rebuilt pages
- Timur Arbaev — QA and post-launch fix rounds
- Lyudmila Travkina — QA, production migration, and feedback-plugin monitoring
- Anton Hersun, xaverPRO — project lead (estimation, agency-side communication, sign-off)
Smile Craft worked with the agency the whole way; we never appeared in a client email or a sign-off thread from kickoff through cutover. URL architecture decisions — which paths to create, how to redirect the old structure, which location got which service subtree — all belonged to the agency. We implemented those decisions exactly as specified.
For agencies considering a white-label WordPress rebuild
On a multi-location dental rebuild, the redirect map dictates whether the agency retains the local rankings it spent months building. For this practice — a multi-location dental group consolidating several provider and service pages into one site; for others — a single-clinic practice migrating a flat brochure. The routing breaks in ways that look fine on staging. A location lander misses its redirect and drops from the local pack. A doctor template inherits the wrong phone — patient calls silently reach the wrong office. A service page redirect cross-wires locations, sending campaign traffic to the wrong booking form.
Ask a partner ‘how will you route every location-specific URL without scattering the local visibility?’ — not just ‘can you redirect the old site?’
Send us your current and target URL inventory, or a staging URL and a rough redirect map. We will trace every path against your location structure and pinpoint where routing can silently fail. Then we 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.