Multi-location SEO comes down to five things: one verified Google Business Profile per real location, one useful page per location on your website, a store locator that search engines can crawl, consistent data everywhere, and a review flow that runs at every site. Each location then ranks on its own in Google Maps, against the competitors near it.
The hard part is keeping it right at scale. A single wrong phone number is a typo at one location. Across 80 locations it is a process problem.
This guide covers the profile setup Google requires, bulk verification for 10 or more locations, how to build location pages that rank, structured data, reviews per location, and how to measure each site.
Set up the profile structure
Google's guidelines for representing your business set the rules every multi-location brand works within:
| Rule | What Google says | What it means in practice |
|---|---|---|
| One profile per location | "Do not create more than one page for each location of your business" | Audit for duplicates before you add anything |
| Consistent name | Your name should match your real-world name "as used consistently on your storefront, website, stationery" | Same brand name at every location; no city or keyword added to the name |
| Real address | "Create your Business Profile for your actual, real-world location" | No virtual offices or mailboxes as locations |
| Location phone | A number "that connects to your individual business location" | A local line per location, or a central number only when that is genuinely how customers reach you |
| Location website | A website "that represents your individual business location" | Link each profile to that location's own page |
| Departments | Public-facing departments that operate as distinct entities can have their own profile with a different name | A clinic's pharmacy or a dealer's service center can qualify |
Name every location the way customers know it: the brand name on the sign. Adding a city, a neighbourhood or "best dentist" to the name breaks the name rule and invites a suspension report from a competitor.
Organise profiles into groups
Business Profile Manager lets you keep locations in business groups, which control who can manage which profiles (Google). Set them up before you add regional managers or agencies, so each person has access only to the locations they run.
Verify 10+ locations in bulk
Verifying 50 profiles one postcard at a time is slow. Google offers bulk verification for chains. From Google's help page:
- You need 10 or more eligible profiles for the same business. Duplicate, suspended or disabled profiles do not count.
- The business cannot be a service-area business.
- Your spreadsheet must include every profile you manage for the business.
- You request it in Business Profile Manager under Verifications, then Chain. Uploading a spreadsheet on its own does not send a verification request.
- Google may ask for video verification from an authorised representative at a location.
Google does not publish a timeline. Plan for a back-and-forth review and keep someone available to answer.
Bulk upload and store codes
You can add and edit locations with a spreadsheet (Google's template guide). The field that causes the most damage is the store code:
- Give every location a unique code before you import (Google's own example: "GOOG1", "GOOG2", "GOOG3").
- Never change a location's code in a spreadsheet. Google warns that adding or changing a store code on an existing location through upload "will create a duplicate location" (Google).
- To edit existing locations, download the current sheet, change only what you need, and re-upload with the same codes.
Keep the store code in your own systems too (CRM, POS, analytics). It becomes the key that ties a location's profile, page, reviews and leads together.
Build location pages that rank
Each location needs its own page on your website. That page is what the Google profile links to, what ranks in organic results for "[service] in [city]" searches, and what AI assistants read when they describe the location.
What every location page needs
- The location's name, address and phone as text, matching its Google profile exactly.
- Hours, including holiday hours.
- An embedded map and driving or transit directions from nearby landmarks.
- The services offered at this location (they often differ).
- Staff or providers at this location, with photos.
- Reviews from this location's customers.
- Parking, accessibility and entrance details.
- Photos of this location, inside and out.
- A clear call to action: call, book or get directions.
- LocalBusiness structured data (see below).
Make each page genuinely different
Google's spam policies define doorway abuse as pages "created to rank for specific, similar search queries," and list pages aimed at particular regions or cities that funnel users to one page as an example. A template where only the city name changes is the classic pattern.
Pages for real, staffed locations are legitimate. Thin ones still underperform. The details above (local staff, local services, local reviews, directions, photos) make each page useful and different. If you cannot write anything specific about a location, that is a sign the page needs more local information before it will rank.
URL structure
Use one consistent pattern and stick to it:
| Pattern | Example | Good for |
|---|---|---|
| /locations/city/ | /locations/austin/ | One location per city |
| /locations/state/city/ | /locations/tx/austin/ | Brands across many states |
| /locations/city/neighbourhood/ | /locations/austin/south-lamar/ | Several locations in one city |
Add state and city hub pages when you have many locations per area. They give users and crawlers a clean path from the locator to each page.
Make your store locator crawlable
Many store locators load every location through JavaScript after a search box submission. Users can find locations; crawlers often cannot, so location pages end up orphaned.
Google's guidance on crawlable links is that Google can follow links only when they are <a> elements with an href attribute. For a locator, that means:
- Keep the search-and-map interface for users.
- Add a plain HTML directory of all locations, grouped by state and city, with standard links to every location page.
- Link to the directory from the footer.
- List every location page in your XML sitemap.
Test it by viewing the raw page source. If the location links are missing from the HTML, crawlers may be missing them too.
Add structured data per location
Google's local business structured data guide asks you to define each location as its own LocalBusiness type, using the most specific subtype available (for example Dentist, AutoRepair, Restaurant).
Required properties are name and address. Recommended properties that matter most for multi-location brands:
| Property | What to put | Why |
|---|---|---|
url | The location page URL | Ties the markup to this specific location |
telephone | The location's number, with country code | Must match the profile |
geo | Latitude and longitude, at least 5 decimal places | Google asks for this precision |
openingHoursSpecification | Hours per day, with seasonal closures | Matches the profile hours |
department | Nested LocalBusiness for a department | Pharmacy, service center, urgent care |
Put the markup on each location page, describing that location only. Check it with the schema validator before you roll it out to every page.
Run reviews at every location
Reviews are counted per profile, so a brand with 4,000 reviews can still have locations with 12. In BrightLocal's 2026 survey of 1,002 US consumers, 47% said they would not use a business with fewer than 20 reviews, and 74% only consider reviews written in the last three months (BrightLocal, 2026).
What works at scale:
- One review link per location. Each profile has its own link. Generate them with the Google review link generator and store them against the store code.
- Ask at the moment of service. Put the request into the visit flow at each site (receipt, follow-up text, email) so it does not depend on one manager remembering.
- Report reviews by location. Rank locations by new reviews in the last 90 days. Give the bottom five the most attention.
- Reply locally. Replies signed by the location manager read better than one corporate template pasted 200 times.
- Stay inside the rules. Google's review tips allow asking every customer; the FTC's 2024 rule bans buying reviews and fake reviews, including AI-generated ones (FTC).
Our guide on how to get more Google reviews has request scripts you can hand to each location.
Measure each location separately
A brand dashboard that averages all locations hides the problems. Measure at the location level:
| Metric | Where it comes from | What it tells you |
|---|---|---|
| Maps rank across the area | A geo-grid scan around each location | Where each location wins and loses, street by street |
| Profile calls, direction requests, website clicks | Business Profile performance | Which locations turn views into visits |
| Organic clicks to each location page | Search Console performance report, filtered by page | Whether location pages rank |
| New reviews in the last 90 days, and rating | Each profile | Whether the review flow is running |
| Leads and bookings by location | Your CRM, keyed by store code | What the search work is worth |
Rank in Google Maps changes with the searcher's position, so one search from head office tells you little about a location 300 miles away. A geo-grid rank tracking scan places a grid of points around a location and records the Maps rank at each one. Rank.ai's map scan runs 3x3, 5x5 or 7x7 grids around any location on demand, which makes it practical to compare locations on the same keyword.
For a fuller view of how we approach brands with many sites, see Rank.ai for multi-location businesses.
A 90-day rollout plan
| Weeks | Work | Done when |
|---|---|---|
| 1 to 2 | Inventory every location; find and resolve duplicate profiles; assign store codes | One profile per location, each with a permanent code |
| 2 to 4 | Request bulk verification (10+ locations); set up business groups and access | All locations verified; managers have scoped access |
| 3 to 6 | Standardise NAP across website, Google, Apple, Bing and aggregators | Every source matches the canonical sheet (NAP guide) |
| 4 to 8 | Build or rebuild location pages; add the crawlable directory and structured data | Every location page indexed and linked from its profile |
| 6 to 12 | Launch per-location review requests; baseline map scans for each location | Review velocity reported per location |
| Ongoing | Monthly location report; fix the weakest five | Bottom locations improving quarter on quarter |
FAQ
Do I need a separate Google Business Profile for each location?
Yes. Google's guidelines require one profile per real-world location that serves customers, and forbid more than one profile for the same location. Each profile should link to that location's own page on your website.
How many locations do I need for bulk verification?
Google requires at least 10 eligible locations of the same business, and the business cannot be a service-area business (Google). Duplicate, suspended or disabled profiles do not count toward the 10. Smaller groups verify each location individually.
Should each location have its own website?
Usually no. One domain with a page per location keeps your authority in one place and is easier to maintain. Separate sites make sense only when locations operate as genuinely different brands. Whatever you choose, each Google profile should link to a page about that specific location.
Can I use the same content on every location page?
Shared brand copy (your story, your guarantee wording) is fine in moderation. The bulk of each page should be specific to the location: staff, services offered there, directions, reviews and photos. Pages that differ only by city name match Google's description of doorway abuse.
Why does one location rank well and another poorly for the same keyword?
Maps rank depends on distance to the searcher and on each location's own relevance and prominence. A location with fewer reviews, a weaker category match or a competitor sitting closer to its customers will rank lower. A geo-grid scan around each location shows exactly where the gap is.
Should every location use the same primary category?
Use the category that best describes what each location does. If one site is a full-service clinic and another is urgent care only, their categories should differ. Matching categories to the real service is one of the strongest relevance levers in Google Maps.



