46-Page Dental Template + 145-Post Blog Migration
xaverPRO delivered a 46-page dental template customisation with 145-post migration — agency Figma, 7 templates, content-artifact cleanup, 62 hours.
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.
Client (end user): Drs. Chin and Pharar Dentistry — a family and cosmetic dental practice in Las Vegas (Summerlin), NV
Engagement: White-label template customisation for a US marketing agency
Delivered: February–March 2025 · 42 days · 62 hours · 46 live URLs + 145 blog posts migrated · on schedule
The Craft of Template Customisation
Forty-six pages of the agency’s branded dental template customised to a per-page Figma spec, plus 145 legacy blog posts migrated into the agency’s Blog Post template — all on WP Engine in 42 days. The staging environment arrived with content artifacts from prior template deployments: Cyrillic-language developer comments in the slider code and Lorem ipsum sections in Elementor widget data. Both were caught and cleaned before handoff.
The value is speed with consistency — but only if the customisation is disciplined. A dev team that “interprets” the Figma, skips QA rounds, or deviates from the template’s design system is worse than starting from scratch.
This case study is a record of a template customisation executed to the agency’s Figma, with a QA profile that shows the discipline it takes.
Snapshot
| Field | Value |
|---|---|
| End-client industry | Healthcare — General and Cosmetic Dentistry |
| End-client | Drs. Chin and Pharar Dentistry (Las Vegas, Summerlin, NV) |
| Engagement | White-label template customisation for a US marketing agency specialising in local-business websites |
| Project Type | WordPress template customisation (agency’s branded template + per-page Figma design on WP Engine) |
| Scope | 46 URLs — homepage, 3 about pages, 30 service pages, 10 utility pages (patient forms, savings plan, FAQ, finance, testimonials, podcasts, appointment request, privacy), contact, blog lander |
| Blog posts migrated | 145 posts carried over under the agency’s Blog Post template (URL preservation only — no SEO-equity claim) |
| Timeline | 42 days (11 Feb – 25 Mar 2025), on schedule |
| Effort | 62 hours across development, QA, project management, and fix rounds |
| Team | 5 specialists |
| Templates | 7 reusable templates provided by the agency, all applied across the 46 pages (Homepage · About Us · Service Page · Default Template · Contact Us · Blog Lander · Blog) |
| Tech Stack | WordPress · Elementor · WP Engine hosting · Figma-driven per-page design · Screaming Frog crawl · Site Checker (xaverPRO QA plugin) |
| QA discipline | Issues-backlog items reconciled (URL structure, Lorem-ipsum placeholders, image quality, mobile alignment) across a 59-item launch checklist; 301-redirect structure mapped across 36 redirected staging URLs |
| Engagement cadence | 6 agency-raised issues · all closed by handoff (1-day active span, 2025-04-01 – 2025-04-01) |
| Review rounds | ≈4 review rounds across the 42-day calendar window |
| Per-ticket effort | 10 internal Redmine tickets · median 30m / P75 10h per ticket |
| Launch checklist | 58 items, signed off before cutover |
The Brief
A US marketing agency delivered us access to their WP Engine staging environment pre-loaded with their branded dental template, alongside a Figma design scoped per page for Drs. Chin and Pharar Dentistry. The agency had already handled client onboarding, content gathering, and hosting provisioning. The brief was to customise the template to the Figma, migrate 145 legacy blog posts into the agency’s Blog Post template, and deliver a site ready for agency QA and client review.
The ask was explicit: match the Figma, preserve the URL structure the agency had mapped in the workbook’s Sitemap tab, and surface any deviations to the agency’s shared issue backlog rather than resolving them unilaterally.
What the agency needed to protect was the integrity of their template across all the dental practices it serves. That protection starts with a development discipline that keeps per-project customisations inside per-client overrides — if a style change lands in a shared component, it propagates silently to every other site on the same template. Beyond template isolation, this project had a second category of risk: a template system that has served multiple clients accumulates content artifacts — placeholder copy, development-era URLs, and in this case, content-language elements that originated in the template’s development environment and must be cleaned from every client’s deployment before handoff. Site Checker’s content-language sanitization check across all Elementor data, menus, and widgets was the gate that confirmed the staging environment was free of those artifacts before we handed back to the agency.
Risk context. A branded template that has served multiple dental practices carries two categories of risk into every new deployment: per-client customisations that drift into shared components and propagate silently to every other practice on the same base, and accumulated content artifacts — placeholder copy, development-era URLs, content-language residue — that are not always visible through a surface browser inspection. Both risks were live on this engagement, and both required explicit gate checks before handoff.
How We Did It
1. Figma-as-contract, template-as-canvas. The Figma file was the design specification. The agency’s branded template was the underlying page structure. Our job was to reconcile the two, page by page: where the template’s default layout matched the Figma, we preserved it; where the Figma required a deviation, we customised at the per-client layer. No design decisions originated on our side.
2. Blog migration at scale alongside template customisation. Carrying 145 legacy blog posts into the agency’s Blog Post template is not a mechanical copy-paste. Each post had to land with URL preservation matching the agency’s sitemap, correct meta data, and functional internal links. Running the migration in parallel with the 46-page customisation meant any URL-structure decisions on the main site had to account for how the blog archive would resolve. The workbook’s Sitemap tab tracked 198 rows — the 46 live pages and 145 blog posts, with a 301 redirect sheet of 36 mappings that showed where the staging structure needed to redirect legacy paths to their correct destinations.
3. Content-artifact cleanup as a QA gate. A dental template that has been deployed across multiple practices accumulates artifacts from prior work: generic placeholder copy, off-brand images, and occasionally development-environment content that was correct for the template’s internal build process but wrong for any specific client. On this project, the QA pass identified Lorem ipsum placeholder copy embedded in a slider component and content-language residue that had carried through from the template’s shared component layer. These were cleaned before handoff — not flagged and left for the agency — because content-language issues in Elementor widget data are not always visible through a surface browser inspection. The Site Checker QA pass scanned across pages, posts, Elementor data, menus, and widgets to confirm the staging build was clean.
4. QA cycle to the agency’s issue backlog. Post-initial-build QA went through the agency’s shared issue backlog, with the agency flagging design deltas, URL issues, image quality concerns, and mobile alignment discrepancies for our fix loop. URL trailing-slash consistency was one finding that required a systematic fix across the staging environment — the agency’s sitemap spec had no trailing slashes on internal link targets, and the initial build introduced them. Corrected and confirmed before the site moved to agency handoff.
5. Cross-device verification. Every QA round covered responsive behaviour at desktop, tablet, and mobile breakpoints. The service-page template — applied across 30 pages — received the most iteration, as the Figma had per-page imagery and section variants that needed to reconcile correctly with the template’s responsive breakpoints.
The per-page Figma diff was the discipline that mattered. Forty-six pages across seven templates gave the agency a repeatable QA surface; the Cyrillic comments in the slider code — carried from the shared template layer — only surfaced because the review went component by component, not page-wide.
Operational Integrity at handoff
QA caught two issues before handoff: Cyrillic comments in the homepage slider’s template code — carried from the shared template layer and cleaned before the agency reviewed the build — and trailing-slash URLs applied inverse to the agency’s sitemap spec, corrected site-wide across the 46-page staging environment. 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.
Customisations stayed in the per-client overrides; the agency’s shared template components were not modified.
Results
| Metric | Outcome |
|---|---|
| URLs delivered | 46 — 1 homepage · 3 about pages · 30 service pages · 10 utility pages · 1 contact · 1 blog lander |
| Blog posts migrated | 145 posts into the agency’s Blog Post template with URL preservation |
| Templates applied | 7 of 7 reusable templates built and mapped across the 46 pages |
| Launch checklist | 59 items signed off |
| QA issues resolved | URL trailing-slash structure, Lorem-ipsum placeholder copy, image quality corrections, mobile alignment — all resolved before handoff |
| 301 redirect structure | 36 redirect mappings tracked and confirmed in the workbook’s 301 tab |
| Timeline | 42 days, delivered on schedule |
| Effort | 62 hours across development, QA, and fixes — within estimate |
| Team | 4 specialists |
| Hosting handoff | Live on the agency’s WP Engine template environment |
The outcome restated plainly: the agency’s Figma was implemented against their branded template across 46 pages and 7 templates, with 145 legacy blog posts migrated alongside, over 42 calendar days, inside the estimated hours — and the build was clean of content-language artifacts before handoff.
Process
| Phase | Duration | Outcome |
|---|---|---|
| Brief & estimation | ~3 days | Figma reviewed, WP Engine staging access confirmed, scope agreed (50h estimate) |
| Template customisation + blog migration | ~1 week | 46 pages customised to Figma; 145 blog posts migrated into Blog Post template |
| QA iterations (concurrent) | ~2 weeks | Agency backlog issues reviewed; URL structure, placeholder copy, image quality corrected |
| Fix rounds | ~1 week | Mobile alignment, image resize corrections, late-stage content additions |
| Delivery | Mar 2025 | Site confirmed clean on staging; handed to agency for final review |
Development and QA ran concurrently — characteristic of template-customisation work, where iteration continues from first page delivery through final agency sign-off.
Team
Delivery team
- Vladimir Kozlov — lead developer (template customisation, Figma-to-layout mapping, blog migration)
- Nikita Tumasevic — developer (build continuation after Vladimir Kozlov’s lead phase)
- Anna Polunina — QA stage and issues-backlog verification
- Natalia Bogatel — fix rounds and late-stage content additions
- Anton Hersun, xaverPRO — project lead (estimation, agency-side communication, sign-off)
The agency’s design, hosting infrastructure, content strategy, and client relationship remained upstream of our engagement throughout. Our team had no direct contact with Drs. Chin and Pharar Dentistry. Customisation requests were routed through the agency’s shared issue backlog; each round was closed only once the agency-side reviewer confirmed the fix.
For agencies with a branded template system
If your agency maintains a branded dental template on WP Engine and assigns it to new practices alongside a per-page Figma, that is the engagement shape we build for — including blog migrations that run alongside the customisation. Send a sample Figma and a link to your template. We will estimate the customisation hours, flag content-artifact risks in the template environment, and return a fixed-hours quote within 24 hours — no cost, no obligation to proceed.
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.