Plenty of multi-location sites have more location pages than locations. A plumbing firm in one town has a page for each of twenty towns around it. A car hire brand has a page for every city in the country, with branches in a dozen. The pages share one template, one block of copy and one phone number, and the only thing that changes is the place name. Google's spam policies have a name for that pattern, and most of the fix is deciding which pages should exist at all.
Location pages sit inside a wider local search programme of profiles, reviews and measurement, which is covered in the local SEO guide.
What counts as a doorway page
Google's spam policies define doorway abuse as sites or pages created to rank for specific, similar search queries, which lead users to intermediate pages that are not as useful as the final destination. One of the four examples is having multiple domain names or pages targeted at specific regions or cities that funnel users to one page.1 That is the city page template, described almost word for word.
Bing reaches the same place by a different route. Its guidelines list publishing the same or substantially similar content across multiple URLs, and large-scale content generated without editorial review, among the practices that reduce ranking eligibility or lead to exclusion from the index.2 Neither search engine objects to location pages as such. Both object to pages that exist only because a place name was swapped into a template.
The policy does not forbid templates, or pages about places. The test is whether each page is useful in its own right or exists to catch a search and pass the visitor on. When Google updated its doorway guidance in 2015, it published a set of questions for telling the two apart.3 They still work as an audit checklist.
| Google's question | What it means for a location page |
|---|---|
| Is the purpose to optimise for search engines and funnel visitors into the usable part of the site, or is the page an integral part of the user experience?3 | If every city page ends with "call our central number" and says nothing else, the page is a funnel. |
| Are the pages intended to rank on generic terms, yet the content on the page is very specific?3 | A page aimed at "car hire Harrogate" whose only real content is the booking form for a branch in another town. |
| Do the pages duplicate useful aggregations of items, such as locations or products, that already exist on the site, to capture more search traffic?3 | A store finder already lists every branch. Fifty thin pages restating it add nothing. |
| Do the pages exist as an island, difficult or impossible to reach from other parts of the site?3 | Location pages linked only from the XML sitemap or a footer block of town names are the classic case. |
What makes a location page worth having
A useful location page answers the questions a customer has about that branch before they ring or turn up. Those answers differ by location. There is some outside evidence that substance helps on the map side too: Sterling Sky's 2025 study of 8,186 map pack listings across 200 US cities found a slight correlation between the number of substantive words on the page a listing links to and how well it ranked.4 I would expect these on every page:
- The address, a map, and how to get there: parking, the nearest station or bus stop, step-free access, the entrance to use.
- Opening hours for that site, including the days that differ from the rest of the group and any bank holiday changes.
- The people. Named staff where the sector expects it (dentists, solicitors, branch managers), and what each one does.
- The services that site offers, and the ones it does not. A group rarely offers everything everywhere.
- Reviews from customers of that branch, and photos of that building and team.
- Something only a local branch can say: jobs completed nearby, stock held at that depot, the local hospital it refers to, the parking rules at the airport.
| Business | What is true only of one location |
|---|---|
| Dental group with six practices | The dentists and hygienists at that practice, which ones offer sedation or implants, NHS or private only, Saturday sessions, step-free access, parking. |
| Car hire brand | Airport desk or city branch, the shuttle or meeting point, out-of-hours return arrangements, vehicle classes kept at that branch, one-way hire options. |
| B2B electrical distributor with depots | Trade counter hours, the cut-off for same-day collection, stock ranges held at that depot, delivery radius, the branch manager and the account team. |
| Plumbing firm with one base | Usually nothing per town. See the service area section below. |
Which passages on a location page could answer a local question
Prompt
Dentist in Headingley open on Saturdays that offers sedation for nervous patients
- 01
Welcome to our Headingley practice, your friendly local dentist offering high-quality care for the whole family.
- 02
Open Saturdays 9am to 1pm for check-ups, hygiene appointments and dental emergencies.
- 03
Two of our four dentists here offer IV sedation for nervous patients, on Tuesdays and Saturdays.
- 04
We serve patients across Leeds and the surrounding areas.
- 05
Step-free entrance at the front, with two blue badge bays behind the building.
Switch to the retrieval view to see which passages could be lifted
The same specificity matters beyond Google's organic results. Assistants answering local questions usually retrieve pages and compose an answer from what they find, so a page full of facts about one branch gives them something to quote. I have set out a working model of that in how an assistant decides which businesses to name.
LocalBusiness markup, and how it ties to the Business Profile
Define each local business location as a LocalBusiness type, using the most specific subtype possible.5 Schema.org has plenty to choose from. Dentist sits directly under LocalBusiness, while AutomotiveBusiness, HomeAndConstructionBusiness and Store are parent types that hold more specific ones, such as AutoRental, Plumber and WholesaleStore.6
| Property | What it holds (Google's structured data documentation) | Where the value should come from |
|---|---|---|
name and address | The two required properties. Include as many address properties as possible.5 | The same name and address as the Business Profile for that location |
url | The fully qualified URL of the specific business location, and it must be a working link.5 | The location page itself, which is also the website link on the profile |
telephone | The primary contact number for customers, with country and area code.5 | The number on the profile and on the page |
openingHoursSpecification | Hours during which the location is open. The examples include seasonal hours set with validFrom and validThrough.5 | The hours shown on the page, kept in step with the profile |
department | A nested item for a department with its own properties, such as different hours or phone numbers.5 | A trade counter or service desk inside the branch, if it has its own hours |
aggregateRating and review | Only recommended for sites that capture reviews about other local businesses.5 | Leave them out. Show your own reviews on the page, but do not mark them up. |
Structured data should not mark up content that is not visible to readers of the page.7 Bing applies the same rule: markup must accurately reflect visible content, and misleading markup may be ignored.2 So the markup should repeat what the page already says. Hours in the JSON-LD that appear nowhere on the page, or a phone number that differs from the one printed above it, are the kind of mismatch to remove.
The link to the Business Profile
There is no documented technical connection between LocalBusiness markup and a Business Profile. The connection is consistency, and it runs through three places. The profile's website should represent the individual business location,8 so each profile's website link should go to its own location page and not the homepage. Bing Places asks the same of multi-location businesses: a location-specific website where one exists, and consistent names across all locations.9 The page then states the same name, address, phone number and hours as the profile, and the markup repeats them. Schema.org offers a hasMap property for a URL to a map of the place,6 and some sites put the profile's Maps link there. That is reasonable, but I have not seen Google say it reads it, so I would not expect it to do much on its own.
Treat the location data as one record with three outputs. Hold the name, address, phone, hours and services for each branch in one place, and generate the page, the markup and the profile updates from it. Mismatches tend to appear when someone edits a page by hand after the profile changed, or the other way round.
When a location page should not exist
The hardest part of location pages is deciding not to build some. A page needs something true about that place to say. If the honest content for a town is the business's standard copy with the town name in it, the page is a doorway however it was produced.
How strong the case is for a location page
- A town outside the area you serveA town outside the area you serve: 5 percent of the way from Doorway risk to Earns its place.
- A town you cover, with no premises and nothing specific to sayA town you cover, with no premises and nothing specific to say: 25 percent of the way from Doorway risk to Earns its place.
- A town you cover, with real local work you can showA town you cover, with real local work you can show: 55 percent of the way from Doorway risk to Earns its place.
- A depot with its own stock, hours and trade counterA depot with its own stock, hours and trade counter: 85 percent of the way from Doorway risk to Earns its place.
- A branch customers visit, with its own Business ProfileA branch customers visit, with its own Business Profile: 95 percent of the way from Doorway risk to Earns its place.
Hover a row for the main thing that goes wrong.
Service area businesses are where this goes wrong most often. A service area business should have one profile for its central office or location, with a designated service area.8 It can list up to 20 areas, and the overall area should not extend beyond about two hours of driving time from where the business is based.10 A plumber covering fourteen towns from one base has one location, and Sterling Sky's long-running tracking of its own profile suggests it is ranked from that base, with the service area affecting only what is displayed.11 One good page about the area covered, with the towns listed and a few real jobs from around the patch, serves those customers better than fourteen copies. The service area post covers the profile side of this.
The exception is a town where the plumber has done enough work to show it, with photos of jobs and reviews from customers there. The test is whether you could write the page without the template. If you cannot, do not publish it.
Practitioner opinion points the same way. Whitespark's 2026 Local Search Ranking Factors survey of 47 local search specialists put a dedicated page for each service first among local organic factors, with the city or neighbourhood relevance of the content second.12 Read together, that favours pages with something real to say about a service in a place, which a swapped template does not have. It is a survey of opinion, so treat it as a guide and not as proof.
Building pages from a database is fine when the data supports each page. The Programmatic skill in my open-source pack applies this test before it generates anything, and refuses to make pages that differ only by a swapped location.
How to audit an existing set of location pages
Hundreds of location pages cannot be judged by reading them one at a time. These steps measure how much of each page is unique and check what Google has done with the set. The commands are rough, but they produce a sorted list quickly.
Then give each page one action. This is the same kind of decision as choosing which faceted navigation pages to index: a page gets its place in the index by being useful on its own.
| What the audit shows | Action |
|---|---|
| A real branch with a profile, but thin or templated copy | Keep and improve. Add the local facts listed above, from the branch itself. |
| A real branch, good page, wrong or missing markup | Keep. Fix the markup from the location record. |
| A town with no premises, no enquiries and a duplicate status | Merge into one service-area or coverage page and redirect with a 301. |
| A town you do not serve | Remove. Redirect to the nearest relevant page if it has links or traffic, otherwise return a 404 or 410. |
| A closed branch | Redirect to the nearest open branch page, and update or close the profile the same week. |
Merging is a small migration, so treat it like one. Map every old URL to its new home, check the redirects resolve in one hop, and remove the old URLs from the sitemap. How to build a redirect map covers the mechanics.
A worked example: a car hire brand with too many town pages
A fictional car hire brand has 14 branches: three airport desks and eleven town branches. Its site has 120 location pages. The 14 branch pages are built from the branch system and carry the address and hours. The other 106 are "car hire in [town]" pages created a few years ago, each a 300-word block with the town name inserted, and each pointing to the booking form for the nearest branch.
The site ends up with 14 location pages, each one useful to the person who lands on it. The same method suits the dental group and the electrical distributor, with the depot's stock and collection hours doing the work that the airport details do here. For a group, report each branch separately afterwards, because group averages hide the branches that are failing.
Common questions
01Are location pages against Google's guidelines?
02How different does each location page need to be?
03Should a service area business have a page for every town it covers?
04Can I mark up my Google reviews on my location pages?
aggregateRating and review are only recommended for sites that capture reviews about other local businesses.5 Show your reviews on the page for visitors, but leave the rating out of your own LocalBusiness markup.05Which page should my Business Profile link to?
Sources
- Platform docs9
- Regulator1
- Industry study2
- Practitioner1
- 01Spam policies for Google web searchGoogle Search CentralPlatform docs
- 02Bing Webmaster GuidelinesBing Webmaster Tools HelpPlatform docs
- 03An update on doorway pagesGoogle Search Central Blog (March 2015)Platform docs
- 04We Analyzed 8,186 Businesses in 200 Cities. Here's What Actually Gets You Ranking for "Near Me" in 2025Joy Hawkins, Sterling Sky, with Places Scout (November 2025)Industry study
- 05Local Business (LocalBusiness) Structured DataGoogle Search CentralPlatform docs
- 06LocalBusinessSchema.orgRegulator
- 07General Structured Data GuidelinesGoogle Search CentralPlatform docs
- 08Guidelines for representing your business on GoogleGoogle Business Profile HelpPlatform docs
- 09Data quality guidelinesBing Places for Business HelpPlatform docs
- 10Manage your service areas for service-area & hybrid businessesGoogle Business Profile HelpPlatform docs
- 11Does the Service Area in Your Google Business Profile Impact Ranking?Colan Nielsen, Sterling Sky (tracking reported to early 2023)Practitioner
- 12Whitespark's Official 2026 Local Search Ranking Factors ReportWhitespark, Darren Shaw (expert survey of 47 specialists, November 2025)Industry study
- 13Page indexing reportSearch Console HelpPlatform docs
Written by Mani Bharij, SEO & AI Search Consultant in London. More on this subject in the Local SEO guide.