27-Page Pediatric Dental Template Customisation
27-page pediatric dental template customised across 14 agency templates, 71 hours over 118 days. 73+ QA items resolved across 42 Redmine tasks.
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): Wellness Pediatric Dentistry — a San Antonio, TX pediatric dental practice led by Dr. Christi Wengler
Engagement: White-label template customisation for a US marketing agency
Delivered: September 2025 – January 2026 · 118 days · 71 hours · 27 URLs · on schedule
The Craft of Template Customisation
Twenty-nine of 42 Redmine tasks on this 27-page pediatric dental build carried the agency’s -qa suffix — individual review rounds where the agency flagged design deltas, we fixed, and the round closed only on sign-off. The 118-day window ran Sep 2025 to Jan 2026; QA iterations ran concurrently with development throughout, not as a closing phase. Site Checker’s check 4.3.4 caught a Cyrillic С in the CALL NOW button text inherited from the agency’s shared template — cleaned before handoff.
Snapshot
| Field | Value |
|---|---|
| End-client industry | Healthcare — Pediatric Dentistry |
| End-client | Wellness Pediatric Dentistry (San Antonio, TX) |
| Engagement | White-label template customisation for a US marketing agency specialising in local-business healthcare websites |
| Project Type | WordPress template customisation (agency’s “Luminous” branded template + per-page Figma design on Kinsta) |
| Scope | 27 URLs — homepage, services lander, 12 service pages (pediatric dental, preventive, restorative, special needs, sedation, airway), about, doctor bio, payment and insurance pages, blog, smile gallery, legal |
| Timeline | 118 days (20 Sep 2025 – 16 Jan 2026), on schedule |
| Effort | 71 hours — split across template development, QA iterations, fix rounds and project management |
| Team | 4 specialists |
| Templates | 14 reusable templates provided by the agency (DENTAL set), all applied across the 27 pages |
| Tech Stack | WordPress · Elementor · Kinsta hosting · Figma-driven per-page design · Archy self-booking integration · Site Checker (xaverPRO QA plugin) |
| QA discipline | 73+ tracked SEO + CX issues reconciled in the agency’s two-tab backlog across a 79-item launch checklist |
| Engagement cadence | 73 agency-raised issues · 71 of 73 closed by handoff (45-day active span, 2025-10-01 – 2025-11-14) |
| Review rounds | ≈8 review rounds across the 118-day calendar window |
| Per-ticket effort | 42 internal Redmine tickets · median 25m / P75 36m per ticket |
| Launch checklist | 39 items, signed off before cutover |
The Brief
A US marketing agency delivered us a Figma design for Wellness Pediatric Dentistry and a deployment target on their “Luminous” branded Kinsta template. The agency had already done the upstream work: sitemap with per-page content docs, branding assets, contact and credential setup, and the client’s social profiles linked. Our job was to customise the template page by page against the Figma until the agency signed off on each round.
The practice had one distinct content requirement that ran through the entire page set: Wellness Pediatric Dentistry positions itself as San Antonio’s first holistic pediatric practice, built around fluoride-free care, biocompatible materials, and airway-focused orthodontics. The agency’s Figma captured this voice on each service page. What that means in a template context is that a page about sedation dentistry reads differently from a page about airway orthodontics — different parent-audience register, different treatment-path language, different next-step framing. Getting the template to carry each page’s specific register without bleeding content-tone across neighbouring pages is not a styling concern; it is a content-language discipline question.
The constraint the agency was hedging against is specific to practices with a non-standard clinical philosophy: a practice that markets itself as fluoride-free and biocompatible to parents who have specifically sought out that positioning will lose that audience the moment a generic dental copy block appears on a service page. On a shared template where Service Page is reused across twelve service pages, the risk is not one wrong page — it is a wrong copy pattern propagating quietly across the entire service tree.
Risk context. A holistic pediatric practice builds its patient base on parents who found it specifically because it is not a generic dental office. That positioning — fluoride-free, biocompatible materials, airway-focused — is load-bearing marketing copy, not brand flavour. On a reused Service Page template applied twelve times across a single service ladder, a single generic dental copy block surviving a QA round does not just misrepresent one page; it signals to those parents that the practice’s philosophy is a surface claim, not an actual operating standard. The content-language discipline on this project was not a copywriting preference — it was the mechanism that kept the practice’s core audience promise intact on every page of the build.
How We Did It
1. Figma-as-contract, template-as-canvas. The Figma file was the design spec. The agency’s “Luminous” branded template was the underlying page structure. Our job was to map the two page by page — where the template’s default layout matched the Figma, we kept it; where the Figma required a deviation, we customised. No design decisions originated on our side. For a practice whose visual tone has to read as warm and parent-trustable without sliding into clinical coldness or, in the other direction, into generic-friendly-dentist warmth, that “no improvisation” rule was the constraint that kept each page honest.
2. Service page content-language hygiene. The Service Page template was applied twelve times across a single ladder of pediatric dental services — preventive, restorative, sedation, special-needs, airway orthodontics, emergency care. Each page carried its own copy register and its own CTA path. A sealant page leads parents to “request an appointment”; an airway orthodontics page leads to a consultation pathway. On a reused template, the risk is that a content string, CTA label, or form embed from one page’s context gets propagated into an adjacent page during QA-and-fix rounds. Tracking which elements were page-local versus template-global was the underlying work in each customisation iteration. Several items in the agency’s CX and SEO backlog were exactly this kind of content-language correction — caught in the review cycle, not on launch.
3. QA cycle at template-customisation scale. A clean template customisation is not “build once, review once”. It is “build, QA, adjust, QA, adjust”. Across this project, 29 of 42 Redmine tasks were named QA iterations (“-qa” suffix) — individual rounds where the agency flagged design deltas, we reviewed, fixed, and returned the build for sign-off. Behind those rounds was a deeper reconciliation: the agency tracked 73+ items across two issue-backlog tabs (SEO and CX), which we worked through alongside the Redmine cadence until the agency cleared the backlog for release.
The principle behind this is simple: on a templated build, the QA loop is where the value is delivered. A shorter QA cycle is a weaker match to the design, not a faster delivery.
4. Customisation without drift. Every change made to the branded template — layout, section component, or style token — was documented against the Figma reference. No customisation leaked into the template’s shared components, which means this project’s work left the agency’s template system intact for the next practice it serves.
5. Cross-device verification. Customisations were QA’d across Chrome, Firefox, Safari, and Edge on desktop, tablet, and mobile viewports. Each QA round covered the pages affected by the round’s design deltas, not the whole site — which is how a templated build stays efficient without losing coverage.
Applying the Service Page template twelve times meant every QA round had to account for which content elements were page-local and which were template-global — a sealant page and an airway orthodontics page share the same structure but carry entirely different copy registers and CTA paths. Keeping those registers from bleeding across neighbours was what the iteration cadence was actually protecting, not just the visual fidelity.
Operational Integrity at handoff
Site Checker’s check 4.3.4 surfaced a Cyrillic character embedded in the “CALL NOW” button text — a Cyrillic С in place of the Latin C, inherited from the agency’s shared template — cleaned before handoff; a separate pass on the Smile Gallery caught placeholder AI images and a “your headline goes here” heading still live, and the page was hidden until real content was ready. 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.
AutoQA (Content-AI check enabled) — agency-managed — was configured on this project. The Content-AI pass ran post-handoff as part of the agency’s sign-off process.
Results
| Metric | Outcome |
|---|---|
| URLs delivered | 27 — 1 homepage, 1 services lander, 12 service pages, 1 doctor bio, 1 about, 1 contact, 5 payment and insurance pages, 1 blog lander, 1 blog post, 1 smile gallery, 3 legal pages |
| Templates applied | 14 of 14 templates from the agency’s DENTAL set applied across the 27 pages (Service Page, Homepage, About Us, Doctor Page, Contact Us, Services Lander, Blog Lander, Blog, Smile Gallery, Financing, Insurance, Payment Plan/Membership, Payment Policy, Terms/Privacy/Disclaimer) |
| Launch checklist | 79 items signed off |
| QA / SEO / CX issues tracked + resolved | 73+ items reconciled across the agency’s two issue-backlog tabs |
| Redmine QA iterations | 29 of 42 tasks (69%) tracked at the iteration level |
| Timeline | 118 days, delivered on schedule |
| Effort | 71 hours |
| Team | 4 specialists |
| Hosting handoff | Live on the agency’s Kinsta template environment, then migrated to the client’s production domain |
| Page health at handoff | 27 / 27 sitemap URLs returned HTTP 200 in the staging audit |
| Production status | Site live at wellnesspediatricdentistry.com — verified 200 OK at the time of this case-study draft |
The outcome, restated plainly: the agency’s Figma was implemented against their branded “Luminous” template across 27 pages and 14 templates, over 118 calendar days, inside the 71-hour budget.
Process
| Phase | Duration | Outcome |
|---|---|---|
| Brief & estimation | ~1 week | Figma reviewed, template access confirmed, scope agreed (Sep 20 – Sep 29) |
| Customisation development | ~5 weeks | Page-by-page template customisation to match Figma; pediatric service ladder built |
| QA iterations (concurrent) | ~10 weeks | 29 named QA rounds logged; each closed only on agency sign-off |
| Fix rounds | ~3 weeks | Post-review corrections including backlog review and button/embed widget updates |
| Post-release tasks | ~3 weeks | Final QA backlog reconciliation and post-release additions (Jan 2026) |
Development and QA ran concurrently throughout — this is characteristic of template-customisation work, where no “QA phase” closes cleanly; the loop runs continuously until the agency signs off.
Team
Delivery team
- Evgeniy Karpov — lead developer (template customisation and Figma-to-layout mapping)
- Nikita Tumasevic — developer support and post-release fixes
- Pavel Sazhin / Timur Arbaev — QA iterations and per-round sign-off passes
- Anton Hersun, xaverPRO — project lead (estimation, agency-side communication, sign-off)
The partner agency held design authority, client relationship, content sourcing, and hosting configuration throughout. Our team never communicated directly with Wellness Pediatric Dentistry — all requests came through the agency’s shared issue backlog, and each fix round was released to the next stage only after the agency’s reviewer signed off on it.
For agencies with a branded template system
This pattern fits agencies that run a branded dental template on Kinsta and need a customisation partner who can carry practice-specific content registers across a multi-page service ladder — where a sealant page and an airway page share the same Elementor template but cannot share the same copy or CTA logic. If that’s your setup, send a sample Figma alongside a link to the template variant you want customised. We will estimate the hours, flag the content-language risk across the service ladder, and return a fixed-hours quote within 24 hours.
No cost for the review and 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.