Skip to content

SEO Engineering · Location pages

How to structure location pages for a multi-location business

Swapping a city name into one template is the fastest way to publish twenty near-duplicate pages. Here is what has to differ per location, how to link the pages together, and how to measure whether they are still copies of each other.

9 min read

Why templated city pages stop working

The usual starting point is sensible: you have twelve locations, so you build one good page and generate twelve versions. The headline, the service list, the benefits and the FAQs are identical, and only the city name changes. It is fast to ship and easy to maintain. It also produces pages that a searcher, and a search engine, can barely tell apart.

Search engines describe this pattern as doorway pages: near-identical pages that exist to capture variations of a query rather than to help someone who is in a particular place. The risk is not a formula or a penalty threshold. It is simpler than that. If page B adds nothing that page A does not already say, there is no reason to show both, and no reason for a visitor to trust either.

What we found when we audited our own city pages

ALCA had 11 city landing pages generated from one factory. Measured on the rendered page text, they were only 26–37% unique (the share of 5-word sequences that appear on no other city page), and a page could repeat a sibling’s copy by as much as 71%. The shared paragraphs also carried claims nobody could support. We rewrote every section per city, and the pages moved to 86–89% unique with no more than 11% overlap with any sibling.

The lesson was not that templates are forbidden. A shared layout is good: it keeps the pages consistent and cheap to update. The problem is a shared body. The layout can repeat; the substance cannot.

What has to genuinely differ on each location page

A useful test: if you covered the city name, could a visitor tell which location they were reading about? If not, the page is a template. Real differences usually come from a short list of sources, and each one should appear only where it is true.

  • The local offering. Which services, products or programs this location actually provides. A location that does not offer a service should not list it.
  • People, hours and facilities. The manager or team at that site, its real opening hours, parking, accessibility and what the building is like. Skip anything you cannot keep current.
  • Location-specific FAQs. Questions customers at that site genuinely ask: where to park, which entrance, how appointments work there, which neighborhoods it serves.
  • Local proof. Reviews, projects, photos or case notes from that location. Borrowing a testimonial from another city is worse than having none.
  • Directions and context. Landmarks, cross streets, transit and nearby areas, written by someone who knows the place.

The rule that keeps this honest is “only where true.” If a location has no staff page, do not invent one; leave the section out. A shorter page with real details outperforms a long page padded with generic claims, and unsupported statements such as “our team knows this neighborhood” are exactly what a reader notices.

Signs a location page is still a template
  • The first two paragraphs would read the same with a different city name.
  • Every location shows the same service list, even though the sites offer different things.
  • The FAQs are identical across locations except for the place name.
  • There is no hours, address, directions or local proof that you could only get from that location.
  • Neighboring pages are interchangeable: you could swap two of them and nobody would notice.

One page per location, or one per service per location?

Start with one page per real location. That page answers “can I use you near here, and what do I need to know first?” It is the natural destination for a map listing and for searches that combine your category with a place.

A second layer, a page for each service in each location, is justified only when the local version of that service genuinely differs and has its own demand: different providers, pricing structure, equipment, regulations or customers. When the only difference is the place name, the second layer multiplies near-duplicates and sets your own pages against each other for the same query.

Choosing the page structure

SituationStructureWhy
Same services everywhere, real site in each cityOne page per locationThe location is the unit customers choose; service detail lives on the service page.
One service genuinely differs by location (different team, rules or inventory)Location page plus a focused local service page for that service onlyThere is something real to say that the location page cannot hold.
Every service in every location, with identical copyDo not build the matrixIt creates cannibalization: several of your pages compete for one query.
Service-area business with no storefrontA small set of area pages tied to real coverage, written around real workAvoids implying sites you do not have.

When many pages are generated from structured data, the same duplication rules apply. See our guidance on programmatic SEO for how to keep generated pages useful.

Duplicates are not always the problem

When we looked at nine Miami service pages that appeared to be duplicates of each other, they measured only about 22% overlap, which is not the issue. The real gap was that none of them linked up to the national parent page that owns the non-local keyword. Before you rewrite pages, measure them; the fix may be a link, not copy.

How the hub, locations and services should link

Think of three layers. A location hub lists every location. Each location page covers one place. National or core service pages cover each service once, without a city. The links should make that hierarchy obvious to people and crawlers.

  1. 1Hub to locations. The hub links to every location page with descriptive anchor text (the place and what is there), not “click here.” Our own markets hub works this way.
  2. 2Location to hub and to siblings. Each location page links back to the hub and, where it helps a visitor, to the nearest or most related location.
  3. 3Location up to the service page. When a location page mentions a service, link to the one page that owns the non-local keyword. This tells search engines which page is the primary result for “service,” and keeps the location page focused on “service in this place.”
  4. 4Service down to locations. Service pages point to the hub so people can find the nearest site.

