Home / Services / Multi location SEO
For brands with many locations
Multi Location SEO That Gives Every Location a Page Worth Ranking
Multi location SEO is the work of making each of your locations findable on its own: its profile, its page, its reviews and its place in the map pack. The usual shortcut is one template with the town name swapped, repeated forty times. Google's spam policy describes that pattern as doorway abuse, and we have measured what it does on our own site. We build location pages that hold facts only that location can hold, a store locator Google can actually crawl, and profiles kept consistent at scale.
Free, and no call required. We measure how alike your location pages really are.
Duplication measured, not guessed · Locator Google can crawl · Reported by location
The line every location page has to stay on the right side of
Location pages and doorway pages look alike, and Google treats them very differently
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. Two of the four examples Google gives describe the way most brands build location pages.
The two examples that describe most location pages
Google lists having multiple domain names or pages targeted at specific regions or cities that funnel users to one page, and creating substantially similar pages that are closer to search results than a clearly defined, browseable hierarchy. A set of forty pages that differ only in the town name, each ending in the same booking form, matches both.
The test is not whether a page names a place. It is whether the page would still be useful to somebody standing in that place if the town name were removed. A page with that location's address, opening hours, manager, car park, services, photographs and reviews passes. A page whose only local content is the word Phoenix in the heading fails, however long it is.
Why it matters more as you grow
Google's policy on scaled content abuse covers many pages generated for the primary purpose of manipulating search rankings and not helping users. Ten thin location pages are a weak site. Four hundred of them, produced from one template, are a pattern a ranking system can recognise, and the consequence lands on the whole set rather than on a single page.
Pages for real locations are not doorways because there are many of them. Google's own guidance expects a business with several locations to describe each one.
The problem is pages for places where you have no location, or pages for real locations that say nothing about them.
Pages for towns without a location
This is where most multi location brands cross the line. With twelve branches, it is tempting to publish a page for every town within twenty miles of each, a hundred and fifty pages, each saying the brand serves that town. Google's first city example is aimed squarely at that.
A page for a town without a location can be legitimate, but only if it carries something genuinely about that town: which branch serves it and how far away, the delivery or visit times that actually apply there, jobs done there with permission to show them. If you cannot write that, the town belongs in the service area of the branch page instead of on a page of its own.
If two of your pages could swap headings without anybody noticing, one of them should not exist, or both need rewriting.
We made this mistake ourselves
What happened when our own location pages were too alike
Moha publishes a local SEO page for each of 43 US cities. In September 2026 we found Google ranking the wrong one: our Emeryville page appeared ninth for a search about Manteca, and our Manteca page did not appear at all.
The targeting was right. The pages were the same.
Each page named its own city more than seventy times, in the title, the description and the heading, and the other city twice. By every keyword measure the targeting was correct. But 90 of the 95 sentences on the Manteca page appeared word for word on the Emeryville page. With the text that alike, Google had little reason to prefer one page over the other for either city, and it picked the wrong one.
Across all 43 pages the median overlap between any two was 85.0%, and 242 pairs were more than 90% identical. That is what a template with swapped place names produces, and it is what most multi location sites look like when they are measured.
What we changed
We rewrote the sections that held half of each page's words, with several genuinely different versions of each, and guaranteed that pages for cities near each other never drew the same version. We also split a row of links that had pointed every page at the same five neighbours with identical anchors. The median overlap fell to 33.5%, no pair is now above 90%, and Manteca against Emeryville fell from 99.1% to 29.6%. Every page also grew.
We are not claiming a ranking result from it; the measurement is the point. Most brands never measure how alike their location pages are, and the number is usually worse than anyone expects.
Common similarity tools compare letters, not phrases, and score any two pages written in the same vocabulary as near identical, even after a full rewrite. Word shingles, sequences of five words, show what a reader and a search engine would actually see repeated.
It is the measure we run in every audit.
Duplicate content is not a penalty, which is why it goes unnoticed
Google's documentation on canonicalization says some duplicate content on a site is normal and does not breach its spam policies. Brands read that as permission. What the same page goes on to describe is what Google does instead: it selects one representative, canonical URL for content it sees as the same, and crawls the duplicates less often. Nothing is penalised. Google simply decides that forty near identical location pages are really one page, shows the one it chooses, and the others are shown far less, if at all.
That is what happened to our Manteca page: no warning in Search Console, no manual action, just a sister page ranking in its place. It is why duplication on location pages is so rarely caught. Nothing breaks. The organic traffic simply goes to the wrong branch, or nowhere.
A content strategy built from facts, not adjectives
The fix is not more words. It is different facts. A content strategy for a set of locations starts with what each one knows that the others do not: its team, its hours, its landmarks and parking, the services it alone offers, the questions its customers ask at the counter, and its own reviews. We collect those once, keep them in a dataset, and build the pages from it, so that a branch opening next spring gets a genuinely distinct page on its first day.
Location pages are not landing pages
Paid campaigns often want a landing page per location as well, stripped down to a form. Those should be kept out of the index, or they become a second set of near duplicates competing with the location pages. One indexable page per location, and as many ad landing pages as the paid team needs, each marked noindex.
A duplicated location set rarely produces an alert. It produces a branch that never ranks, which gets blamed on the branch.
Measuring overlap is the only way to see it before the traffic report does.
Where each location is found
Three places a customer finds one of your locations
A customer looking for your nearest branch meets you in three places, and each depends on something different.
The nearest location, on Google Maps
Decided by each location's own Google Business Profile: category, proximity to the searcher, reviews. A near me search shows the branch closest to the customer, not the brand's best one, so every profile has to be strong on its own.
The location page
Below the map, the search results show pages. Here the location page competes, and here duplication does its damage: when forty pages are alike, Google picks one, and not always the right one for the town searched.
AI Overviews and assistants
When somebody asks which branch is open late or has parking, the answer is drawn from whatever states it plainly. A location page that lists those facts can be quoted. A template that says every branch offers great service cannot.
Each location is its own contest
The strongest branch of a brand does not lift the weakest. Proximity means a customer in one suburb is shown the branch nearest them, and that branch's profile and page decide whether they call. A brand can be first in the map at eight locations and invisible at the other twelve, and an average across all twenty hides exactly that.
That is why we report by location. The question a regional manager needs answered is which branches are losing searches they should be winning, and why.
Search your main service plus near me from a phone standing outside three of your branches. Then do it outside the three that perform worst. The difference usually explains itself.
The page most brands forget is a page
A store locator Google cannot crawl hides every location behind it
Google's documentation on crawlable links is short: Google can only crawl a link if it is an a element with an href attribute. Many store locators do not have one.
How locators hide locations
A typical locator is a map and a postcode box. The visitor types a postcode, a script fetches the nearest branches, and the results appear as cards that open the location page when clicked. To a person it works perfectly. To a crawler there is a map, an empty box and no links at all, because the results only exist after somebody types.
The location pages may still be found through the sitemap, but they arrive with no internal links pointing at them. Internal links are how a site tells Google which pages matter and how they relate, so a location page reached only through a sitemap is an orphan, and it ranks like one.
The structure we build instead
Keep the map and the postcode search; people like them. Underneath, add a plain list of every location as real links, grouped by state or region, with a page per region listing its branches. That gives every location page a path from the home page in two or three clicks, a clearly defined, browseable hierarchy in Google's own words, and the opposite of the doorway pattern.
The details that make it hold
Each location page with a canonical tag pointing to itself, never to the locator or to one master page, which would tell Google the pages are duplicates. LocalBusiness structured data on each page describing that location alone. A sitemap that lists every location page and is updated when one opens or closes. And the profile's website link pointing at the location page, not the home page.
Open your locator, view the page source, and search it for the name of one of your branches. If it is not there before you type a postcode, Google does not see it either.
The video below, from Google, explains how crawling finds pages through links.
What we do
What multi location SEO services should cover each month
Ten things, in the order they change results for a brand with many locations. The first three fix the structure everything else depends on, and are the ones most agencies skip.
Duplication measured across every location page
Every pair of location pages compared with five word shingles, so you see which pages are near copies and which sections cause it. Usually it is the same few blocks of template copy, repeated everywhere.
The audit names the sections to rewrite first and the pages that should be merged or retired.
A locator and hierarchy Google can crawl
The store locator given real links to every location, region pages that list their branches, and a path from the home page to every location in a few clicks.
For many brands this single change gives forty pages their first internal links.
Location pages with facts only they can hold
For each location: address, hours including holidays, the manager or team, parking and access, the services that location actually offers, its own photographs, its own reviews, and what is nearby. Built from your data, not from a paragraph with the town name swapped.
We collect the facts with a short form each branch can complete in ten minutes.
Every profile, consistent and complete
The same business name at every location, the shared primary category, a local phone number where possible, the website link pointing to that location's page, accurate hours and real photos. Duplicates and old addresses found and resolved.
Bulk verification set up for storefront brands with ten or more profiles, so new locations go live quickly. Service area brands verify location by location, so we plan each opening around it.
Citations that agree, location by location
Name, address and phone, the set still called NAP, the same for each location on the directories, data aggregators, maps apps and the site. For a brand with many branches, one moved location left wrong on three directories is enough to make that branch underperform.
Reviews and review replies at scale
A request process every branch can run, and review replies written in the brand's voice but specific to the review, never one sentence pasted under every review at every location. Patterns across branches reported, because the same complaint at six locations is an operations problem, not a marketing one.
Technical SEO for a site with hundreds of pages
Canonicals, structured data, sitemaps, page speed and crawl paths checked across the whole location set rather than on a sample. When a template is wrong, it is wrong four hundred times, so we test the template first.
Keyword research by market
Customers in different regions use different words for the same service, and a branch in a city competes on different terms from one in a small town. We research the markets that matter, and let that shape what each page leads with.
Openings, moves and closures
A checklist for each event: a profile and page ready before a location opens, an address edited rather than a new profile created when it moves, and a closed branch marked permanently closed with its page redirected to the nearest open one. Most brands lose reviews and rankings at exactly these moments.
Reporting by location
Calls, direction requests, bookings and leads for each location, the map position for its main searches, and the conversion rate of its page. Ranked, with the weakest branches named and the reason given.
A system average is the number that hides every problem.
Work you can check
Results you can verify
Ask anyone pitching you which tool produced their figures and what dates they cover. Each of the case studies we publish names both.
Pages for places the business had never covered
Built per place from real data, the same method we use for location pages.
Location pages generated from real dataHolding local results a national spender wanted
Profile rebuilt, content written to the questions customers actually type.
A local brand against national budgetsConsistent details that the assistants repeat
Entity details made consistent everywhere, which is the same job across a set of locations.
Consistent details that AI answers quoteProfiles at scale
The rules Google applies to every location of a chain
Google's guidelines for representing your business include rules written specifically for businesses with several locations. Most brands break at least one, usually because each branch set up its own profile.
One name, everywhere
Google says all locations within the same country must have the same name, unless the business's real world representation consistently varies. A branch manager who renames a profile Brand Downtown Plumbing and Heating, to rank for those words, has broken that rule and invited a suspension of that location.
One shared category
Locations offering the same service must share the category that best represents the business. Additional categories can then reflect what a particular branch genuinely adds, such as a showroom at only some locations. The primary category is the one most often changed by a well meaning branch, and the one that most affects ranking.
A local number and a location page
Google asks for a phone number that connects to the individual location, and a central call centre number only where unavoidable, and for a website that represents the location. Linking every profile to the home page is not forbidden, but it throws away the relevance of the location page and the customer's chance to see that branch's hours before calling.
Departments inside a location
A clinic or a large store may have departments with their own profiles, each with a name different from the main business and from the other departments. Used sparingly, this lets a pharmacy or a service centre appear in its own right; used to multiply listings, it is a breach.
Once a business has ten or more profiles in one spreadsheet, it can request bulk verification, unless it is a service area business, which Google excludes. An agency managing several different businesses in one account cannot, which is why we set it up in your account, with your team as owner.
What changes by business
A multi location SEO strategy shaped to the kind of brand you are
The principles are the same everywhere. What a location page has to say, and what decides a customer, is not.
Healthcare groups and dental groups
A group of practices has two layers of profile: one per practice and, under Google's rules for individual practitioners, possibly one per clinician. The location page has to say which clinicians work there and on which days, which insurance plans that practice accepts, and whether it takes new patients. Multi location dental groups are the commonest case, and the rules for clinician profiles are covered in our work on local SEO for dental groups and practices.
Retail and restaurants
Hours, holiday hours, parking, stock or menu differences between branches, accessibility, and photographs of that shop or dining room. Customers often decide on hours and distance alone, so a wrong holiday time at one branch costs that branch directly.
Automotive service centres
Repair and tyre chains add a compliance layer to every location page. In California, for example, the rules on written estimates shape what a page can promise about price, and each centre's page has to list the work that centre actually does. We cover those rules for single shops and groups in auto repair SEO for service centres.
Service businesses with branches
A plumbing or pest control company with eight depots serves areas rather than receiving customers. Each depot may need a profile with a service area and its address hidden, and each depot page should describe the towns it covers, its response times and its team. Google also excludes service area businesses from bulk verification, so each new depot is verified on its own, which has to be planned into every opening. The temptation here is a page per town, and it is where the doorway line is crossed most often.
Brands across more than one country
Some brands call this multi geo location SEO, and it means a different problem: the same pages in different languages or for different countries. That is handled with hreflang annotations, which tell Google which version suits which audience, on top of everything above.
A franchise system has a second layer: who owns each profile, territory, and a federal rule on recruitment. That is covered in our work on SEO for franchise systems. The location page work on this page applies to both.

