53-Page Dental Template Customisation in 138 Days — White-Label for a US Marketing Agency

Customised a 53-page dental template in 138 days — 10 templates applied, 550+ QA items reconciled, 61 hours, 2 custom web fonts. Shipped to spec.

Industry Healthcare
Engagement White-label · US marketing agency
Delivered 138 calendar days · on schedule
61h across 138 days
a1dentalclinic.com · desktop
a1dentalclinic.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 Template Customisation

53 pages of a dental template customisation — 43 Service Page instances across six procedure categories on a Kinsta-hosted Figma spec. We had to source two non-system fonts, Avenir LT Pro and Stolzl, via Adobe Typekit before the build could begin. The 550+ tracked issues across the agency’s backlog drove every QA pass; every change had to stay inside the per-client override layer, away from the shared template base.

The value is speed with consistency — but only if the customisation holds the line. The agency hands its template to a subcontractor and keeps facing its own client; if we improvise against the Figma or treat the issue backlog as noise rather than signal, the agency inherits a QA debt and answers for it without us in the room.

Snapshot

Field Value
End-client industry Healthcare — General, Cosmetic & Implant Dentistry
End-client A1 Dental (Dr. Mila Poznyak, Cumming, GA)
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 Kinsta)
Scope 53 URLs — homepage, doctor bio, about, services lander, areas-we-serve lander, blog lander, contact, insurance & financing, 3 legal/policy pages, and 43 service pages across cosmetic, emergency, family, preventive, restorative, sedation, TMJ, and same-day dentistry
Timeline 138 days (4 Aug – 20 Dec 2025), on schedule
Effort 61 hours — development, QA iterations, redirect implementation, and project management
Team 5 specialists
Templates 10 reusable templates provided by the agency, applied across the 53 pages
Tech Stack WordPress · Elementor · Kinsta hosting · Figma-driven per-page design · custom web fonts (Avenir LT Pro, Stolzl) · Site Checker ( QA plugin)
QA discipline 550+ tracked SEO + CX issues reconciled in the agency’s backlog across an 75-item launch checklist
Engagement cadence 169 agency-raised issues · all closed by handoff (339-day active span, 2024-11-24 – 2025-10-28)
Review rounds ≈10 review rounds across the 138-day calendar window
Launch checklist 75 items, signed off before cutover

The Brief

A US marketing agency delivered us a Figma design for A1 Dental and access to their branded Kinsta-hosted dental template system. The upstream work was already done: design audit, client approval, hosting setup, content mapping via Google Docs per page. Our role was to take the agency’s template — a production-grade system serving multiple dental practices — and customise it faithfully to the Figma, page by page, breakpoint by breakpoint.

The practice is a solo general dental office in Cumming, GA, offering a broad service menu: cosmetic procedures including Invisalign and veneers, implant-level restorative work, preventive and family care, and newer techniques such as Curodont no-drill cavity treatment and Piezosurgery. The 53-page scope reflects that breadth: the agency built a service taxonomy with six primary categories (cosmetic, emergency, family, preventive, restorative, plus sedation and TMJ) and populated each with individual procedure pages. Service Page was the dominant template — applied 43 times across the sitemap.

The agency also specified two custom web fonts — Avenir LT Pro and Stolzl — that were not system fonts and required sourcing before development could begin.

What the agency needed to guard against was a development team that customises a client’s template without maintaining the strict boundary between per-client overrides and shared template components. A dental template serving multiple practices at once cannot tolerate one project’s customisation leaking into the shared layer; when that happens, the agency discovers the problem only when a different client’s site breaks, not during handoff. What the agency hired for was containment — every change scoped to the per-client override layer, nothing touching the shared base.

Risk context. The engagement did not close at initial handoff. After the staging site was approved and the domain went live, the service URL tree required restructuring: pages that had launched under /services/ needed to redirect to city-based /cumming/ paths to align with the agency’s local-SEO strategy. Implementing that redirect map on a live site is not a staging operation — every misfired 301, every page absent from the original sitemap but present in the menu, and every hard-coded internal link pointing to the old path structure becomes a live regression. The risk was not in writing the redirects. It was in the inventory gap: a crawl of the live site surfaced service pages that had been in the menu but were not in the original workbook sitemap, meaning the redirect map could not be generated mechanically from the spreadsheet alone. Those gaps had to be identified, resolved with the agency, and mapped before the redirect layer was committed.

How We Did It

1. Figma-as-contract, template-as-canvas. The agency’s Figma file was the design specification. The branded dental template was the underlying page structure. We chose template-based customisation over building each page from scratch because the agency’s template system already provided production-tested patterns for every page type — the work was faithful adaptation, not ground-up creation. Our job was to reconcile the two: where the template’s default layout matched the Figma, we kept it; where the Figma required a deviation — typography adjustments using the custom Avenir LT Pro and Stolzl fonts, layout modifications on services landers, per-page content block configurations — we customised at the per-client override level. We made no design decisions on our side.

