Work / Rebuild / 31-URL Dental Rebuild with Blog Path Migration

31-URL Dental Rebuild with Blog Path Migration

A 31-URL dental rebuild — 15 templates, 49 hours, 20 days. 12 blog posts migrated, 39-item checklist closed for a Sugar Land, TX family practice.

Industry Healthcare (Dental)
Engagement White-label · US marketing agency
Delivered 20 calendar days · on schedule
49h across 20 days
oasisdentaltx.com · desktop
oasisdentaltx.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.

Client (end user): Oasis Dental — Dr. Sagar Amin, DDS, Family Dentistry, Sugar Land, TX
Engagement: White-label development for a US marketing agency
Delivered: April–May 2025 · 20 days · 49 hours · on schedule, no overrun

The Craft of a Rebuild

31 URLs across 15 Elementor Pro templates, built to a Google Sheets spec that moved twelve blog posts from root paths to a /blog/ subdirectory — each old URL requiring a matching 301 redirect. The agency provided the URL map and the redirect list; we provided the per-template execution, the internal QA round, and the migration verification. Delivered in 20 days, 49 hours, no overrun.

This case study is a record of one such rebuild, in which the agency owned the strategy and we owned the execution.

Snapshot

Field Value
End-client industry Healthcare — Family Dentistry
End-client Oasis Dental (Dr. Sagar Amin, DDS, Sugar Land, TX)
Engagement White-label WordPress rebuild for a US marketing agency specialising in local-business websites
Project Type WordPress rebuild with Elementor Pro on WP Engine
Scope Full site — homepage, about, meet the team, doctor bio, 7 service pages, blog (12 posts migrated to /blog/ path), contact, smile gallery, membership, new patient special, privacy policy
Timeline 20 days (14 Apr – 4 May 2025), on schedule
Effort 49 hours against a 49-hour estimate — no overrun
Team 5 specialists
Tech Stack WordPress · Elementor Pro · WP Engine · Yoast · TrustIndex (review widget) · 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 — 31 URLs across 15 templates, blog URL restructure, 39-item launch checklist
Engagement cadence 13 agency-raised issues · all closed by handoff (16-day active span, 2025-05-01 – 2025-05-16)
Review rounds ≈3 review rounds across the 20-day calendar window
Per-ticket effort 5 internal Redmine tickets · median 14.5h / P75 20h per ticket
Launch checklist 38 items, signed off before cutover

The Brief

A US marketing agency had a retained dental client — a Sugar Land, TX family practice with a single principal dentist and a multi-service offering (cosmetic, general, implant, preventive, sedation, laser, emergency, and Invisalign) — whose existing WordPress site needed a rebuild on WP Engine. The agency had done the upstream work: a sitemap covering every existing URL and its target path, a template list, meta titles and descriptions for every page, and a launch checklist organised into design, functionality, content, and SEO review categories.

One structural choice in the workbook was more consequential than it first appeared. The practice’s existing blog posts lived at root-level paths (e.g. /expert-tips-for-preventing-cavities/, /how-to-avoid-gum-disease/, and so on). The rebuild spec moved all twelve of them into a /blog/ subdirectory. Each post’s old path needed a corresponding 301 redirect to its new /blog/slug/ destination. The blog lander itself and the /meet-the-doctor/ path were also flagged for URL correction in the spec. The original site’s responsive layout — particularly on mobile and tablet — had accumulated enough spacing and breakpoint degradation that preserving it was not viable; those viewports were rebuilt from scratch to the practice’s brand language rather than ported from the live originals.

Risk context. When a rebuild migrates a blog’s URL structure from root-level slugs to a /blog/ subdirectory, every existing external link, every bookmark, and every indexed path in search engines points to the old root URLs. A redirect that silently misfires — serving a 301 chain that double-hops through the homepage, or missing a trailing-slash normalisation — passes a visual check and shows up only in a crawl or a spike in 404s after launch. The spec covered the full migration list; our job was to close the gap between “spec says redirect” and “server delivers 301 to the correct destination.”

How We Did It

1. Template-first build. Rather than rebuilding 31 URLs one by one, we collapsed them into 15 reusable templates and fit every page into them:

  • Homepage — the primary conversion surface, with embedded map, review widget placeholder, and address links
  • About Us — practice story and values
  • Meet The Team — team grid (URL restructured from a legacy hash-fragment path to the clean /meet-the-team/)
  • Doctor Page — principal dentist bio (Dr. Sagar Amin, DDS)
  • Services Lander — category entry point
  • Service Page — single reusable template powering 7 individual service pages: Cosmetic Dentistry, Emergency Dental Care, General Dentistry, Implant Dentistry, Invisalign, Laser Dentistry, Preventative Dental Care, and Sedation Dentistry
  • Blog Lander — archive index (/blog/)
  • Blog — individual post template (12 posts, all migrated to /blog/ subdirectory)
  • Contact Us — contact page with contact form
  • Smile Gallery — patient photo gallery (/gallery/)
  • Membership page — membership plan overview
  • New Patient Special — promotional page
  • Privacy Policy — standard legal page
  • Default Template — utility pages

