Should content agents write city pages for AI search?
City pages can win local AI recommendations or become doorway spam. How to decide which cities earn a page, what goes on it, and how to run a content agent on location pages without losing control.
Content agents make city pages almost free to produce. Give one a template and a list of 60 towns and you'll have 60 drafts by lunch. That's the problem. A page per town with the town name swapped is what Google's spam policies call a doorway page, and AI assistants have no reason to cite a page that says nothing specific about the place.
City pages still matter for AI search, though. When ChatGPT answers "best physiotherapist in Leeds," it needs something about Leeds to cite. If your only page about Leeds is the contact page, a directory or a competitor's location page will fill the gap. So the question isn't whether to have city pages. It's which cities earn one, and how to let an agent help without flooding your site.
Let the city data decide which pages to write
Don't start from a list of towns. Start from what AI answers show when you track by city.
Track the same prompts in each candidate city first. In Promptwatch that means one monitor per city, each with a city code, the same prompts and the same models. City and state targeting are included from Business ($579/mo) and on every agency plan. After two weeks you'll see three kinds of city:
- Cities where you're already recommended. Leave the page alone, or improve it lightly.
- Cities where you're absent and the answer cites a competitor's city page or a local guide. These are page candidates.
- Cities where nobody gets a clear recommendation and the answer is generic. A page might win here, but these are lower priority.
Citation analytics tell you which of the second group are worth it. If the Leeds answer cites a competitor's Leeds page, a page can compete. If it cites a regional directory, a listing there may do more than a page.
What a city page needs before an agent touches it
An agent can structure and write. It can't invent the facts that make a city page worth citing, and you shouldn't let it try. Before drafting, collect for each city:
- the real address or service area, and opening hours if there's a location
- the services actually offered there, which often differ by site
- names of staff or teams based there, if you publish them
- local specifics: parking, transport, languages spoken, partner clinics or suppliers
- anything a local buyer asks that a national page can't answer
If you can't fill in most of that for a city, don't publish a page for it. Track it, and revisit when you have something real to say.
How a content agent loop should work on location pages
On Promptwatch's Business plan, the Content Agent plans, writes and publishes GEO content using content gap analysis, your tracked prompts and competitor data. It includes 10 AEO articles a month. Drafts land in a review inbox, and you can approve, edit or reject each one before it goes live on WordPress (through the official plugin), Webflow or Framer. On Framer, publishing redeploys the whole site rather than a single item.
For city pages, keep the agent on review mode, never fully automated. Feed it the facts above, let it draft against the prompts that city's monitor tracks, and have someone who knows the location check every claim. The agent saves the structure and the research. The human supplies the truth.
Agency plans don't include the automated Content Agent, so agencies on Kick-off, Growth or Scale write these pages themselves using the gap analysis and site audit.
Other suites offer a version of this. Uberall GEO Studio drafts content in its Action Center with an approval step and publishes to WordPress, Shopify, Webflow, Wix or Framer. Birdeye Search AI hands fixes to Blog and FAQ agents. Yext Scout routes recommendations into Yext Pages. Each of them can publish. The question is whether you can check afterwards that it worked.
Check that the page did its job
Publishing is the midpoint, not the finish. Three checks, in order:
- Was it crawled? Promptwatch's Agent Analytics logs AI crawler visits from ChatGPTBot, ClaudeBot, PerplexityBot and others to the new URL, with errors. If no AI crawler has fetched the Leeds page after a few weeks, nothing downstream will change.
- Was it cited? The city monitor and citation analytics show whether answers in Leeds start citing the page.
- Did it bring business? Visitor analytics ties AI-referred visits to conversions, so you know whether the page earned bookings or just a mention.
A page that's crawled but never cited needs better content. A page that's cited but doesn't convert needs a better offer or call to action. A page that's never crawled has a technical problem.
The rule we'd follow
Write a city page when the city data shows a gap a page can fill and you have real local facts to put on it. Let the agent draft, keep a person on approval, and measure crawl, citation and conversion afterwards. That loop, from city monitor to content agent to crawler log, runs in one place on Promptwatch Business, which is why it's the tool we'd use for it.