City pages are one of those SEO ideas that can either work really well or turn into junk fast. The difference is intent. If the goal is to help a real person understand whether you serve their area, city pages are useful. If the goal is to clone the same paragraph 40 times and swap the city name, Google and customers can smell it.
For contractors and service businesses, good city pages still matter because customers search locally. They do not usually search for "best contractor in the United States." They search for roof repair in Greenville, AC repair in Austin, plumber in Waco, or construction company in Columbia.
One homepage cannot carry every service area
Your homepage can explain who you are. It can describe your main services. It can give Google a strong starting point. But it usually cannot rank well for every city, suburb, and neighborhood you serve.
A roofer serving Dallas, Frisco, Plano, McKinney, and Allen needs more local context than one broad homepage can provide. The same is true for an HVAC company in Charleston serving Mount Pleasant, Summerville, West Ashley, and James Island.
Useful city pages answer specific questions
A good city page does not need to be complicated. It needs to be specific. It should answer questions like:
Do you serve this area? What services do you offer here? What kinds of customers do you help? Are there local conditions that affect the work? What should someone know before they call?
For example, a Waco marketing page should not sound like Dallas. Baylor, Magnolia tourism, Woodway, Hewitt, and McLennan County matter. A Columbia page should talk about the Midlands, USC, Fort Jackson, Lexington, and Irmo. That is what makes the page useful.
Internal links are part of the strategy
City pages should not sit alone. They should connect to service pages, industry pages, and related city pages. That helps visitors move around naturally, and it helps search engines understand how the site is organized.
A visitor on an Austin page might need local SEO, Google Ads, or a better website. A visitor on a Greenville page might want to compare Charleston or Columbia. Those links should be obvious and helpful.
The copy has to sound human
This is where a lot of local SEO goes sideways. The page says the city name too many times. The sentences feel stiff. The same section appears over and over. Nobody would read it and think, "This company understands my market."
Write like you are explaining the market to a business owner over coffee. Be clear. Be specific. Use local references when they matter. Skip the fake excitement.
Do city pages work for AI search too?
They can. AI systems need clear, structured, specific information to understand what a business does and where it does it. A useful city page gives them cleaner context than a vague homepage.
The same things that help a person also help answer engines: plain answers, clear headings, internal links, service context, location context, and proof that the page belongs on the site.
When not to create a city page
Do not create a page for a city you do not really serve. Do not create a page if you have nothing specific or useful to say. Do not create 80 pages because a spreadsheet told you to.
Start with your real markets. The ones where you already have customers, want more work, and can speak with some honesty. Build those pages well before you chase every town on the map.
The simple rule
If the page would help a real customer decide whether to call you, it is probably worth building. If it only exists so Google can see another city name, it probably needs more work.
That is the whole job. Make the page useful enough for a person, structured enough for search, and connected enough to support the rest of the site.
See the strategy in action: