The pattern
People add a place to almost any search: "things to do in Lisbon", "homes for sale Austin", "best internet providers Denver". A location page set has three parts:
- A place list: cities, regions, neighborhoods or routes.
- Data per place: listings, prices, scores, reviews.
- A template that puts that data at the top.
12 live examples
| Site | URL pattern | What changes per city |
|---|---|---|
| Tripadvisor | tripadvisor.com/Attractions-g{id}-Activities-{City}.html | Ranked attractions from traveler reviews |
| Airbnb | airbnb.com/{city-region}/stays | Live listings, prices, ratings |
| Zillow | zillow.com/{city-st}/ | Homes for sale and the Zillow Home Value Index |
| Kayak | kayak.com/flight-routes/{Origin}/{Destination} | A real fare in the title ($239 NYC to London when checked) |
| Skyscanner | skyscanner.com/routes/{from}/{to}/... | Fares, airlines, cheapest months |
| Nomads.com | nomads.com/{city} | Member scores for cost, internet, safety |
| Numbeo | numbeo.com/cost-of-living/in/{City} | Crowd-sourced prices (12,883 cities) |
| Data USA | datausa.io/profile/geo/{place-st} | Public government data as charts |
| Walk Score | walkscore.com/{ST}/{City} | Its own walkability score |
| GreatSchools | greatschools.org/{state}/{city}/ | School ratings |
| Speedtest | speedtest.net/performance/united-states/{state}/{city} | Ookla's own speed results by provider |
| Weather Underground | wunderground.com/weather/us/{st}/{city} | Forecasts and station data |
Want the data source and the sibling URLs for each? They are in our 50 programmatic SEO examples guide.
What all 12 have in common
- The data is local and hard to fake. Kayak's fare, Speedtest's measured speeds and Numbeo's prices exist only for that place.
- Most of the data is first-party. Speedtest runs the tests. Walk Score computes the score. Nomads.com members write the reviews.
- A second variable adds depth, not copies. Tripadvisor has city pages, then category pages inside each city (parks, free things, with kids). Each still lists different places.
- The numbers refresh. Numbeo puts the month in the title. Zillow shows the date of its last update.
When NOT to build a location page
This is where most location page sets go wrong. Do not build a page for a place where you:
- have no office, staff, stock or service area
- have no local data: no reviews, no prices, no listings
- would write the same paragraph with a new town name
Google's spam policy names "many pages that make little or no sense to a reader but contain search keywords" as scaled content abuse. A "plumber in {town}" page for a town you do not serve fits that.
Worked example: brightsmile-dental.com (fictional)
A dental group with six clinics. The weak plan is 300 pages, one per suburb, with the same text. The strong plan is six pages, one per clinic:
| Section | What goes in it |
|---|---|
| Top | Clinic name, address, hours, a "book" button |
| Team | The dentists who work at that clinic, with photos |
| Services | What that clinic offers (not every clinic does implants) |
| Insurance | Plans accepted at that clinic |
| Reviews | That clinic's own patient reviews |
| Getting there | Parking, transit, accessibility |
Six real pages beat 300 thin ones, and each one can rank for "dentist in {city}" because it proves the clinic is there.
How to launch and check
- Build the template on one city. Read it as a stranger would.
- Publish a small batch, link it from a "Locations" hub page, and add it to your sitemap.
- After 4 to 8 weeks, check Search Console. In Page indexing, look for "Crawled - currently not indexed". In Performance, filter by the folder and look for impressions on "{service} {city}" queries.
- Fix the template before adding more places.
SEOmatic can build location pages from one of your own pages; each batch waits for your approval.
How to use this with an AI assistant
Connect SEOmatic at https://seomatic.ai/mcp and ask: "Use campaign_manage propose_location_pages on mysite.com in enrich mode, modelled on my best clinic page, and show_approval_cards so I can review each page." Staging needs the 14-day trial, and nothing is published until you approve it.


