Thousands of pages, one data source:
built, not written one by one
A programmatic SEO site answers thousands of narrow search queries, every city, every product variant, every comparison pair, from one template and one data source, instead of a writer producing each page by hand. We built a 973-page site this way for an AI persona business and keep the generator, not just the pages, in the client's repository.
What it is
Programmatic SEO is a site structure where one template and one data source produce many pages automatically: a real estate site with a page per city and property type, a comparison site with a page per pair of products, a service directory with a page per location. The generator reads the data, fills the template, and outputs static HTML with its own sitemap entry, title and schema markup, without a person writing each page.
When you need it (and when you do not)
It earns its cost when your audience searches in a pattern that repeats: “X in [city],” “X vs Y,” “best X for [use case],” and you have, or can build, a clean data source to drive it; a 973-page build we ran for an AI persona business followed exactly this shape. It is also the right tool when a catalog or directory changes often enough that hand-written pages would fall out of date within weeks.
It is the wrong tool when your site needs five or ten genuinely different pages with real narrative content, that is just… writing five or ten pages well, not a generator. And if the underlying data is messy or duplicated, the generator will faithfully produce messy, duplicated pages faster, so we check the data first.
How we build it
We start from the data: a spreadsheet, a database export, or an API, and decide what the smallest unit of a page should be, one city, one product, one comparison pair, so the template has enough real distinct content per page to be worth Google’s time. The template is built around the actual search intent for that unit, not a generic fill-in-the-blanks block, with internal links to the nearest related pages so the site forms a browsable structure rather than isolated leaves.
The build step turns the data into static HTML, generates a sitemap, sets canonical tags so near-duplicate pages do not compete with each other, and applies schema.org markup matched to the page type, Product, LocalBusiness, FAQPage, whatever fits. We run a thin-content check across the generated set before launch: any page that comes out too close to a template skeleton with little unique content gets flagged and either enriched or excluded from the build.
For sites with more than one page type, we document how to add a new one, since the real value of this approach is that your team can keep extending it without commissioning a new project every time the catalog grows.
What to watch
The data source is the actual bottleneck, not the generator: if the underlying list has 40 percent duplicate or near-empty rows, the fix is cleaning the data, not tuning the template. A build this size needs a real re-indexing plan with Google Search Console, since a few thousand pages appearing overnight can get crawled unevenly if there is no clear internal linking and sitemap submission. And programmatic pages decay faster than hand-written ones if nobody revisits the data; we set up the re-run step so updating is a command, not a project.
Price and timeline
| Option | Price | What it covers | Timeline |
|---|---|---|---|
| Single template, one data source | from $2,500 | Data pipeline, one template, sitemap, schema, launch | 2 to 3 weeks |
| Multi-template directory or catalog site | from $6,000 | Several page types, shared internal linking, data cleaning pass | 4 to 5 weeks |
Running cost is hosting only, usually under $20 a month for a static build, since there is no database query per page view.
Related
This pairs with multilingual site with hreflang when the same generated pages need to exist in several languages, and with Next.js app with server rendering when some pages in the same project need to be dynamic rather than static. See the SEO and content service page for the keyword research behind the templates and the development service page for the build process. For a real example, see the AI persona business’s 973-page SEO site and the five-language Montenegro real estate site.
Have a data source that could become a few hundred search-ready pages? Get in touch and we will look at whether it is worth building.
FAQ
How much does a programmatic SEO build cost?
From $2,500 for a data pipeline, one or two templates and the first page set live, 2 to 5 weeks depending on how many data sources feed it and how different the templates are from each other.
How long does it take?
2 to 3 weeks for a single template fed by one clean data source. Add a week or two if the data needs real cleaning first, or if there are several distinct page types that each need their own template and internal linking rules.
What is the stack?
A static site generator, usually Next.js in static export mode or a Python-based generator depending on the data pipeline, reading from a CSV, spreadsheet, database or API, with the build producing plain HTML plus a sitemap and structured data per page.
Who owns the code?
You. The generator, the templates and the data pipeline script live in your repository, so adding a new row to the data source and re-running the build is something your own team can do without us, once we hand it over.
Does this risk a Google penalty for thin or duplicate content?
Only if it is built carelessly, which is why each template is written around a real search intent with enough unique content per page, not a mail-merge of one paragraph. We run a thin-content check before launch and flag any page type that does not clear it.