The upward link is the one most often missing. Without it, every location page tries to rank for the generic service term as well as the local one, and the pages compete.

Keep name, address and phone consistent

Every location has a handful of facts that must match wherever they appear: the business name as it is actually used, the street address, the phone number, the hours and the category. The principle is a single source of truth. One record per location is maintained in one place, and the website, structured data and any profiles or directories are fed from it rather than typed separately.

Inconsistency usually arrives through ordinary operations: a move, a new phone line, a rebrand, seasonal hours edited on one profile and forgotten on the page. Give every location an owner for its data, and decide in advance who updates what when something changes. A workflow where the data is stored once and published to the site is far more reliable than a spreadsheet someone has to remember to copy. Our guide on connecting your website, CRM, calendar and email covers the same single-record idea.

Mismatched data is a trust problem first

A customer who finds two phone numbers or a wrong closing time loses confidence long before a search engine does. Treat consistency as customer service that also helps search.

Measure duplication and performance per location

You do not need special software to check whether pages are copies. Take the visible text of two pages, split each into overlapping five-word sequences, and count how many appear on both. A page whose copy mostly repeats a sibling is a red flag. The same comparison across the whole set shows the share of each page that is unique to it.

Example scenario

A simple duplication check

This is the approach we use on our own pages.

  1. 1Extract the text inside the main content of each location page, leaving out navigation and footer.
  2. 2Break each page into 5-word sequences, moving one word at a time.
  3. 3For each pair of pages, calculate the share of one page’s sequences that also appear on the other.
  4. 4Review the highest pairs first and rewrite the sections that repeat, rather than adding filler.
  5. 5Run the check automatically so a new location cannot ship as a copy. Ours now fails the build when a page overlaps a sibling by more than 35%.

The threshold is a working rule we chose, not a standard from any search engine. Use it as a tripwire and keep reading the pages.

Report by location, not by site

A site-wide total hides which locations work. Track impressions, clicks, calls, direction requests and form submissions per location page, and compare locations against their own history. A location whose page is strong but whose phone number is wrong will look fine in aggregate and still lose customers. If you cannot attribute actions to a location, fix that first; it determines every later decision.

Schema: LocalBusiness only for real locations

Structured data should describe what the page shows. For a location where customers can actually visit, LocalBusiness markup (or a more specific type) with the real address, phone number and hours is appropriate, rendered with the page and matching its visible content. Do not mark up a location that does not exist, and do not give one location another site’s address.

Service-area businesses are different. If you travel to customers or work remotely and have no public address, do not invent one to look local. ALCA is an example: we are based in Georgia with no physical offices, so our market pages use a service-area approach and carry no LocalBusiness address. Claiming a Miami office we do not have would be both inaccurate and a poor foundation for trust.

A good example of the multi-city case done carefully is Salas Resin, where ALCA built local search pages for Miami, Hialeah, Doral, Fort Lauderdale and Pembroke Pines as part of a wider site and search program. If you operate several sites, a multi-location business software approach can keep the underlying records in one place.

Auditing your location pages?

If you operate 5–50 locations and suspect your pages overlap, we can review the structure and the data behind them. Our local SEO service covers the pages, schema and per-location reporting.

Common location-page mistakes

Common mistakes to avoid

Changing only the city name

The pages repeat each other; none offers a reason to be shown.

Building the full service-by-city matrix

Pages cannibalize one another and each is thin.

No link to the owning service page

Local pages compete for the national keyword.

Typing business data in many places

Addresses, phones and hours drift out of sync.

Reporting one site-wide number

Weak locations hide behind strong ones.

Frequently asked questions

How many words should a location page have?

There is no required length. The page should contain enough real, location-specific detail to help someone decide to visit or call. A short page with true hours, directions and local proof is better than a long one built from shared paragraphs.

Are location pages the same as doorway pages?

Not by themselves. Location pages are legitimate when each describes a real place and gives visitors information specific to it. They become doorway pages when many near-identical pages exist mainly to capture place-name variations.

What percentage of a page can be shared across locations?

Search engines publish no percentage. Shared layout, navigation and brand statements are normal. On our own pages we use a 35% overlap limit between siblings as an internal tripwire, which is our rule rather than a search-engine standard.

Do we need a page for every service in every location?

Usually not. Build service-by-location pages only where the local service truly differs and has its own demand. Otherwise one page per location, linking up to the page that owns the service keyword, avoids cannibalization.

Can a business without a storefront have location pages?

Yes, as service-area pages grounded in the work you really do in those places. Do not publish an address you do not have, and do not add LocalBusiness markup that implies one.