Dental groups and DSOs
Multi-Location Dental SEO for Dental Groups and DSOs
Every office ranking in its own town, every Google profile inside the rules, and a monthly view of which office search is actually feeding.
Practice names stay private. No client is named on this page.
Quick answer
Multi-location dental SEO is local SEO run across a group of dental offices: one Google Business Profile and one genuinely unique page per office, a page for every dentist, reviews collected office by office, and reporting that shows each office on its own. The hard parts are structural. Offices that compete with each other in Google, provider listings that break Google’s rules, and acquired practices whose old websites and profiles were never folded in properly. I do this work for dental groups and DSOs, and audits start at $1,100.
A single practice has one profile, one website and one map pack to win. Run eight offices and you’ve got eight map packs and eight review counts, maybe twenty dentists too. If you grew by buying practices, add three or four old websites still sitting on the web. The SEO gets harder in odd places.
I’m Ram Kr Shukla, and I run SEO for 9 US dental practices right now. Before that I was Global Head of SEO at OLX Group across 11 countries and 200M+ monthly visits, and the Google Business Profile listings worldwide were mine to run. Think of this page as the dental group version of that job. Only one office? My main dental SEO service page is the better fit.
Who This Is For
It isn’t a fit if you want every office on page one next month. Local rankings move office by office. And the weakest offices usually need the most work.
What Goes Wrong in Multi-Location Dental SEO
Most group problems are structural. That’s actually good news, because fixing one at template level fixes it at every office. Check these first.
Location Page Architecture: One Page per Office, Built From Real Proof
My default for a dental group is one domain with a folder per office, like https://www.example.com/locations/riverton/. That way every office benefits from the links and reviews your brand earns. Separate domains per office split that authority, and subdomains tend to get treated as separate sites too. If an acquired practice keeps its own brand, sure, it can keep its own domain for a while, but that’s a business decision with an SEO cost and you should price it in.
Each office page has to be about that office, from the first line. Here’s what goes on it:
What every office page carries
- The name, address and phone exactly as they appear on that office’s Google profile
- The dentists who work there, and on which days, each linked to their own provider page
- The services actually offered at that office. If implants are only placed at two offices, say so and link to them
- Insurance plans accepted there, if they differ by office
- Real photos of that building, that front desk, that operatory
- Parking, transit, accessibility and the nearest landmark patients use to find it
- A handful of reviews from that office’s own profile, quoted with the patient’s permission
- Local FAQs no other office page has, and a booking route that books that office
- A title tag and H1 that name the office and its town
Brand story, financing, policies and the booking widget can repeat on every office page. That’s fine. The local part has to be unique to each office, and it’s the part your template usually leaves empty. I’ve written up the general method in multi-location SEO without duplicate content. If new office pages aren’t getting indexed at all, the cause is usually linking, and this guide to orphaned location pages covers it.
Google Business Profiles: One per Office, and the Rules for Dentists’ Own Listings
The profile wins the map pack, and the office page backs it up. For a group, most of the risk sits in the profile rules. So here’s what Google’s guidelines for representing your business actually say, in plain terms.
What Google’s guidelines say for groups and dentists
- One profile per location. No more than one per office, in one account or across several.
- Same name everywhere in a country. All locations of a chain use the same name. The exceptions: genuine sub-brands applied consistently, and offices whose signage, website and stationery consistently use a different name.
- Same category for the same service. If every office is a general dental office, every office carries the same primary category.
- A website and phone for that location. The link should go to a page that represents the individual office, and Google prefers a local number over a central call centre line.
- Dentists can have their own profile if they’re public facing and can be contacted at the verified location during stated hours. Support staff shouldn’t. One dentist shouldn’t have several profiles to cover several specialties.
- Several dentists at one office: the office gets its own profile, separate from theirs, and a dentist’s profile carries only the dentist’s name, without the practice name.
- One dentist at a branded office: share a single profile with the office, named in the format Brand: Dr Name.
My default policy on provider listings
Decide per dentist. An owner dentist who’s worked at one address for years, with patients searching their name? Usually worth a listing. An associate who rotates between three offices usually isn’t, because the rule ties a practitioner listing to one verified location and its stated hours. Provider listings also split reviews away from the office profile, and that office profile is the one competing in the map pack.
Two more group-level rules matter. Google lets a business with 10 or more locations verify its profiles in bulk through Business Profile Manager, which beats waiting on postcards for every new office. And your group should own every profile, with any agency (me included) added as a manager. When you take over a practice, the previous owner has to add you as an owner and transfer ownership. Getting that done before closing day saves you weeks.
Profile posts and the call button are a smaller topic, covered in Google Business Profile posts and the call button.
Centralised vs Local Content: Who Writes What
Your group can’t write twenty implant pages, and shouldn’t try. Most treatment content belongs on the group domain once, written properly. The local layer is smaller. But it has to be real.
Written once, centrally
- Treatment pages: implants, Invisalign, crowns, emergency care, sedation
- Financing, membership plans and insurance explainers
- Patient education and the blog
- About, careers and the brand story
- Organization schema on the homepage
Written per office
- The office page itself
- Office-specific services, like the one office with a surgeon placing implants
- Who works there, and when
- That office’s photos, reviews and local FAQs
- Google profile posts, photos and replies
A local treatment page, like implants at the Riverton office, only makes sense when that office does something the others don’t and there’s search demand in that town. Otherwise? The office page links to the central treatment page, and that’s enough. The free dental service page gap checker shows which treatments your site is missing a page for.
Provider Profile Pages Across Offices
One page per dentist, on the group domain. Make a separate copy of the same dentist for each office and you’ve just created duplicates. The page lists every office they work at and on which days, their credentials, the procedures they actually do, and a booking route for each office.
People move. If a dentist switches offices, the provider page and both office pages change the same day. And when someone leaves, redirect their page to the office they worked at, so patients searching their name still land somewhere useful. The full page anatomy is in SEO for doctor and provider profile pages.
How to Stop Offices Competing With Each Other
In the map pack, Google ranks on relevance, distance and prominence, so two offices a few miles apart usually show to different searchers. Your website pages are where offices trip over each other. Take two offices five miles apart, both titled “Dentist in Springfield”. They’ll take turns ranking, and neither will hold.
The fix starts in Search Console. Filter your queries by town name and look at which URLs rank for them. Two office URLs swapping places week to week? They’re competing. The free keyword cannibalization checker does this from a Search Console export.
Then give each page its own territory
- Assign each office a primary town plus the neighbourhoods closest to it, and name them in its title and H1
- Where several offices share one metro, build one metro hub page that lists them all and sends people to the nearest
- Keep city-level treatment terms on the central treatment page unless one office genuinely owns that treatment
- Point internal links at the page you want ranking, and stop linking to the one you don’t
Review Operations Across Offices
Reviews are counted per profile, so you have to collect them per office. The request should come from the office that saw the patient, linking to that office’s profile. Send everyone to the flagship with one shared link, and that’s how one office ends up with 900 reviews and its newest sibling with 14.
Ask every patient. Google’s policy on fake engagement doesn’t allow businesses to discourage negative reviews, to selectively ask happy patients, or to offer anything in return for a review. So review tools with a “happy patients only” filter break that rule.
Replies are where dental groups get into legal trouble. A Dallas practice settled with the HHS Office for Civil Rights after answering Yelp reviews with patients’ treatment and insurance details. So every office needs one named person replying, a short list of approved phrasings that confirm nothing about the patient, and a route to escalate anything clinical or angry. Then, each month, track new reviews, rating and median reply time per office.
Schema per Location
Google’s local business documentation asks you to define each location as its own LocalBusiness and to use the most specific type, which for an office is Dentist. So each office page gets its own block: a unique @id, the office page as url, the address, the phone, opening hours and coordinates to at least 5 decimal places. A parentOrganization reference ties each office back to the group’s Organization on the homepage.
{
"@context": "https://schema.org",
"@type": "Dentist",
"@id": "https://www.example.com/locations/riverton/#dentist",
"name": "Example Dental",
"url": "https://www.example.com/locations/riverton/",
"telephone": "+1-555-010-0199",
"address": {"@type": "PostalAddress", "streetAddress": "12 Main St",
"addressLocality": "Riverton", "addressRegion": "UT",
"postalCode": "84065", "addressCountry": "US"},
"geo": {"@type": "GeoCoordinates", "latitude": 40.52191, "longitude": -111.93910},
"parentOrganization": {"@id": "https://www.example.com/#organization"}
}
Note the name: it’s the same on every office, matching the profile rule. And skip review stars on your own office pages: Google says aggregateRating is only recommended for sites that capture reviews about other businesses, so self-rated stars won’t show. The free local business schema generator builds one block per office, and for a group you can paste your Business Profile download and skip typing twenty addresses.
Reporting per Office
Your group report should open on a table with one row per office, with group totals after it. Here’s what each row carries:
The monthly office scorecard
- Profile calls, direction requests and website clicks, from each Google profile’s performance view
- Search Console clicks to that office’s folder and its dentists’ pages, split into branded and non-branded
- Booking requests in GA4 by office, with UTM tags on every profile’s website link
- New reviews, rating and reply time
- New patient appointments from the practice management system, where the group can share them
The UTM part is what most groups skip, and without it profile clicks land in GA4 as plain organic. The free UTM builder and GA4 channel checker writes the tags. Want to put a value on a better ranking per office? The new patient value calculator works it out from your own numbers. For the dashboard itself, see blending Search Console and GA4 in Looker Studio.
Acquisitions and Rebrands: Domains, Redirects and Profiles
Every acquisition is a small site migration plus a profile handover. Do the steps below in order and the acquired practice keeps its rankings and its reviews. Out of order, it starts again from zero.
The boring checks matter most. On a Squarespace to WordPress migration I ran for a US fitness studio, 16 URLs were mirrored 1:1. Staging QA still found no meta descriptions, no analytics, no LocalBusiness schema and a staging site Google could index. All of it got fixed before cutover. Practice acquisitions break on exactly that kind of thing. Already lost rankings to a rebrand? The redesign recovery plan is where to start.
How a Dental Group Engagement Runs
Five steps, in this order. Ownership comes before content because there’s no point building pages for a profile you don’t control.
Why Dental Groups Hire Me
The tools I start every dental audit with are free on the dental SEO tools hub. For how AI assistants pick which practice to name, read AI SEO for dentists.
What Multi-Location Dental SEO Costs
Audits start at $1,100. For a group, the audit covers every office page, every Google profile and its owner, provider listings, review flow, tracking and any old domains from acquisitions. You get a fix list in priority order, by office.
Group retainers and implementation get quoted after the audit, because the cost depends on what it finds. Here’s what moves it:
What drives the price for a group
- Number of offices, and how many have a page and a profile already
- Profile mess: duplicates, profiles still owned by sellers or old agencies, suspended listings
- Domains from acquisitions that need mapping and redirecting
- Number of dentists who need provider pages
- How many office and treatment pages need writing, and how fast a dentist can review drafts
- Who implements: your web team, your agency or me
- Tracking: whether call tracking, GA4 booking events and UTM tags exist yet
- How competitive each office’s market is
For how dental SEO pricing works in general, and what cheap packages leave out, see dental SEO pricing.
Multi-Location Dental SEO Questions, Answered
What is multi-location dental SEO?
Multi-location dental SEO is local SEO for a dental group with several offices. It covers one Google Business Profile and one unique page per office, a page for each dentist, reviews collected per office, schema for each location, and reporting that shows every office separately. It also covers the problems single practices never have, like offices competing with each other and acquired practices with old websites.
Should each dental office have its own Google Business Profile?
Yes. Google allows one profile per physical location, and each office should have exactly one, owned by the group, with the same brand name as the other offices and a website link to that office’s own page. Two profiles at one address, or one profile covering several offices, both break the guidelines.
Can each dentist in our group have their own Google Business Profile?
Google allows it for public-facing dentists who can be contacted at the verified location during stated hours. When several dentists work at one office, the office keeps its own profile and each dentist’s profile uses only their name. A sole dentist at a branded office shares one profile named Brand: Dr Name. I decide per dentist, because associates who rotate between offices usually shouldn’t have one.
Should our offices use one website or separate websites?
One domain with a folder for each office is usually the strongest setup, because every office benefits from the links and reviews the brand earns. Separate domains split that authority. An acquired practice can keep its own site for a while if it keeps its brand, but plan the move onto the group domain with a full redirect map.
How do we stop our offices competing with each other in Google?
Give each office page its own territory: a primary town and the nearest neighbourhoods, named in its title and H1. Where several offices share a city, add one hub page that lists them. Then check Search Console for town queries where two office URLs swap places, and point internal links at the page you want ranking.
What happens to SEO when a DSO acquires or rebrands a practice?
Rankings and reviews carry over if you do it in order. Transfer ownership of the existing Google profile, map every old URL to its closest new page, and use 301 redirects kept for at least a year. For a domain move, file a Change of Address in Search Console. Rename the profile once the new signage is up. Creating a new profile or redirecting everything to the homepage throws that history away.
How much does SEO for a dental group cost?
Audits start at $1,100. Ongoing work for a group is quoted after the audit, because it depends on the number of offices, the state of the profiles, domains from acquisitions, how many pages need writing, who implements the changes and how competitive each market is.
How do you report results for each office?
Every report opens with one row per office: profile calls, direction requests and website clicks, Search Console clicks to that office’s pages, booking requests in GA4 tagged by office, and new reviews. Group totals come second, so an office that’s slipping can’t hide inside a group average.
Want to see which of your offices search is ignoring?
Send me your website and a list of your offices. I’ll check how each one shows up in Google and in the map pack, and tell you plainly what I’d fix first and whether I’m the right person to do it.
Book a Dental Group SEO CallSee Dental SEO ServicesWritten by Ram Kr Shukla
20+ years in SEO and growth, and 50+ brands worked with. Google Analytics and Google Ads certified. Works as a consultant or Fractional Chief Digital Officer, and currently runs SEO for 9 US dental practices.




