A single service page beats separate city pages whenever you cannot fill each city page with genuinely distinct local content. The pivot is not how many places you serve, it is whether you can prove you serve them. If a second city page would carry the same copy as the first with only the place name swapped, you do not have two pages, you have one page and a doorway. The deciding question is simple and unforgiving: can you put real value on this city page, or are you spinning a template?
Separate city pages earn their place when you have local proof to put on them. That means reviews from clients in that city, photos of projects you actually completed there, a physical address or service crew based nearby, pricing or regulations specific to the area, and a service distinction that genuinely differs from your other markets. When each page carries that kind of substance, the cities are distinct entities to a search engine and to a reader, and splitting them helps. The page deserves to exist because something real lives on it.
The common reflex is to make a page per city because someone said local SEO demands it. That habit produces dozens of near-identical pages that dilute each other and look, correctly, like manufactured doorways. A search engine sees the duplication and either ignores the extra pages or treats the cluster as low quality. You spread your authority thin across pages that say nothing new, and the single strong page you could have built never gets the chance to rank well anywhere.
So the working test runs city by city. For each market, ask whether you have at least a handful of the local proofs above. If you do, that city earns a page. If you do not, fold it into a single well-built service page that names the regions you cover, lists representative work, and lets one strong asset carry the intent for the whole area. One substantial page outranks ten hollow ones.
When you sit down to plan your geographic pages, sort your cities into two piles: those where you can fill a page with real, specific, local content, and those where you cannot. Build pages only for the first pile, and let a single strong service page serve the rest until the proof exists to split them out.