
Keyword Cannibalization: When Your Own Pages Compete for One Search
Two pages swapping places for one query is a symptom, not always a problem. How to confirm it, and which of four fixes fits the case.
Local searches are answered twice: by the map of Business Profiles and by the web pages below it. Location pages help with both when each one describes a real place a customer can use, and they become a liability the moment they are a city name swapped into a template.

A local search is one where the right answer depends on where the searcher is. Some queries say so outright, like dentist in Portland. Many do not. Google states that its systems “can also recognize many queries have a local intent”, which is why, in Google’s own example, a search for “pizza” returns nearby businesses that deliver.
Google’s rater guidelines call this Visit-in-Person intent and describe it in section 12.7.4: people “use search engines to look for Visit-in-Person information, such as finding nearby coffee shops, gas stations, ATMs, restaurants, etc.” When a query names a place, the guidelines tell raters to follow it: “People use explicit locations to indicate exactly what they are looking for.” Someone in Dallas searching for New York hotels wants New York.
The results for a local query usually come in two parts: a map with a short list of Business Profiles, and the ordinary web results underneath. They are ranked on different material. The map draws on Business Profiles; the web results draw on pages. A local SEO plan needs both, and location pages sit on the web side of that line, though they feed the profile too. For how to read any results page before choosing a page type, see reading search intent from the results page.
Google’s Business Profile help center explains local ranking in one sentence: “Local results are mainly based on relevance, distance, and popularity.” The same page then explains the factors under three headings: Relevance, Distance and Prominence.
| Factor | Google’s definition | What the business can change |
|---|---|---|
| Relevance | “how well a Business Profile matches what someone is searching for” | Categories, services, description and website content that describe the business completely |
| Distance | “how far each business is from the customer who’s searching” | Nothing, short of opening another real location |
| Prominence | “how well-known a business is” | Reviews, links from other websites and mentions, earned over time |
Prominence, the page adds, is “also based on info like how many websites link to your business and how many reviews you have”. That is where the website and the profile meet: a site that earns links and describes the business completely supports both relevance and prominence. Two lines on the same page settle common client questions: “There’s no way to request or pay for a better local ranking on Google,” and “Businesses with complete and accurate info are more likely to show up in local search results.”
Location pages support a Business Profile; they cannot replace one. Before building pages, check the profile against Google’s guidelines for representing a business, because several common local tactics are explicitly outside them.
These rules shape the website too. If a business cannot have a profile in a town because it has no presence there, a page built only to rank for that town is the pattern Google’s doorway policy describes.
Google’s spam policies define the risk directly. “Doorway abuse is when sites or pages are created to rank for specific, similar search queries.” Two of the policy’s examples describe the classic location-page mistake:
“Having multiple domain names or pages targeted at specific regions or cities that funnel users to one page.” “Creating substantially similar pages that are closer to search results than a clearly defined, browseable hierarchy.”
The same policies cover the faster way to make the mistake at scale: scaled content abuse includes “using generative AI tools or other similar tools to generate many pages without adding value for users”. Fifty city pages with a paragraph of generated local history each are both problems at once.
The practical test is whether the page would still be worth publishing if search engines did not exist: would a customer in that place learn something they need from it? The contrast is usually easy to see side by side.
| Doorway pattern | A location page that earns its place |
|---|---|
| One template with the city name swapped in | Content specific to the location: its address, hours, team, parking, photos |
| Pages for towns the business does not serve or visit | Pages only for places the business operates or genuinely serves |
| Every page funnels to the same contact form | Each page offers that location’s phone, directions or booking |
| Hundreds of near-identical pages, reachable mainly from search | A browseable hierarchy: locations, then each place, then its services |
| Generated filler about the town | Real local proof: projects done there, reviews from there, local rules or pricing |
A service-area business usually needs fewer pages than it thinks. One page that lists the areas served, with the travel policy and any area-specific pricing, serves most searchers better than a page per suburb. A separate page for an area earns its place when something is genuinely different there: a branch, a crew based nearby, local regulations or permits, or a body of completed work in that area that the page can show.
Google’s LocalBusiness documentation asks for each location to be marked up as its own LocalBusiness, using the most specific type that fits, so a location page is the natural place for that location’s markup. The general rule from the technical SEO audit still applies: mark up only what the page shows. Markup that lists an address the page does not show, or areas the page does not mention, describes a different page from the one people see.
The doorway policy contrasts doorway pages with “a clearly defined, browseable hierarchy”, which is also a good description of the alternative. A locations hub links to each location; each location links to the services offered there; each service page links back to the locations that offer it. Every page is reachable by clicking, not only by searching.
Avoid building the full grid of every service in every town. A page for each combination multiplies near-identical pages, which is the doorway pattern again, and it sets the location pages competing with the main service pages for the same queries. That conflict is covered in detail in the guide to keyword cannibalization. Build a service-and-place page only where the place changes the service.
Internal links should name what they link to. A link reading “Our Westbrook office” tells a reader and a crawler more than “Learn more”, and it reinforces which page is the answer for that place.
Because the map and the web results are ranked on different material, they need different measurements:
Review location pages against the profile whenever the business changes: a new location, a closed one, new hours, a changed service area. A page that still lists a closed branch is out of date and contradicts the profile. Update the profile in the same pass, because “if your business info isn’t accurate, your Business Profile might not show up for relevant searches in your area”.