Work / Templated / 99-Page Dental Template Customisation

99-Page Dental Template Customisation

99-page dental practice site customised across 10 templates and a 58-item checklist in 60 days — 61 hours, 9 QA items resolved, shipped on schedule.

Industry Healthcare (Dental)
Engagement White-label · US marketing agency
Delivered 60 calendar days · on schedule
61h across 60 days
grandoaksdentistry.com · desktop
grandoaksdentistry.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): Grand Oaks Dentistry — a US dental practice in Austin, TX
Engagement: White-label template customisation for a US marketing agency
Delivered: April 2025 · 60 days · 61 hours · 99 URLs · on schedule

The Craft of Template Customisation

99 URLs mapped across 10 agency templates — a legacy dental site on .html permalinks migrated to a fresh WP Engine install, Figma per page as the design contract. URL migration ran first: clean permalink structure, redirect map, missing-page audit. Mid-project, the client flagged staging as «unattractive, content not laid out professionally» — the design system had diluted in transit. The second half was restoring that fidelity against the template before the 58-item checklist could close.

The value is speed with consistency — but only if the customisation is disciplined. A dev team that “interprets” the design, 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 design, including a mid-project revision round that tested whether the team could restore the template’s visual promise without losing the content that had already been migrated.

Snapshot

Field Value
End-client industry Healthcare — General Dentistry
End-client Grand Oaks Dentistry (US dental practice, Austin, TX)
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 design on WP Engine)
Scope 99 URLs — homepage, services lander, service pages, doctor bio, staff, testimonials, insurance/financing, blog posts, and supporting pages
Timeline 60 days (6 Feb – 7 Apr 2025), on schedule
Effort 61 hours — development, QA iterations, fixes, and project management
Team 6 specialists
Templates 10 reusable templates provided by the agency, applied across the 99 pages
Tech Stack WordPress · Elementor · WP Engine hosting · Figma-driven per-page design · Site Checker ( QA plugin)
QA discipline 9 tracked issues reconciled in the agency’s backlog across a 58-item launch checklist
Engagement cadence 9 agency-raised issues · all closed by handoff
Review rounds ≈4 review rounds across the 60-day calendar window
Per-ticket effort 13 internal Redmine tickets · median 1.5h / P75 3h per ticket
Launch checklist 58 items, signed off before cutover

The Brief

A US marketing agency delivered us a brief for Grand Oaks Dentistry: migrate an existing legacy site onto their branded WP Engine-hosted template system, preserving all content, metadata, and URL structure while adapting the practice’s brand to the new template’s design language. The agency had already done the upstream work: client requirements, template selection, hosting setup, and content sourcing. What they needed was a development team that would execute the migration faithfully and sustain the QA loop through however many rounds the design-match required.

The initial build progressed on schedule. Then the client reviewed the staging site and raised a concern that would reframe the second half of the engagement: the site did not look as professional as the template he had chosen. The issue was not functional — pages loaded, links worked, content was present. The issue was aesthetic fidelity. The template’s visual promise — its spacing, typography hierarchy, image treatment, and colour discipline — had been diluted during content migration. What the agency needed to guard against was a dev shop that treats template customisation as pure content migration, moving text and images from point A to point B without asking whether the result still looks like the template the client paid for. A template is a design system, not a container. The risk the agency was hedging against was the silent degradation of that system during migration.

Risk context. A template migration that moves content faithfully but loses the design system in transit delivers a site that is functionally complete and visually wrong. The failure mode is aesthetic, not functional — pages load, links work, content is present — but the spacing, typography hierarchy, and colour discipline that made the template worth buying are diluted. The agency was guarding against a dev team that treats template customisation as content transport rather than design-system execution.

How We Did It

1. Figma-as-contract, template-as-canvas. The agency’s design references and the branded template were the dual sources of truth. Our job was to reconcile them page by page — where the template’s default layout matched the design intent, we kept it; where the legacy content required a deviation, we customised. No design decisions originated on our side.

