The short answer
Give every office patients can visit its own page at a simple URL, such as /locations/office-name. Each page should carry that office's name, address, phone number and hours exactly as they appear on its Google Business Profile, plus the team, services, photos and directions for that building. Add LocalBusiness structured data for that office, point the profile's website link at the page, and link every location page from a locations index. Skip near-identical pages for towns where you have no office: Google treats those as doorway pages.
Why each office needs a page
When a practice opens a second or third office, the website often keeps one contact page with every address stacked on it. That works for a visitor who already knows which office they want. It works poorly for everyone else: a patient searching near one office lands on a page about all of them, and each office's Google Business Profile has nowhere specific to send people.
Google's guidelines for representing your business ask each profile for a phone number that reaches that location, or a website that represents that individual location. A dedicated page per office is the cleanest way to meet that, and it gives a patient one page with everything they need before the first visit.
URL structure and navigation
Keep all offices on one website and one domain. Google's URL structure guidance favors simple, descriptive URLs with words separated by hyphens, so a pattern like this works well:
| Page | Example URL | Job |
|---|---|---|
| Locations index | /locations | Lists every office with address, phone and a link |
| Office page | /locations/north-park | Everything a patient needs for that office |
| Service page | /services/dental-implants | Explains the treatment once, lists which offices offer it |
| Dentist bio | /team/dentist-name | Credentials and the offices where they see patients |
Link to the locations index from the main navigation and the footer, using ordinary text links. Google's link best practices say links should be standard anchor elements with an href, so a location picker that only works through a script or a dropdown is easy for crawlers to miss. Use the office or neighborhood name in the link text rather than "click here".
What goes on each page
Write each page for a nervous new patient who has never been to that building. Google's guidance on people-first content asks whether a visitor leaves having learned enough to reach their goal, and here the goal is a booked, easy first visit.
Find and contact
Name, street address with suite, local phone number, hours, a booking button for that office, and a map.
Arrive without stress
Parking, entrance, elevator or step-free access, nearby cross streets and transit stops, and what to bring.
Know who they will see
The dentists, hygienists and front desk team at that office, with photos used with each person's permission.
Match the visit to the office
Which services this office offers, languages spoken, and the plans it accepts if those differ between offices.
Keep treatment explanations on the main service pages and link to them, so each office page stays focused on that office. For the booking side, our guide to online scheduling covers routing requests to the right calendar.
Structured data for each office
Google's local business structured data documentation lists the office address as the required property and recommends others, including the phone number, opening hours, geographic coordinates and the URL of the specific business location. For a multi-office practice that means:
- •One LocalBusiness block per office page, describing only that office. Schema.org's Dentist type is a more specific fit for a dental office.
- •The url property set to that office's page, not the home page.
- •Hours in the markup that match the hours on the page and on the profile.
- •Only facts that are visible on the page. Markup describes the page; it does not add claims the page does not make.
Test each page with Google's Rich Results Test after publishing and again whenever hours or phone numbers change. The group graph, including parentOrganization and which sameAs URLs belong on which entity, is in AI search for multi-location dental groups.
Connecting pages and profiles
Each office should have one Business Profile, and Google's guidelines say not to create more than one profile per location. Once each office page is live:
- Point each profile at its own page. Set the website link on the profile for the north office to the north office page, and so on. Add UTM tags if you want to see profile visits separately in Google Analytics, as our profile tracking guide shows.
- Match the details exactly. Use the same practice name across offices, as Google asks for chains, with the same address format, phone number and hours on the page and the profile.
- Update both together. When an office changes hours or a phone number, change the page, the markup and the profile on the same day.
For the profile side of the work, see our guide to running several Business Profiles; for the wider plan, see marketing a multi-location practice. Groups comparing brand models can start at DSO and multi-location marketing or the DSO marketing company guide.
Town pages and doorway risk
It is tempting to publish a page for every nearby town with the town name swapped in. Google's spam policies describe that pattern as doorway abuse: pages aimed at specific regions or cities that funnel visitors to one page, or sets of substantially similar pages that sit closer to search results than a browsable site structure.
| Page type | When it helps | When it hurts |
|---|---|---|
| Office page | Always, for an office patients visit | When it copies another office's page word for word |
| Town page, no office | When it answers real questions for that town, such as the drive, transit or the nearest office | When it only swaps the town name and pushes visitors to one booking page |
| Service plus town page | Rarely needed; the office and service pages usually cover it | When dozens are generated from one template |
A short "Patients from nearby towns" section on each office page, naming the neighborhoods and routes patients really use, usually does more good than a stack of thin town pages.
Location page checklist
Work through this list for each office. Your ticks are saved in this browser only, so you can come back to it.
Per-office checklist
11 items
If you would like a second pair of eyes on your location pages, our website team builds and reviews them as part of our local SEO work.
Sources
Pages accessed November 5, 2026. This guide is marketing and website guidance, not legal advice.
- •Google Business Profile Help: Guidelines for representing your business on Google
- •Google Search Central: Spam policies for Google web search
- •Google Search Central: Local business structured data
- •Google Search Central: URL structure best practices
- •Google Search Central: Creating helpful, reliable, people-first content
- •Google Search Central: Link best practices
Frequently Asked Questions
Does each office need its own page?
Yes, if patients can visit it. A separate page gives each office a clear address, phone number, hours and team, and it gives that office's Google Business Profile a website link that matches the location. Google's profile guidelines ask for a website that represents the individual business location.
Can we make pages for nearby towns where we have no office?
Only when the page is genuinely useful, for example explaining how patients from that town reach your nearest office and what you offer them. Google's spam policies name pages aimed at specific cities that funnel visitors to one page as doorway abuse, so a batch of near-identical town pages is a risk, not a shortcut.
Should location pages use subfolders or subdomains?
Subfolders such as /locations/office-name are simplest for most practices. They keep every office on one site, make the structure easy to browse, and follow Google's advice to use short, descriptive URLs.
What structured data should a location page use?
LocalBusiness markup, or a more specific type such as Dentist, with the office's address, phone number, opening hours and the URL of that location page. Each office page describes only its own office.
How do we keep several location pages from reading the same?
Start from what is really different: the building, the team, the services offered there, parking and access, and the neighborhoods patients come from. If two pages would say the same thing apart from the address, add the details that a new patient at that office would need.