Fifteen 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 new path, every meta title and description, every template assignment, and a Settings tab with site and staging URLs. We implemented each row as written. The blog migration in particular required precision: twelve post slugs each gained a /blog/ prefix, and the workbook’s Action column flagged each one as “URL Change.” We implemented the redirects exactly as specified — no interpretation, no re-routing.

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 handoff, we ran Screaming Frog on the staging rebuild. Every URL in the sitemap was checked against its expected status code. The blog migration was checked not just for redirect existence but for destination accuracy — each /old-slug redirect must resolve cleanly to /blog/old-slug, not chain through the homepage or drop to a 404. One post link in the rebuild was surfaced as pointing to a non-existent record during internal review and was corrected before the build was submitted to the agency. A post-handoff crawl confirmed all internal links resolved correctly on the live domain.

4. 39-item launch checklist, closed before handoff. Four categories: Design, Functionality, Content, and SEO & Analytics. Cross-device QA on Chrome, Firefox, Safari, and Edge across six viewports (1920 / 1280 / 1024 / iPad / mobile portrait / mobile landscape). The agency’s QA team ran a parallel review and surfaced a short backlog of additional items — H1 tag correction site-wide, sitemap inclusion of service pages in Rank Math, a Google Maps footer embed, and mobile whitespace — all of which were resolved in the fix round before the site went live.

5. Post-handoff fix round — TrustIndex integration. Following launch, the agency commissioned a single-issue addendum: implementation of a TrustIndex review section on the homepage and the New Patient Special page. The widget was integrated in a separate tracked issue and signed off within a week.

The blog URL migration was the order-setter: the redirect map had to be confirmed before the visual build could close, because a silent redirect failure passes a visual check and only surfaces in a crawl. Running Screaming Frog before handoff — not as a formality but against the full 31-URL spec — was the one verification that closed the gap between “spec says 301” and “server delivers it.”

Results

Metric Outcome
Spec fidelity — URLs migrated 31 / 31 pages and posts migrated to specified paths
Spec fidelity — blog restructure 12 blog posts migrated from root-level to /blog/ subdirectory with 301 redirects
Spec fidelity — templates 15 / 15 templates built and applied site-wide
Launch checklist 39 items reviewed and signed off before cutover
Agency QA backlog 13 items tracked and resolved across the shared issues backlog (SEO + AM QA tabs)
Timeline 20 days, delivered on schedule
Effort 49h / 49h estimate — no overrun, no scope creep
Responsive verification Zero layout issues across 4 browsers × 6 viewports
Post-launch addendum TrustIndex review widget integrated on homepage and New Patient Special within 1 week
Handoff Site live on WP Engine on the scheduled cutover day, no downtime
Site status oasisdentaltx.com still live and indexed

The outcome, restated plainly: the agency’s spec was implemented as written, the blog URL structure was migrated without broken paths, and the engagement closed on schedule inside the quoted hours.

Operational Integrity at handoff

Internal QA on the staging build caught one blog post pointing to a non-existent record during the 12-post root-to-/blog/ migration and flagged it before the build was submitted; the agency’s workbook review then surfaced H1-tag errors across all pages and five URL-path mismatches against the sitemap spec — all marked High priority and closed before cutover. 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 day Agency spec reviewed; 49h quoted and agreed
Development ~14 days Full site rebuilt across 15 templates on WP Engine staging
Internal QA & review 3 days Blog URL migration checked; agency QA backlog items addressed
Spec verification 1 day URL redirects reconciled against sheet; crawl confirmed
Delivery & DNS cutover 1 day Site live on WP Engine, no downtime
Post-launch addendum ~1 week TrustIndex widget integrated and signed off

Phases overlap (QA ran alongside late development), which is why the calendar timeline is 20 days rather than the sum of individual phases.

Team

Delivery team

  • Nikita Tumasevic — developer (post-launch TrustIndex integration)
  • Pavel Sazhin — QA and agency-side communication
  • Anna Polunina — implementation support and QA across the rebuilt pages
  • Lyudmila Travkina — lead developer (full site build and template system)
  • Anton Hersun, — project lead (estimation, sign-off)

The agency remained the visible vendor throughout; our team stayed invisible to the end client. URL architecture decisions — which paths to create, how to redirect blog slugs, which content to carry forward — belonged to the agency. We implemented those decisions exactly as specified.

For agencies considering a white-label WordPress build

If you’ve been burned by a dev partner who treated the redirect map as advisory — rerouting paths, skipping trailing-slash normalisation, or launching before the crawl confirmed — send us the migration spec. We will read it for redirect accuracy risk, flag the cases where “spec says redirect” can quietly fail at cutover, and return a fixed-hours quote within 24 hours. No cost. No obligation to proceed.

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
xaver.pro · 2026 White-label · Agency not named
Scroll to Top