Ten templated city pages with the name swapped will lose to three pages written specifically about three markets. Google has filtered near duplicate location pages for years, and a site full of them does not simply fail to rank. It can drag down the pages around it.
Why the templated approach stopped working
The old method was one page per city, identical except for the city name, occasionally with a map embed and a list of neighborhoods for bulk. At one point it worked, because there was not much else competing.
It stopped working for a straightforward reason. Those pages contain no information. A reader in Delray learns nothing they could not have learned from the Boca version, and search engines got reliably good at detecting the pattern. Sites carrying dozens of them now frequently see them excluded from the index entirely, which is the system telling you plainly what it thinks.
What a location page needs to earn its place
Something true about that specific market
The competitive landscape, the type of business concentrated there, the seasonal pattern, the regulatory quirk, the thing that makes work in that city different from work twenty minutes north. If you cannot name one, you may not know the market well enough to have a page about it.
Work or experience connected to the place
Specific and verifiable beats general and flattering. If you have no work in a city, that is a strong argument that the page should not exist yet.
Language the market actually uses
Vocabulary changes measurably across short distances in South Florida, and a page written in the averaged language of a keyword tool sounds like nobody.
A genuine reason to contact you from that page
Response time to that area, coverage, whether you travel there, what a project there typically involves.
How many pages you should actually have
Start with one, for your primary market, and make it the best page on the site for that term. Add a second only when you can write something meaningfully different.
Most South Florida service businesses can genuinely support three to six. Beyond that, honesty becomes difficult and the marginal page starts costing more than it returns.
The exception is a business with real physical presence in many places, which is a different structure and a different problem.
Structure that works
Keep them at a consistent depth, like /services/web-design/west-palm-beach/ or /west-palm-beach-web-design/. Either is fine. Consistency matters more than the choice.
Link them from a service area page rather than burying them in the footer, so there is an actual hierarchy rather than a pile.
Use areaServed in your structured data, which lets you state your coverage precisely without needing a page for every city and without publishing an address. This matters particularly if you have no Google Business Profile.
The test
Put two of your location pages side by side and delete every occurrence of the city name from both. If you cannot then tell which is which, they are the same page and Google already knows.
What to do with pages you already have
Most businesses reading this already have a set of templated city pages, and the instinct is to delete them all. That is usually the wrong first move.
Check first, in Search Console, which of them receive any impressions or clicks. Frequently one or two do, because they happened to be the ones that got links or the ones for the least competitive city. Those are worth rewriting properly rather than removing.
For the rest, the choice is between improving them and consolidating them. If you can genuinely write something specific about that market, improve it. If you cannot, redirect it to the nearest page that is real, which passes any accumulated value along instead of throwing it away. Deleting outright and leaving a 404 is the only option that loses everything.
Work through them slowly. Consolidating twenty pages into four in one week produces a large sudden change that is hard to read afterward, because if rankings move you will not know which change caused it.
Questions
Can I use AI to write location pages faster?
You can generate the text quickly, and if the input is generic the output will be generic, which is the exact problem being described. Useful for structure and for a first draft. It cannot supply the specific local knowledge that makes the page worth having, because that has to come from you.
What about neighborhood pages?
Rarely worth it, and the failure mode is identical one level down. Cover neighborhoods within a strong city page instead.
My competitor has forty city pages and outranks me.
Check whether those pages are actually indexed, using a site: search on their domain. A frequent finding is that the pages exist, do not rank, and the competitor is winning for other reasons entirely. That is the sort of thing a local audit resolves quickly.