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.

Thank you. We have your details and will send the audit back shortly.

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

A main street of brick shopfronts with cars parked along the kerb
Every location is a separate search, decided street by street
4patterns Google's spam policy lists as doorway abuse, two of them about pages per cityGoogle Search Central, spam policies
10storefront profiles for one business, the point at which bulk verification opensGoogle Business Profile Help
1category every location must share if it offers the same serviceGoogle Business Profile Help
903pairs of our own location pages we measured for duplicationMoha, own site, September 2026

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.

What separates a doorway from a location page A doorway pagewhat Google's spam policy describesBuilt for a queryA page exists because a town name has search volumeSwap the place nameThe rest of the page is the same as its siblingsFunnels the visitorThe useful part is somewhere else on the siteSits outside the siteReached from a footer list, not from a locatorExists to rank. Removed or demoted when found.A location pagewhat a location deservesBuilt for a placeA page exists because a location serves people thereFacts only it can holdAddress, hours, staff, parking, photographs, servicesUseful on arrivalA visitor can book, call or get directions from itPart of a hierarchyReached from the locator, the region page and the profileExists to serve a place. Ranks because it is useful.
Left panel summarises the doorway examples in Google Search Central's spam policies, read October 2026. Right panel is our standard for a location page.

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.

What does not count

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.

Our rule of thumb

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.

Our 43 city pages, measured with five word shingles WHAT DUPLICATION LOOKED LIKE ON OUR OWN LOCATION PAGES90 of 95sentences on one city pagecopied word for word onanother85.0%median overlap across all 903pairs of pages, 33.5% afterthe rewrite242pairs of pages more than 90%identical, none after therewrite99.1%overlap between the two pagesGoogle had swapped, 29.6%after
Source: Moha's own site, measured September 2026. Overlap is the share of five word sequences two pages have in common.

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.

Measure it the right way

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.

The quiet failure

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.

01 · The Map Pack

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.

02 · The organic results

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.

03 · AI answers

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.

A useful test

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.

Check yours in a minute

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.

01

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.

Every pair comparedWorst sections namedMerge or retire list
02

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.

Real linksRegion pagesNo orphans
03

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.

Local factsOwn photographsOwn reviews
04

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.

Names consistentCategory sharedVerification planned
05

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.

NAP per locationMoves trackedClosures handled
06

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.

Process per branchSpecific repliesPatterns reported
07

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.

Whole set checkedTemplate firstSchema per location
08

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.

By marketLocal phrasingPer page priorities
09

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.

Opening checklistReviews kept on movesClean closures
10

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.

Per locationWeakest namedReasons given

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 per place, from data

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 data
Against national brands

Holding local results a national spender wanted

Profile rebuilt, content written to the questions customers actually type.

A local brand against national budgets
Quoted by AI answers

Consistent 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 quote

Profiles 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.

Google's rules for a business with several locations WHAT GOOGLE CHECKSTHE RULE FOR EVERY LOCATIONTHE DETAILBusiness nameSame at every location in the countryUnless the real world name consistently variesCategoryThe one category that best represents the businessShared by every location offering the same servicePhone numberA local number for that locationRather than a central call centre wherever possibleWebsiteA page that represents that locationNo URLs that redirect to a landing pageVerificationBulk verification from 10 profilesNot for service area businesses or agency accounts
Sources: Google Business Profile Help, guidelines for representing your business, and bulk verification, read October 2026. Wording paraphrased from Google's.

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.

Bulk verification

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.

Franchised, not owned?

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.

A tree lined shopping street with red lanterns strung overhead
Why Moha

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.

1Weeks 1 and 2

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.

2Weeks 3 to 6

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.

3Months 2 to 4

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.

4Month 4 on

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.

Launch
$3,000 /mo

For a brand with a handful of locations.

  • Duplication audit
  • Locator and hierarchy fixed
  • Profiles to the chain rules
  • Reporting by location
  • Dedicated strategist
See the Launch plan
Growth · most chosen
$4,800 /mo

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
See the Growth plan
Scale
Custom

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
Book a strategy call

Will SEO pay for itself across your locations?

27new customers a month
$13,500value a month
2.8xvalue for each dollar spent
32enquiries a month to break even

At these numbers, SEO returns 2.8 dollars for every dollar spent.

Watch

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

Thank you. We have your details and will send the audit back shortly.

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.