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.

Industry Healthcare
Engagement White-label · US marketing agency
Delivered 24 calendar days · on schedule
108h across 24 days
mysmilecraft.com · desktop
mysmilecraft.com · mobile

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 →

— The brief

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 ( 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, — 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.

Request a spec review →

Don't have a spec yet? Send a one-paragraph description — we'll come back with the questions worth asking. Send a description →

— Pre-handoff QA gate

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.

Core settings verificationpass
Content & SEO surface auditpass
URL structure integritypass
Content-language sanitizationpass
Menus & widgets auditpass
Original-vs-rebuild content diffpass
Multi-resolution screenshot capturepass

Curious if your engagement fits this pattern?

Scroll to Top