82-URL Dental WordPress Rebuild, Shipped to Spec in 17 Days — White-Label Delivery for a US Marketing Agency
A Webflow-to-WordPress dental rebuild — 82 URLs, 15 templates, 89 hours, 17 days. 59 path redirects, 27 QA items closed for a Pittsburgh practice.
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
82 URLs across 15 Elementor Pro templates, rebuilt from Webflow to WordPress for a multi-location Pittsburgh dental practice — 59 path changes redirected, 27 SEO QA items closed before handoff. The agency supplied the sitemap, the redirect map, and a per-URL hours budget; we supplied the cross-platform execution, the crawl-based verification, and line-for-line adherence to the spec. Delivered in 17 days at 89 hours, no overrun.
An engagement does not always end at cutover. After the site shipped, the agency retained us through six further rounds of post-launch refinement. How tightly the build held to spec is what made that retention possible.
Snapshot
| Field | Value |
|---|---|
| End-client industry | Healthcare — General, Cosmetic & Restorative Dentistry |
| End-client | South Hills Dental Arts (multi-location practice across Pittsburgh’s South Hills: McMurray · Sewickley · Upper St. Clair) |
| Engagement | White-label WordPress build for a US marketing agency specialising in local-business websites |
| Project Type | Webflow → WordPress rebuild on WP Engine, Elementor Pro page-builder |
| Scope | The whole site — 15 templates spanning homepage, services, multi-location, 40-person Meet Our Team, blog, smile gallery, careers |
| Timeline | 17 days (29 Apr – 15 May 2025), on schedule for the rebuild delivery |
| Effort | 89 hours against an 89-hour estimate — no overrun on the rebuild phase |
| Team | 6 specialists (69h dev · 10h QA · 10h PM on the rebuild; further 24h across retained refinement rounds) |
| Tech Stack | WordPress · Elementor Pro · WP Engine · Screaming Frog · Header Footer Code Manager · 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 — 82 URLs migrated, 59 path changes redirected, 15 templates built, 27 SEO QA items closed before sign-off |
| Retained engagement | Six further refinement rounds across the next six months — homepage redesign, design-issue updates, menu restoration, template audit — each delivered in additive sprints inside the same agency relationship |
| Engagement cadence | 27 agency-raised issues · all closed by handoff (19-day active span, 2025-05-18 – 2025-06-05) |
| Review rounds | ≈9 review rounds |
| Launch checklist | 29 items, signed off before cutover |
The Brief
The agency had a retained dental-practice client whose existing site was on Webflow and whose business had outgrown it: a multi-location practice across three Pittsburgh neighbourhoods, a 40-person Meet Our Team gallery, 10 service pages, and a blog. The existing URL structure had been audited and a Google Sheets workbook prepared: every URL to migrate, every path change to redirect, the new template each URL belonged to, the meta titles to preserve, and a launch checklist with pre- and post-migration columns. We scoped each row in hours so the build cost could be agreed line by line.
The instruction left little room to wander. Treat the workbook as fixed, reconstruct the practice on Elementor Pro behind WP Engine, preserve the URL story through the Webflow-to-WordPress jump, and return the site ready for the agency to flip DNS. We stayed clear of any contact with the practice, executed the SEO calls the agency had already made, and worked to the hour budget they had quoted.
The risk here was structural, not just procedural. A multi-location practice with forty team-member bios and a cross-platform CMS migration has far more surface area for drift than a single-doctor, WordPress-to-WordPress rebuild. A path-change on one location page maps to a specific redirect in the workbook — if the redirect is omitted or the destination path is slightly wrong, the 301 the agency specified becomes a 404 the end client discovers. A bio page missing from the team template is a visible gap to a patient or a referral. The spec was dense; the tolerance for improvisation was zero.
Risk context. A cross-platform migration — Webflow to WordPress — carries a category of risk that a same-CMS rebuild does not: the two platforms handle URL structure, redirect chains, and internal-link resolution differently at the server level. The agency had mapped every path change and every redirect in the workbook. Our job was not to question the map; it was to ensure that when DNS cut over, every entry on the map resolved exactly as specified, with no redirect loops, no chain collisions, no trailing-slash duplicates left from the Webflow origin. The failure mode is not a crashed site — it is a subtly broken one that passes a casual review and surfaces in a crawl six weeks later.
How We Did It
1. Template-first build. Eighty-two URLs would have been eighty-two separate builds the slow way; instead we reduced them to 15 reusable templates and slotted each URL into the one it belonged to:
- Homepage, About Us, Contact Us, and a Default fallback
- Services Lander + a single Service Page template powering 10 services (restorative, emergency, cosmetic Botox, clear aligners, implants, full-mouth reconstruction, gum recession, sedation, TMJ, veneers)
- Location Page template — a multi-location-specific layout powering three Pittsburgh-South-Hills locations
- Meet The Team template — the high-volume bio template carrying 40 individual team-member URLs
- Blog Lander + Blog templates carrying 17 posts
- Smile Gallery — the dental-specific before/after layout
- Careers, Privacy Policy, Sitemap, Doctor Page — first-class templates rather than Default-Template variants
Fifteen templates carried the whole site. That structure means any later change the agency wants touches a single page type instead of dozens of copies — most usefully on the team and location templates, where one edit has to keep forty bios and three locations consistent at once.
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 to preserve, every template assignment, a Settings tab with site URLs and sitemap reference, and a 6-category launch checklist. Every row went onto the new site exactly as the sheet described it. When the sheet specified something, that something appeared on the rebuild. When it was silent — five deprecated team-member URLs the sheet never listed — we raised the gap with the agency instead of guessing our way past it. Nothing we invented made it into the build.
The reasoning here is plain. On a rebuild the workbook is the agreement the agency struck with its client, and a development partner exists to keep that agreement whole, never to quietly amend it.
3. Crawl-based verification, not “looks fine to me”. Before DNS cutover, the launch checklist required a Screaming Frog crawl of the original Webflow site against the staging WordPress build. After cutover, a second post-migration crawl was filed back into the workbook as its own tab — 85 URLs scanned, 80 returning HTTP 200, three intentional 301 redirects, two 404s reconciled to known causes (a single legacy typo URL and one out-of-scope service page). Each status code, each redirect chain, and every meta-title discrepancy was matched line by line to what the workbook called for. Internal-link cleanup followed: a www / non-www redirect chain corrected from a 307 + 301 hop to a single 301, a trailing-slash duplication issue resolved at the server level, a category-redirect remnant from Webflow removed.
4. 27 SEO QA items, all closed before handoff. The agency’s Issues Backlog tab began at 27 line items found during their staging review — H1 wording mismatches, a broken video on a blog post, layout width corrections at 1024 px and 1280 px, slider height behaviour on mobile, missing team members on /meet-our-team, and several Pittsburgh-specific SEO items. Nine items at High priority, eighteen at Medium, every single item closed and Completed before sign-off. We checked the result in Chrome, Firefox, Safari, and Edge, and at four widths — 1920, 1280, 1024, and mobile portrait. The launch checklist itself ran across six pre-migration categories plus a 9-step Domain & DNS migration sub-checklist for the WP Engine cutover.
What held the 17-day sprint together was the crawl gate — not a visual review, but a Screaming Frog crawl of the Webflow origin before cutover and a second crawl of the live WordPress build filed back into the agency’s workbook after. That sequence was how 59 redirect chains and a trailing-slash duplication were verified as clean before sign-off, not discovered in a crawl six weeks later.
Results
| Metric | Outcome |
|---|---|
| Spec fidelity — URLs migrated | 82 / 82 URLs migrated from Webflow to WordPress, as specified |
| Spec fidelity — path changes redirected | 59 / 59 URL path changes implemented as 301 redirects |
| Spec fidelity — templates | 15 / 15 templates built and applied site-wide |
| SEO QA backlog | 27 / 27 items closed, status Completed (9 High, 18 Medium) |
| Post-migration crawl | 80 / 85 URLs at HTTP 200 on the live domain; 3 intentional 301s; 2 reconciled 404s (legacy typo + out-of-scope service) |
| Timeline (rebuild phase) | 17 days, delivered on schedule |
| Effort (rebuild phase) | 89h / 89h estimate — no overrun on the rebuild |
| Responsive verification | Slider + layout-width issues found at 1024 / 1280 / mobile resolved before sign-off |
| Internal QA | All 27 agency-scoped backlog items closed before handoff; AM-side backlog tab empty |
| Site status | Live on WP Engine at https://www.southhillsdentalarts.com/. |
| Retained engagement | Six further refinement rounds across the next six months — homepage redesign, design-issue updates, menu restoration, template audit — each delivered in additive sprints inside the same agency relationship |
Where it landed: the spec went live as the agency had drawn it, the work came in under the quoted budget, and the site cut over on the day the agency had picked. The engagement carried on because the build kept its shape once post-launch scrutiny arrived — it didn’t have to be rescued into shape afterward.
Operational Integrity at handoff
Pre-handoff QA ran the parity diff before the agency saw staging — catching a missing space in the rebuilt H1 (‘Your Trusted LocalDentist’ vs the original ‘Your Trusted Local Dentist’), a global trailing-slash duplicate-URL issue that made every page accessible at two addresses, and a 307 redirect on the non-www root that should have been a single 301. Before anything reached the agency, we put the build through Site Checker. How we run QA lists the categories we sweep and the standing rule that a flagged item blocks shipment. Once the agency had the site, it reviewed on its own terms and fed findings into the shared backlog, which we worked down to done.
Process
| Phase | Duration | Outcome |
|---|---|---|
| Brief & estimation | 6 days | Workbook reviewed; per-URL Hours Estimated reconciled into a single 89h commitment |
| Development | ~10 days | 82 URLs rebuilt across 15 templates on WP Engine staging |
| Internal QA & review | 3 days | 27 SEO backlog items logged by the agency; all closed |
| Spec verification | 1 day | Pre- and post-migration Screaming Frog crawls; redirect-chain and trailing-slash corrections |
| Delivery & DNS cutover | 1 day | Site live on WP Engine, no downtime; post-migration crawl filed back to the workbook |
Phases overlap (QA ran alongside late development), which is why the calendar timeline is 17 days rather than the sum of individual phases.
Team
Delivery team
- Nikita Tumasevic — lead developer (full site build and template system)
- Lyudmila Travkina — developer (homepage and high-volume template work, retained refinements)
- Timur Arbaev — developer (homepage iteration and template audit, retained refinements)
- Pavel Sazhin — QA and post-launch fix implementation
- Anna Polunina — project coordination, scope confirmation against the workbook
- Anton Hersun, xaverPRO — project lead (estimation, agency-side communication, sign-off)
Project management and SEO strategy sat with the partner agency from start to finish. The practice dealt with the agency and the agency alone; our developers never appeared on a call, an email thread, or a credential the practice held — through the cutover and all six retained rounds, every contact ran through the agency. Every decision about URL structure, redirect targets, and migration sequencing belonged to the agency — we implemented those decisions exactly as specified.
For agencies considering a white-label WordPress rebuild
A dental practice rebuild carries its heaviest risk where the agency’s local rankings intersect with the platform change. For this practice — single-location general dentistry; for others — multi-location DSO networks with a shared brand system. A redirect row missing from the map drops a service page that ranked page one into a 404. Meta-titles and descriptions written for local search get silently overwritten by the new theme. Dental procedure schema disappears on import, and the rich snippets the agency’s audit dashboard tracked stop showing.
The question you ask a rebuild partner is not “can you plan the redirects?” — it is “how will you verify every path mapping before cutover?”
Send us a current production URL, a draft redirect map if you have one, or your design files. We will audit your redirect map and content inventory. We’ll show you the rows where a 404 or schema loss is most likely, and return a fixed-hours quote. The review is free.
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.