One page per city, or per service and city pair, built from a places dataset you already have. This is the pattern behind Nomad List, Tripadvisor, and Yelp: someone searches "plumber in austin", and the site with a real page for that exact query wins. The catch is substance — each page needs that city's own facts, not a find-and-replace on the city name.
GET /plumber-in-austin
GET /coworking-in-lisbon
made famous by Nomad List, Tripadvisor, Yelp
When to use it
Your sheet
| service | city | region | provider_count | avg_price | top_neighborhoods |
|---|---|---|---|---|---|
| plumber | Austin | Texas | 34 | $120–$160 per visit | Hyde Park, East Austin, Zilker |
every row becomes a page — add an AI-filled column for per-row unique copy
Build it
Paste rows from Sheets or import a CSV — one row per service and city pair. Bring the local facts along: provider counts, average prices, neighborhoods covered. Two columns (plumber, Austin) become the slug /plumber-in-austin.
Add a column and let AI write a per-city intro grounded in that row's data — "34 plumbers, average visit $120–$160" — so Austin's page says something Lisbon's can't. No hand-writing 200 city blurbs.
Hit generate — the whole city list ships at once as cached HTML, titles, canonicals, sitemap and robots handled. Preview on the free subdomain, index from your custom domain. Entering a new city later means adding a row and regenerating.
SEO notes
FAQ
Only if they're the same page with the city swapped. When each row carries its own provider counts, prices, and neighborhoods, the pages differ in substance — that's the line between a location page and a doorway page. Rows without real local data shouldn't become pages.
No. These pages target organic results, not the map pack — a directory can rank for "coworking in lisbon" without a Lisbon address, as long as the page actually covers Lisbon spaces. The map pack is a separate game tied to Google Business Profile.
Start at the city level — that's where search volume concentrates. Go down to neighborhoods only in cities with enough listings that each neighborhood page stands on its own data; otherwise you're splitting one good page into five thin ones.
Related patterns
A profile page per company, person, or product from a structured dataset. Entities are what AI engines retrieve.
Ranked roundups pairing a category with a qualifier. Endless head-term × modifier combinations.
Curated data pages journalists and writers cite. Doubles as backlink bait and AI-citation bait.
Bring your dataset, pick this pattern, and Manypages generates and hosts the pages — sitemap, robots and canonicals handled.