A business that offers eleven services across fourteen cities has, in principle, 154 things a customer might search for. "AC repair in Peoria" and "AC repair in Surprise" are different searches made by different people, and each deserves a page that answers it. Nobody is going to hand-write 154 pages and keep them all current. So we generate them.
This is usually called programmatic SEO. Done well, it is the most effective thing a local business can do with its website. Done lazily, it is spam that search engines have been penalizing for years. The difference is worth understanding before you pay anyone to do it.
One source of truth
Every build starts with a data file. It holds the facts of the business: services, cities, prices, hours, license numbers, phone, and the details that differ from place to place.
A build script reads that file and writes the pages. For one automotive client, a single script produces a page for every repair service, used car listing area, and rental offering in every city they serve. When a price changes, it changes in one line, and every page that mentions it is rebuilt correctly.
That is the first benefit, and it has nothing to do with search. Hand-built sites drift. The phone number is updated on the homepage and wrong on page forty. Generated sites cannot drift, because there is only one copy of each fact.
What makes a generated page worth ranking
A page that is the same paragraph with the city name swapped is a doorway page. It adds nothing, and search engines treat a site full of them as low quality. For a generated page to deserve its place, something on it has to be true only of that combination.
Things we put on a city and service page that are specific to it:
- Real local facts. Which jail serves that county, which court hears those cases, how far the shop is from that neighborhood.
- Different questions. People in different places ask different things. We source questions from actual search data rather than inventing them, and we do not repeat the same FAQ on every page.
- Evidence. Photos of jobs done in that city. License numbers anyone can verify. Reviews from customers there.
- Links that make sense. Each page links to its neighbors: the same service in nearby cities, other services in the same city.
For a bail bonds site, that meant a page for the jail in each of Arizona's fifteen counties, each with that jail's own address, booking process, and visiting rules, plus a type-ahead finder so a worried family member reaches the right one in a few keystrokes.
Where we stop
The discipline in this work is declining to build pages.
On one project we built pages for 25 county courthouses, each with real, distinct information. We could have generated 41 more for courts across the rest of the state. We did not, because the business does not regularly serve them and we had nothing true and specific to say. Those pages would have been doorways, and they would have put the good ones at risk.
Another example: an attorney we built for also serves as a prosecutor in three counties. The build knows that, and it will never produce a page marketing defense work in those places. A rule like that belongs in the data, not in someone's memory.
Our test is simple. If a customer from that city landed on the page, would they find something useful that the next city's page does not have? If not, the page does not get built.
Why we build these as static sites
Generated sites suit static hosting. The pages are built once and served as plain files, so a 271 page site is as fast as a five page one. There is no database to slow down and nothing to patch. We compared the two approaches in WordPress or a static site.
It also means the whole site can be regenerated in seconds. Adding a new city is adding a few lines to the data file.
What it takes to do this for your business
Three things, in order:
- An honest list of what you do and where you really do it.
- The specifics for each place: the facts, photos, and proof that make each page its own.
- A generator that turns the list into pages and can do it again tomorrow when something changes.
The third part is ours. The first two come from knowing your own business, and they are what decide whether the result ranks.
If you serve more than a handful of places and your site has one page per service, there is probably search traffic you are not getting. Tell us what you do and where, and we will tell you how many pages would be honest to build.