2. QA cycle at template-customisation scale. A clean template customisation is not “build once, review once”. It is “build, QA, adjust, QA, adjust”. On this project, the QA loop included a formal QA stage (responsive verification, link audit, meta-tag check, content correctness), followed by a client-driven revision round to restore template feel, followed by post-live fixes after the site was pushed to production before all staging updates had closed. Each round was tracked as a separate Redmine task and closed only on agency sign-off.

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.

3. Customisation without drift. Every change we made to the branded template — whether to a page layout, a section component, or a style token — was scoped to the per-client override layer. No customisation leaked into the template’s shared components, which means this project’s work did not degrade the template for the next site it would serve.

4. Cross-device verification. Customisations were QA’d against Chrome, Firefox, Safari, and Edge on desktop, tablet, and mobile viewports. Each QA round covered the pages affected by that round’s design deltas, not the whole site, which is how a templated build stays efficient without losing coverage.

The tension was a site that was functionally complete — pages loaded, links worked, content was present — but had lost the spacing and colour discipline that made the template worth choosing. Restoring it meant a second pass through the affected pages, checking each against the agency’s template reference before the corrected build went back to QA.

Operational Integrity at handoff

The internal QA stage ran the checklist — heading tags, title and meta tags, links, and responsive layout across desktop and mobile — before the first handoff; when the agency flagged that the build had drifted from the template’s visual promise, a second pre-resubmission pass ran the same checks against the revised pages to confirm design fidelity had been restored before the agency saw the corrected build. 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 99 — homepage, services lander, service pages, doctor bio, staff, testimonials, insurance/financing, blog posts, and supporting pages
Templates applied 10 of 10 reusable templates built and mapped across the 99 pages (Homepage, Services Lander, Service Page, About Us, Doctor Page, Contact Us, Blog Lander, Blog, Smile Gallery, Default Template)
Launch checklist 58 items signed off
QA / SEO issues tracked + resolved 9 items reconciled across the agency’s issue-backlog tab
Redmine QA iterations 5 of 13 tasks tracked at the iteration level (QA stage, client revisions, backlog fixes, testimonials update, live-site cleanup)
Timeline 60 days, delivered on schedule
Effort 61 hours — no overrun, no scope creep
Team 4 specialists
Hosting handoff Live on the agency’s WP Engine template environment
Page health at handoff Staging URLs returned HTTP 200 in the sitemap audit

The outcome, restated plainly: the agency’s template was customised across 99 pages and 10 templates, over 60 calendar days, inside the 61-hour estimate.

Process

Phase Duration Outcome
Brief & estimation ~1 week Figma reviewed, template access confirmed, scope agreed (45-hour estimate)
Customisation development ~2 weeks Page-by-page content migration and template customisation
QA iterations (concurrent) ~2 weeks QA stage + client revision round to restore template feel
Fix rounds ~3 weeks Post-live corrections, meta-data comparison, redirect fixes, urgent cleanup
Delivery final day Site live on WP Engine

Development and QA ran concurrently — 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

  • Nikita Tumasevic — lead developer (template customisation and migration execution)
  • Pavel Sazhin — project management and QA iterations
  • Anna Polunina — QA iterations and template-feel restoration
  • Evgeniy Karpov — developer support on early customisation rounds
  • Natalia Bogatel — QA and project coordination
  • Anton Hersun, — project lead (estimation, agency-side communication, sign-off)

Agency-side project management, design, and client communication remained with the partner agency throughout. Our team was invisible to the end client. All customisation requests came through the agency’s shared issue backlog; nothing about the build was visible to the end client directly. Each round was closed only after the agency-side reviewer confirmed the changes were resolved to spec.

For agencies with a branded template system

If your agency has had a build come back “functionally complete” but visually wrong — pages loaded, links worked, but the template’s spacing and typography were gone — that is the failure mode we build against. Send a sample design, your template access link, and any client-specific content that does not map to the template’s default sections. We will flag the fidelity gaps before any migration work begins. No cost, no obligation.

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