Case study · Build, SEO, Local

Multi-location dental group

One brand site, 21 location pages, GBP at scale, and a review flow that finally compounds.

Year
2026
Engagement
14-week build, ongoing monthly management
Outcome
+312% organic, 21 location pages indexed
Build, SEO, Local
2026

+312% organic, 21 location pages indexed

Headline metrics

Organic lift

+312%

12 months post-launch vs. legacy baseline

Locations indexed

21 / 21

All location pages indexed within 30 days

GBP actions

+180%

Calls, directions, and website clicks across all profiles

Average rating

4.7 stars

Network-wide uplift driven by post-visit review flow

Approach

What we did.

01

Discovery and brand consolidation brief

We started with a four-week discovery: stakeholder interviews across operations, marketing, and clinical leadership, plus a full audit of the legacy estate (six WordPress instances and two Wix sites). The output was a single positioning brief and an information architecture that treated the parent brand and 21 locations as one system, not 21 microsites.

02

Location page templating

We designed one location template that inherited brand-level content (services, philosophy, insurance) and overrode only the location-specific layer (NAP, hours, team, photography, directions, parking notes). That gave us 21 pages without 21 maintenance burdens, and let editorial updates ship globally in one PR.

03

Build on Next.js with Sanity

Built on Next.js 16 with Sanity as the CMS. Location data lives in a single structured schema, surfaced through static generation with on-demand revalidation when an operations lead edits hours or staff. Schema.org Dentist plus LocalBusiness markup is generated from the same source of truth, so structured data never drifts from the page.

04

Google Business Profile sync

All 21 GBP profiles were brought under a single management group, NAP normalized to match the new site exactly, categories tightened, services and attributes filled in, and photography refreshed. We wired the site's location data to act as the canonical source: if it changes on the site, the GBP update is queued the same day.

05

Review acquisition loop

Post-visit, the patient receives a one-tap review request via SMS routed through the practice management system. The flow filters dissatisfied responses to internal service recovery and routes happy patients to the correct GBP profile. Volume and quality both moved within 60 days.

06

Ongoing local ops

Monthly retainer covers GBP post cadence, citation hygiene, review monitoring, location-page content refreshes, and quarterly competitive sweeps per market. Operations leadership gets one consolidated monthly report covering all 21 markets, not 21 separate dashboards.

Scope of work

  • Greenfield build
  • Technical SEO
  • Local SEO
  • GBP at scale
  • Review acquisition flow

Stack

Next.js 16Sanity CMSTailwind v4schema-dtsVercel

Client read

We had been told a 21-location rebuild would take a year and three vendors. They shipped it as one team, and the local rankings started moving inside two months.

Operations Lead, multi-location dental group

Want this kind of outcome?