2. Service taxonomy at scale. Forty-three of the 53 pages used the Service Page template, each requiring individual Figma-to-template reconciliation. The service categories were hierarchical — category landers (cosmetic, emergency, family, preventive, restorative) each had between four and eight child procedure pages, each with its own Figma frame and its own content block configuration. Consistency across that hierarchy — matching heading weights, imagery placement, CTA wording, and form integration — was a matching task, not a creative decision.

3. QA cycle at template-customisation scale. A clean template customisation is not “build once, review once”. Over the 138-day engagement, the agency tracked 550+ items across the two issue-backlog tabs (289 SEO findings and 261 CX findings) against an 75-item launch checklist. We returned each round — internal links updated from the workbook, client feedback incorporated, content swapped from placeholder to supplied copy — to the agency only after the preceding round’s items were cleared. The volume of tracked items is the audit trail, not a sign of instability.

4. Post-launch URL restructure. After initial launch, the agency directed a full URL restructure: the service tree at a1dentalclinic.com/services/ was to move to a1dentalclinic.com/cumming/ to support city-specific local-search targeting. The implementation involved setting up the /cumming/ path for every service and procedure page, writing the corresponding 301 redirect rules from the old /services/ paths, and resolving inventory gaps — pages that had been live under the old structure but were absent from the original workbook sitemap, requiring manual identification and coordination with the agency before the redirect layer could be committed. We carried this out on the live production site, with the agency’s QA tooling verifying redirect correctness after each batch shipped.

5. Cross-device verification. Site Checker’s multi-resolution screenshot capture ran across every page before initial handoff and again after the URL restructure was complete. We verified typography rendering on Avenir LT Pro and Stolzl — both non-system fonts — at mobile, tablet, and desktop viewports, and confirmed the custom font loading edge cases (fallback rendering, FOUT during cache miss) non-blocking before handoff.

Operational Integrity at handoff

The agency’s 75-item launch checklist flagged 3 service pages returning 404 on a status-code sweep before handoff. The post-launch URL restructure added a second QA pass via a formula-driven redirect spreadsheet where every /services/ path stayed red-flagged until it resolved — we identified the pages in the live menu but absent from the original sitemap manually, and mapped them before committing the redirect layer. Pre-handoff QA ran through Site Checker — see how we run QA for the categories and the rule that nothing ships with open findings. After handoff the agency ran its own checks. We closed whatever it surfaced before sign-off.

Customisations stayed in the per-client overrides. We did not modify the agency’s shared template components.

Results

  • 53 URLs delivered — homepage, doctor bio, about, insurance & financing, 3 legal/policy pages, blog lander, areas-we-serve lander, contact, and 43 service pages across 6 primary dental service categories
  • 10 reusable templates applied across all pages, all kept within per-client override scope
  • 550+ tracked QA items across SEO and CX backlogs reconciled against an 75-item launch checklist
  • Post-launch URL restructure delivered: full /services//cumming/ redirect map implemented on the live site with agency-verified zero-regression
  • 138 days · 61 hours — development, QA iterations, redirect implementation, and project management, on schedule
  • Hosting: Kinsta (agency-managed); custom web fonts (Avenir LT Pro, Stolzl) integrated without fallback-render issues

Process

Phase Duration Outcome
Scoping & template access Days 1–4 (Aug 4–8) Estimate agreed (61h), custom font requirements identified, development begun
Initial build — template-to-Figma Days 5–30 (Aug 8 – Sep 3) Core pages customised; design change requests incorporated as change requests per agency workflow
QA iterations — SEO & CX backlogs Days 30–95 (Sep 3 – Oct 26) 550+ backlog items tracked and reconciled; multiple agency-review rounds; content and internal-link updates applied
Backlog close-out & handoff Days 95–95 (Oct 26 – Nov 7) Final SEO and CX backlog reviews completed; handoff confirmed
Post-launch URL restructure Days 122–138 (Dec 4 – Dec 20) Full /services//cumming/ redirect map implemented on live site; inventory gaps resolved; redirect layer QA verified

Note: QA and development ran concurrently from phase 3 onward — dev-side fixes and agency-review cycles overlapped throughout the engagement.

Team

Delivered white-label — the agency’s design, hosting, content sourcing, and client communication remained upstream of our engagement.

Role Specialist
Development lead Nikita Tumasevic
QA Pavel Sazhin
QA & redirect implementation Timur Arbaev
Backlog review & post-launch coordination Evgeniy Karpov
Implementation support and QA Anna Polunina
Project management Anton Hersun

For agencies with a branded template system

On a branded template system, the boundary between client-layer overrides and the shared template layer is where the risk lives. For this practice — a multi-location dental group with city-specific overrides; for others — a single-location practice with service-specific overrides. When the template vendor publishes an update, custom overrides break silently. Your client’s layouts shift without the agency catching it. Field schemas drift between your customizations and the template author’s schema. Content maps to wrong blocks, and editorial workflows stall. The block library hides editor controls from your client. They cannot manage their own city content without developer help.

The question to ask a dev partner is not “can you build in a template?” — it is “how exactly will you scope the overrides so they survive updates, prevent schema drift, and keep the editor accessible?”

Send us the template source, template ID, and your brand spec. We will map the client-layer overrides onto the template structure. We will flag the spots that break on the next update or lock your client out. No charge for the review; the quote comes back in hours, not a range.

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