Why brands choose Moha as their multi location SEO agency
Most agencies offering multi location SEO for brands sell a page per town and a dashboard of averages. We start by measuring how alike your location pages are, because we have seen what near duplicate pages do on our own site. Then we make the locator crawlable, give each location facts only it can hold, keep every profile within Google's chain rules, and report by location so the weak branches are named. It is slower to set up than a template, and it is the version that does not have to be undone. If you are comparing any SEO agency for multi location brands, ask to see how alike its own location pages are.
Duplication measured
Five word shingles across every pair of pages, not a guess.
No doorway pages
A page for a town only when there is something true to say about it.
Locator fixed
Every location reachable through real links.
Chain rules kept
One name, one shared category, local numbers.
Reported by location
Weakest branches named, with the reason.
You own everything
Profiles verified in your account, with your team as owner.
How it works
Our multi location SEO process
Measure the set, fix the structure, then build each location up, in batches.
Audit
Every location page measured for duplication, the locator crawled, every profile checked against the chain rules, citations sampled by location, and performance ranked by branch. Yours to keep either way.
Fix the structure
Locator links and region pages, canonicals and structured data, profile names and categories corrected, bulk verification set up where Google allows it, pages for towns without a location merged or retired.
Locations, in batches
Location facts collected and pages rewritten in batches, weakest branches first, with duplication measured after each batch so the set keeps getting less alike.
Run and report
Reviews, citations, openings and closures handled as they happen, and a monthly report by location naming the branches that need attention.
Pricing for brands with many locations
What this costs with Moha
One flat monthly figure, quoted after the free audit. No fee per location and no fee per lead. What moves the number is how many locations are in scope, how much of the page set needs rewriting, and how competitive your category is.
For a brand with a handful of locations.
- Duplication audit
- Locator and hierarchy fixed
- Profiles to the chain rules
- Reporting by location
- Dedicated strategist
For brands with ten to fifty locations.
- Everything in Launch
- Location pages rewritten in batches
- Work prioritised ahead of other accounts
- Verification and citations
- Dedicated strategist
For brands with fifty locations and more.
- Every location in scope
- Openings and closures handled
- Reporting by region and branch
- Dedicated strategist and named team
Will SEO pay for itself across your locations?
At these numbers, SEO returns 2.8 dollars for every dollar spent.
How Google finds pages, from Google itself
Google's short explanation of crawling: how its crawler discovers pages by following links from pages it already knows.
For a brand with many locations, that is the whole case for a crawlable locator. A location page with no links pointing to it is a page Google has to find some other way, and treats as less important when it does.
Questions
Questions brands with many locations ask
Taken from what operators and marketers ask in Google's Business Profile and Search Central help communities, plus the phrasings people type into a search box.
What is multi location SEO?
Making each location of a brand findable on its own: a Google Business Profile per location, a location page per location, reviews and citations per location, and a site structure that links them all. SEO for multi location businesses differs from single site SEO because the same work has to be done, and kept consistent, dozens or hundreds of times.
Are location pages doorway pages?
Not if they describe real locations with real detail. Google's doorway examples are pages targeted at cities that funnel users to one page, and substantially similar pages closer to search results than a browseable hierarchy. Thin, near identical location pages can match that; pages with each location's own facts do not.
How different do our location pages need to be?
There is no published threshold. What we can say is what we measured on our own site: pages that shared 90 of 95 sentences were confused by Google. We aim for each page to carry enough facts specific to its location that a reader could tell which branch it describes without the heading.
Should we create pages for towns where we have no location?
Only if you can say something true and specific about serving that town. Otherwise add it to the service area of the nearest branch and mention it on that branch's page. A page per nearby town with nothing local on it is the pattern Google's doorway policy describes.
Can each location use a different business name?
Google says all locations in the same country must share one name unless the real world name consistently varies. A branch adding a district and a service to its name to rank better is breaking that rule.
Should our profiles use a central call centre number?
Google asks for a local number that connects to the individual location whenever possible. If calls must route centrally, use a local number per location that forwards there, so each profile still carries its own phone number.
How do we verify fifty Google Business Profiles?
If your locations receive customers, with bulk verification, which opens once one business has ten or more profiles. Service area businesses are not eligible and verify one location at a time. Bulk verification is requested from the business's own account; agencies managing several different businesses in one account cannot use it.
Can Google see the locations in our store locator?
Check the page source. If the branch names only appear after a postcode is typed, Google sees no links to them. Add a plain list of locations as real links, grouped by region, under the map.
Subfolders or subdomains for location pages?
Either can work. Subfolders keep the location pages inside one site's structure and internal links, which is simpler to maintain and to measure, so it is what we recommend unless something forces otherwise.
Is multi location local SEO different from multi location SEO?
People use the terms for the same work. Strictly, the local part is the profiles, map pack, reviews and citations for each location, and the rest is the location pages, locator and technical work on the site. Results need both.
What about multi location dental groups?
They add a clinician layer: Google treats dentists as individual practitioners, so each practice may have a profile per dentist as well as per practice. Location pages need to say who works where and on which days.
How much do multi location SEO services cost?
Launch is $3,000 a month and Growth $4,800, with brands of fifty locations and more quoted individually. Run the calculator above with your own figures.
How long until results show?
Profile fixes and a crawlable locator can show within weeks. Rewriting location pages and seeing them settle in the rankings takes three to six months, longer for large sets, which is why we work in batches and report as each one lands.
Is this the same as franchise SEO?
The location page and profile work is the same. A franchise adds questions of ownership between franchisor and franchisee and of territory, covered in local SEO for franchise territories, and recruitment content governed by the FTC Franchise Rule.
Do you guarantee every location ranks in the top three?
No. Proximity alone means a branch cannot rank first for a customer much closer to a competitor. We commit to the work and report honestly on every location, including the ones that are not moving.
Should each location page show its own reviews?
Yes, where you can. Reviews of that branch, naming its staff and its service, are some of the few words on a location page that no other page shares, and they are what a customer comparing two nearby branches actually reads.
What should happen to a location page when a branch closes?
Mark the profile permanently closed and redirect the page to the nearest open branch, with a note there that the old one has closed. Deleting the page without a redirect throws away its links and leaves customers on an error page.
What do you need from us?
Access to the site and to the profile account, a list of locations with their managers, and ten minutes from each branch to complete the facts form. We do the rest.
Free audit
Work with an agency that measures your locations first
Send your website and we will send back how alike your location pages are, whether Google can crawl your locator, which profiles break the chain rules, and the changes we would make first. No pitch deck and no long call before you can judge it. Each location then gets the local SEO work a single site gets, kept consistent across the set.
No call required.
Photographs, both CC BY: Galena's Main Street Shops by puroticorico, via Openverse, and Main Street Shopping Centre by Sardaka, via Wikimedia Commons.