A business with three locations usually has one page for them: the contact page, with three addresses stacked underneath each other. From a search perspective that is one page about three places, and it cannot be the clearest answer for any of them. This is not a fringe topic for retail chains. Germany counted 3.5 million (Statistisches Bundesamt) legal units in 2024, and 84 percent (Statistisches Bundesamt) of them have fewer than ten employees. Location pages are therefore the question facing the trade business with two workshops and the practice with one branch office. 72 percent (Eurostat) of people aged 16 to 74 in the EU have looked online for information about goods and services — for a second location, its own page is often the very first contact. This article shows how to build the hub structure, what belongs on each individual location page, where the line to a doorway page runs, and which technical groundwork has to sit underneath.
Key takeaways
- Every location gets its own address on the website, not a paragraph on the contact page. A hub page collects them, links to them and makes the structure readable for visitors and crawlers alike.
- Each location page needs a complete NAP block of name, address and phone number, plus opening hours, directions and a contact person who actually works there.
- Only 3.97 percent (Web Almanac 2024) of mobile pages mark up a local business in structured data. Anyone who sets LocalBusiness properly per location is working in a field most sites leave empty.
- What separates a location page from a doorway page is the content: dedicated services, dedicated contacts and dedicated photos instead of a list of place names in the title and headline.
- The technical layer decides the rest: a canonical per page, hreflang for locations in several countries, sitemap splitting at 50,000 URLs (sitemaps.org) at the latest, and internal linking that keeps every location page reachable.
Why a location needs a page of its own
The question comes up in almost every relaunch conversation: isn't one contact page with three addresses enough? From the visitor's point of view sometimes yes, from a search point of view rarely. A page can only be the clearest answer to one topic. Put three places on it and they compete for the same headline, the same title and the same internal links. The title is no side detail here: 98.62 percent (Web Almanac 2025) of desktop pages have a title element at all. The difference is therefore not that it exists, but whether the place name appears in it — and a shared page can do that for at most one of the three. The same applies to the meta description, present on 67.7 percent (Web Almanac 2025) of desktop pages and 67.2 percent (Web Almanac 2025) of mobile pages: the tag is standard, its wording is not.
Then there is the shape of the market. 84 percent (Statistisches Bundesamt) of legal units in Germany employ fewer than ten people. A business running two or three locations rarely has a dedicated team for visibility and needs a structure that holds up without weekly maintenance. That is exactly what splitting into a hub page and location pages is for: it decides once where each piece of information lives, and turns adding a fourth location into routine rather than a project. How that order reaches the navigation is covered in our article on website structure and information architecture.
Simply having a website stopped being a differentiator long ago. In the EU, 79.01 percent (Eurostat) of enterprises with ten or more employees had their own website. The spread inside that group is telling, though: among small enterprises with 10 to 49 employees it was 76.66 percent (Eurostat), among large enterprises with 250 or more employees 95.65 percent (Eurostat). For the smaller business the deciding question is no longer whether a site exists, but whether the existing site makes each location findable on its own. The starting point is on our page about local SEO and local visibility.
A location page and a contact page are two different things
What belongs on every location page
The core of every location page is the NAP block: name, address, phone number — in one place, in one spelling, identical across every version of the page. It sounds trivial and is not. The moment an address appears once as “St.” and once as “Street”, the moment a central switchboard number displaces the local one, you create exactly the ambiguity a location page is supposed to resolve. Add the opening hours of that site, directions by car and by public transport, the parking situation, and a contact person who genuinely works there.
Beyond that the page needs content only this place has. That is where most location pages fail: they copy the service text from the main page and swap the place name. 66.36 percent (Eurostat) of enterprises in the EU describe goods and services on their website, so the description itself is the norm. The difference appears where that description becomes location-specific: which services exist here and which do not, which machines are on site, which team, what the appointment situation looks like. That is the work no template takes off your hands, and it is the real reason a location page ranks or does not.
The page is mostly opened on the move — almost 9 out of 10 (Eurostat) internet users in the EU used mobile devices to connect to the internet. For the location page that has very concrete consequences: the phone number as a tel link, the address tappable for the navigation app, opening hours visible without scrolling, the directions text ahead of the photo gallery. What passes as “further down the page” at a desk is a dead end at the kerb.
NAP block
Name, address and phone number of the location in a single spelling, present as text rather than baked into a graphic.
Opening hours
Regular hours, deviations on public holidays and a note on whether appointments are required. Maintaining this takes a share of the phone questions off the table.
Directions and parking
How to approach the site, where to park, which stops are within walking distance. Ten minutes of writing answers one of the most common questions on the phone.
The team on site
Who works here, who is the contact, which languages are spoken. Names turn an address into a place.
Services at this site
What is possible here and what is handled at another location. That boundary prevents journeys that help nobody.
Photos of this place
The building, the entrance, the interior. A stock photo of an office chair answers no question; a photo of the driveway does.
- The title and the headline carry the place name where it is actually read, not as an appended suffix.
- The meta description names the place and the service instead of repeating the main page's text.
- The NAP block sits in the HTML as text, not as an image and not only in the footer.
- Directions describe the route in words so they work without an embedded map.
- Every location page links back to the hub page and across to the relevant service pages.
- Images carry alternative text that names the place instead of reading “image1”.
The hub page as a distributor
Above the individual location pages sits an overview: the hub page, usually at an address like /locations/. It has three jobs. First, it is the landing page for every query without a place reference — someone searching only the company name lands here and then chooses. Second, it distributes internal links: every location page is one click away from here, and the hub itself hangs in the main navigation. Third, it is where new locations are attached without rebuilding the navigation.
The numbers behind this are unspectacular and therefore meaningful: the median desktop page carries 43 internal links (Web Almanac 2025). A location page reachable only through the sitemap sits far below what a normal page receives in linking. A breadcrumb navigation belongs alongside it, mapping the path from the home page through the hub to the location — 28 percent (Web Almanac 2025) of desktop inner pages carry BreadcrumbList markup, which makes it one of the most widespread structured data types there is. It costs little and makes the hierarchy visible even when somebody enters directly on the location page.
The hub page is not a link directory
Structured data per location
A location page without markup works, but it gives away the chance to hand over address, opening hours and geo coordinates in machine-readable form. The size of that opportunity shows in the corpus: around 50 percent (Web Almanac 2025) of home pages contain structured data at all, yet only 3.97 percent (Web Almanac 2024) of mobile pages mark up a local business as LocalBusiness. Doing this properly means working in an area where the field is thin. We covered the fundamentals in our article on rich results and structured data.
One rule matters for location pages and is regularly missed: every page gets its own LocalBusiness entry with its own @id, its own address and its own opening hours. A shared entry on the hub page listing all three locations puts the information exactly where it is not read. For businesses with several departments at one site the documentation provides a different construction: departments with different hours or phone numbers are expressed through department, not as separate locations.
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"@id": "https://www.company.example/locations/hanover/#location",
"name": "Example Company — Hanover site",
"url": "https://www.company.example/locations/hanover/",
"address": {
"@type": "PostalAddress",
"streetAddress": "Beispielweg 12",
"postalCode": "30159",
"addressLocality": "Hannover",
"addressRegion": "Niedersachsen",
"addressCountry": "DE"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 52.37589,
"longitude": 9.73201
},
"priceRange": "$$",
"image": "https://www.company.example/images/location-hanover-1200x900.jpg",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "08:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "09:00",
"closes": "13:00"
}
]
}Four details in that block decide whether the markup is clean. They are stated in the documentation and quick to check.
- Geo coordinates with at least 5 decimal places (Google Search Central). Four places already mean a shift of several metres depending on latitude — at a yard entrance that is the whole difference.
-
priceRangeunder 100 characters (Google Search Central). The field is meant for a range, not for a price list; longer statements belong in the page text. - Images of at least 50K pixels (Google Search Central) measured as width times height. A 200 by 150 pixel thumbnail carried over from the old site falls below that.
- Open around the clock stated as
00:00to23:59(Google Search Central). A 24-hour drop-off point uses exactly those values rather than free text.
Markup does not replace content
Where the line to a doorway page runs
Creating a page for every town in the catchment area is an obvious idea and quickly leads in the wrong direction. The difference is not the number of pages but their content. A location page represents a place where somebody actually works, with its own address, its own team and its own hours. A doorway page represents a place name where nothing stands, and forwards the visitor. The search engine policy names this pattern explicitly as unwanted.
Having multiple domain names or pages targeted at specific regions or cities that funnel users to one page
Businesses without a storefront have a clearly defined route of their own. If you travel to the customer, you describe the service area instead of building individual town pages. The documentation names a concrete ceiling: a service area should not extend beyond about 2 hours of driving time (Google Business Profile Help). That usually settles the question of whether a town 40 kilometres away deserves a page: it gets a paragraph inside the service area, not a location page.
| Aspect | Location page | Doorway page |
|---|---|---|
| Address | Its own address where work is done | A place name without an address, or the head office address |
| Content | Services, team and photos of this place | A text block with the place name swapped out |
| Purpose | The visitor finds the site and its hours | The visitor is funnelled to one central page |
| Number of pages | As many as there are locations | As many as there are place names nearby |
| Maintenance | Hours and staff are maintained on site | Nobody maintains them, because there is nothing to maintain |
| Markup | Its own LocalBusiness entry per page | No entry possible, because there is no address |
Technical layer: canonical, hreflang and the sitemap
Location pages inevitably resemble each other, which is exactly why each one needs a self-referencing canonical. That much is common practice by now: 68 percent (Web Almanac 2025) of desktop pages and 67 percent (Web Almanac 2025) of mobile pages set a canonical in the HTML. The more interesting figure sits next to it: on 2.71 percent (Web Almanac 2025) of desktop sites and 3.02 percent (Web Almanac 2025) of mobile sites the rendered canonical differs from the delivered one. When a script sets the canonical after the fact, a location page can quietly end up pointing at the hub — and drops out of search without anybody having changed anything. Checking the rendered source therefore belongs on every technical SEO checklist.
Once locations sit in several countries, hreflang joins in. It is rare enough to be worth mentioning: 20.3 percent (Web Almanac 2025) of desktop pages carry hreflang markup at all. And the need is real — 29.51 percent (Eurostat) of enterprises in the EU offer website content in at least two languages. For location pages that means the German and the English version of one site reference each other, not the German versions of two different sites. What the markup looks like in detail is covered in our article on the multilingual website with hreflang.
That leaves the sitemap. With three locations it stays unremarkable; as soon as a business runs location, service and combination pages, it grows quickly. The limits are stated plainly: a single sitemap file must not exceed 50 MB or 50,000 URLs (Google Search Central), and the protocol itself names 50,000 URLs and 52,428,800 bytes (sitemaps.org) as the ceiling. Above that you split into several files and put a sitemap index in front. In practice a separate sitemap file for the location pages pays off, because the indexing status of that block can then be read separately in Search Console.
Profiles, service areas and the day after
The website is one half, the business profile the other. Every location with its own address gets its own profile, and every profile points at the matching location page — not at the home page. That link is why the effort spent on an individual page pays off: it is the destination the listing points to, and the reason local visibility and the website should not be planned separately. How a profile is maintained is covered in our article on the business profile in local search.
Beyond a certain size the route changes. The documentation draws the line at 10 or more locations (Google Business Profile Help): from that count upwards, importing through a spreadsheet is the intended path rather than editing by hand. The same logic applies to the website — anyone still maintaining ten pages one at a time will eventually stop maintaining them at all. The structure therefore has to be built from the start so that hours, phone numbers and addresses come from a single source.
The day-to-day afterwards is unspectacular, which is precisely why it gets overlooked. Holiday hours, a change of contact person, a new phone number, a rerouted approach because of roadworks: small changes that land on three pages at once and get forgotten in three places. A fixed appointment twice a year, at which all location pages and all profiles are checked side by side, is the simplest answer. How to run such a pass systematically is described in our article on the content audit of ageing website content; and if that pass also touches prices or promotions on the location pages, the legal guardrails are in the article on strike-through prices and the 30-day rule.
If you would rather not run that pass yourself, you can hand it over — ongoing maintenance is part of our website care, building the structure part of our web design work. Which building blocks come together and what they cost is on the pricing overview; the editorial side of it — keywords, structure, copy — sits with search engine optimisation.
The effort sits at the start, not in the upkeep
Sources and studies
department field on the main entry rather than set up as separate locations.Related Articles
Local SEO: Optimize Your Google Business Profile
How local businesses optimize their Google Business Profile, keep NAP data consistent, build reviews credibly and grow their local visibility in search.
Medical Practice Websites: What the Rules Allow
Advertising law, professional codes, legal notice and health data: what a medical practice website may say and how enquiries arrive on a sound legal basis.
Digitalisation in the Trades: A Website That Works
Why a good website brings tradespeople orders and applications, which functions really matter and what you should know about funding options.