TL;DR
Programmatic SEO means generating many search-targeted pages from one template plus a structured dataset, each answering a long-tail search: “cost of living in Lisbon”, “Bangkok vs Chiang Mai”, “remote Python jobs”, “£40,000 after tax”.
Indie makers do it at scale — Pieter Levels’s Remote OK and Nomad List, Marc Lou’s TrustMRR and Thomas Sanlis’s Uneed each list thousands of templated pages. It works when every page carries unique, useful data; it fails, and Google can treat it as scaled content abuse, when pages are keyword swaps. Build one excellent page, confirm it gets impressions, then roll out in batches.
What is programmatic SEO?
Programmatic SEO (pSEO) is creating landing pages automatically from a database and a page template, so one piece of design and code produces hundreds or thousands of pages, each aimed at a different long-tail search. A traditional SEO article targets one keyword with one hand-written page; programmatic SEO targets a pattern of keywords with one template.
Every pSEO project has three parts:
- A head term and modifiers. The head term is the thing (“cost of living”, “remote jobs”, “timer”); modifiers are what changes (a city, a skill, a duration). Head × modifiers = your page list.
- A dataset with a row per page and the facts that make each page different: prices, listings, ratings, specs, results of a calculation.
- A template that turns a row into a page that genuinely answers the search — title, H1, data, comparison, FAQ and internal links.
When programmatic SEO is a good fit
- People search for the same thing with many variations (places, products, pairs, amounts).
- You have, or can build, data that differs meaningfully for each variation.
- Each page can answer the search better than a single general page could.
If you only have five variations, write five pages by hand. If you have 5,000 variations but the same sentence with a different city name on each, you don’t have a pSEO project, you have a spam problem (see pitfalls). For the wider SaaS picture, see SEO for SaaS.
Programmatic SEO examples: what 7 indie sites actually publish
Most pSEO articles repeat the same big-company examples (Zapier, Tripadvisor, Wise). We looked at indie products instead. On 2 November 2026 we fetched each site’s XML sitemap and counted URLs by template. Together they list 491,674 URLs.
| Site (maker) | Templated page types | Templated URLs | All URLs in sitemap |
|---|---|---|---|
| Remote OK Pieter Levels |
| 94,365 | 391,304 (source: remoteok.com) |
| Nomads.com (Nomad List) Pieter Levels |
| 20,972 | 62,266 (source: nomads.com) |
| TrustMRR Marc Lou |
| 19,418 | 19,619 (source: trustmrr.com) |
| Uneed Thomas Sanlis |
| 12,297 | 12,538 (source: uneed.best) |
| ShipFast Marc Lou |
| 4,854 | 4,967 (source: shipfa.st) |
| Stagetimer Lukas Hermann |
| 198 | 334 (source: stagetimer.io) |
| ScreenshotOne Dmytro Krasun |
| 98 | 646 (source: screenshotone.com) |
How to read this: a sitemap is what a site asks Google to crawl, not what Google indexed or how much traffic it gets. Remote OK’s total also includes about 297,000 user profile pages.
What the examples have in common
- The data is the product. Remote OK’s pages are live job listings customers pay to post; TrustMRR’s are startups with revenue verified through Stripe; Nomad List’s are crowdsourced city data. The pages are a view of a database that exists for users, not for Google. In September 2024 Levels reported Nomads.com at about $61K a month and Remote OK at $29K a month (source: x.com).
- Each record gets several angles. Nomad List’s sitemap gives each of its 1,384 cities eight templated sub-pages (cost of living, coworking, people, nearby, similar, next, ranking and a guide) on top of the main city page, then compares cities in pairs.
- Tools count as content. Stagetimer’s timer pages carry about 150 words of text, but each is a working countdown — the search “1 hour 5 minute timer” wants a timer, not an essay.
- Small projects work too. Marc Lou reports 29,100 Google visitors across three micro-sites — BooksCalculator, GamifyList and WorkbookPDF — built once and left alone. WorkbookPDF is a single template with 25 pages; GamifyList’s data came from a virtual assistant he paid $150 to collect 600 gamification apps (source: marclou.beehiiv.com).
Other indie pSEO stories
- Ian Nuttall found pSEO by accident: people searched “£[salary] after tax” for countless amounts, so he fed the salary from the URL into his UK tax calculator. He went on to build many programmatic sites; the biggest sold for $500K, and his Practical Programmatic course has made more than $200K (sources: highsignal.io, practicalprogrammatic.com).
- Frey Chu built a thrift-store directory as an SEO experiment: listings scraped with Outscraper, then checked and enriched by hand against Google Maps, published as long pillar pages. It reached about 60,000 monthly visits and $2,000+ a month (source: wpgeodirectory.com).
- Danny Postma’s HeadshotPro generated 200+ city pages (“professional headshots [city]”) alongside blog posts in 2023, per a third-party breakdown (source: indiehackers.com). On 2 November 2026 its sitemap no longer listed city pages — a reminder that templated pages get pruned when they stop pulling their weight.
The 8 programmatic page patterns (and where the data comes from)
Almost every pSEO project is one of these patterns. Pick the one your data supports.
| Pattern | Keyword formula | Typical data source | Example |
|---|---|---|---|
| Location pages | [service or thing] in [city] | Places API, scraped listings, public datasets, your own users | Nomad List’s per-city pages by Pieter Levels; Frey Chu’s thrift-store directory (source: wpgeodirectory.com) |
| Comparison pages | [A] vs [B] | A table of entities with comparable attributes | Nomad List’s 9,900 city-vs-city pages |
| Alternatives pages | [product] alternatives | A product database with categories and tags | Uneed’s alternatives pages — Thomas Sanlis says growth took off when he started making them (source: solos.ventures) |
| Entity / profile pages | [startup or company or person] | Records your product already holds | TrustMRR’s 12,144 startup and 6,780 founder pages by Marc Lou, built on Stripe-verified revenue |
| Integration pages | [your app] + [other app], [app A] + [app B] integration | Your list of integrations and the actions each supports | Zapier’s app-pair pages, the best-known case; ScreenshotOne’s 27 integration pages |
| Calculator and tool pages | [amount or value] [unit or result] | A formula; the URL carries the input | Ian Nuttall’s “£X after tax” pages; Stagetimer’s preset timers; Marc Lou’s BooksCalculator (sources: highsignal.io, marclou.beehiiv.com) |
| Job and listing boards | remote [skill] jobs, [role] jobs in [place] | Listings posted by customers | Remote OK’s skill and location job pages |
| Generated assets | [subject] [logo / template / example] | Outputs of a free generator | ShipFast’s ~4,850 logo-idea pages |
For a SaaS, the most valuable patterns are usually integrations, alternatives, use cases and free tools, because they bring people close to buying. Directories and data sites lean on locations, entities and comparisons — see our directory business playbook.
How to do programmatic SEO, step by step
1. Find a head term with enough long-tail variants
Brainstorm head terms around your product, then check the variations in a keyword tool. Marc Lou’s rule of thumb: keyword difficulty under about 20, 500+ monthly searches for the head term in one country, and at least 20 long-tail variants (source: marclou.beehiiv.com). Then Google a few variants: if small sites, forums or thin pages rank, there’s room; if every result is a giant with exactly your data, pick another pattern.
2. Build a dataset nobody else has, or that’s better organised
Unique data is the whole moat. Ways makers got theirs:
- Your own product’s records — the strongest kind (Remote OK jobs, TrustMRR revenue, Uneed listings).
- Public APIs and scraping, then manual enrichment. Frey Chu splits listing data into “need to know” facts (hours, phone) and “want to know” details (amenities, kid-friendliness), and spends his effort on the second group because that’s where competitors are thin.
- Cleaning messy data. For his $50K niche site, Ian Nuttall had a developer write Python scripts to turn messy location data into a usable database (per a write-up) (source: goodreads.com).
- Paying for collection. Marc Lou’s $150 virtual assistant for 600 apps; a few hundred dollars of outsourcing for richer venue data.
- Computation. Calculators and converters create a unique answer for every input.
3. Design one template that fully answers the search
- Put the long-tail keyword in the title and H1, naturally, once.
- Lead with the answer (the number, the list, the tool), then the detail.
- Add things a user can do on the page: sort, filter, compare, calculate, book. Marc Lou names sorting, pricing and booking options as the content worth including.
- Use conditional sections so pages with more data show more, and pages with almost none aren’t generated.
- Add internal links to related pages (nearby, similar, alternatives) — Nomad List’s “near” and “similar” pages are this idea at scale.
4. Generate pages, and write the parts a template can’t
Technically this is the easy part: a static-site generator or framework route (for example a [city] route in Next.js with static generation), WordPress with a directory plugin (Frey Chu uses GeoDirectory), or a no-code CMS fed from a spreadsheet. Keep pages light, server-rendered HTML.
The hard part is text that differs meaningfully per page: an intro that uses the row’s data, a summary of what’s notable, answers to the questions people ask about that specific item. Marc Lou used ChatGPT for pieces such as meta descriptions; the rest of each page should come from your data.
5. Publish in batches and get pages indexed
- Launch 20–50 of your best pages first, not 10,000. Watch Search Console for impressions and indexing for two to four weeks before generating the rest.
- Split large sitemaps by page type so you can see indexing per template in Search Console.
- Link every page from somewhere: category hubs, “related” blocks, breadcrumbs. Pages reachable only from a sitemap are discovered slowly.
- Earn some links to the domain. Marc Lou aims for around ten from launches and directories before expecting rankings; see where to launch and how to get backlinks.
- Request indexing for key hubs. Uneed’s founder used indexing tools that notify Google and Bing for a pSEO side project (source: solos.ventures). Google’s official Indexing API is restricted to job-posting and livestream pages (source: developers.google.com).
6. Measure, prune and improve
- After three to six months, sort pages by impressions, clicks and conversions.
- Improve the template for the whole set when a pattern underperforms, rather than page by page.
- Merge, noindex or delete pages with no impressions and no unique value.
Pitfalls: thin content, Google's scaled content policy and other ways pSEO fails
Programmatic SEO has a reputation problem because most of it is low quality. Google’s spam policies name two things that hit careless pSEO directly:
- Scaled content abuse: producing many pages mainly to manipulate rankings, with little value for users — whether written by people, AI or scripts. Examples Google lists include mass-generated AI pages, scraped or lightly reworded feeds, and stitched-together content that adds nothing (source: developers.google.com).
- Doorway abuse: pages built to rank for similar queries that only funnel visitors elsewhere — including many city or region pages that all lead to the same place (source: developers.google.com).
Google added the scaled content policy in its March 2024 update, which also targeted unhelpful content in general (source: developers.google.com).
What it looks like when it goes wrong
- Manual action. In March 2024 Google gave a “pure spam” manual action to the blog of Far & Away, an e-commerce site owned by Jacky Chou, whose AI-generated product guides he had shown off to followers; the blog was deindexed (source: futurism.com).
- Core update swings. Ian Nuttall’s relaunched programmatic site lost about half its search traffic around a core update and needed roughly six months of fixes before a later update restored it (per a write-up) (source: goodreads.com). He lists extreme patience through algorithm swings as a core principle of SEO businesses.
- Pages that never get indexed. Thousands of near-identical pages often sit in “Crawled – currently not indexed”. That’s Google telling you the template isn’t different enough.
- Empty rows. “Best rage rooms in [town]” with zero rage rooms is a page that should not exist. Only generate pages where the data is there.
Quality checklist before you publish
| Question | Good sign | Warning sign |
|---|---|---|
| Would this page exist if Google didn’t? | Users browse to it from your own navigation | Only reachable from the sitemap |
| What’s unique on each page? | Data, listings, results or tools specific to that row | The keyword and a few swapped nouns |
| Does it answer the search? | The answer is above the fold | The answer is “sign up to find out” |
| Pick five random pages. Are they all good? | Yes, including the long tail | The top 50 are fine, the rest are empty |
| How fast are you publishing? | In batches, watching indexing | Tens of thousands of pages on a new domain at once |
How long programmatic SEO takes, and what results to expect
Indexing can be quick once requested; ranking usually takes three to six months, according to Marc Lou, whose small pSEO sites settled at about 300 Google visitors a day (source: marclou.beehiiv.com). He also notes some readers reported no success with their own pSEO sites — results vary widely.
| Maker | Project | Reported result |
|---|---|---|
| Marc Lou | Three micro-sites | 29,100 Google visitors in total; ~300/day overall (source: marclou.beehiiv.com) |
| Frey Chu | Thrift-store directory (from 2022) | ~60,000 visits and $2,000+ a month, about two years in (source: wpgeodirectory.com) |
| Ian Nuttall | $50K niche site relaunched as pSEO | From $600 to $6,000–7,000 a month, after a six-month dip (per a write-up) (source: goodreads.com) |
| Danny Postma | HeadshotPro city pages + blog | Top-10 for a ~21K/mo keyword in about three months (third-party estimate) (source: indiehackers.com) |
| Thomas Sanlis | Uneed alternatives pages | Credited as the point where growth took off (no figures given) (source: solos.ventures) |
Programmatic traffic is usually low-intent per visit, so plan how it pays: ads and featured listings for directories (Frey Chu uses ads once a niche reaches roughly 10,000–50,000 monthly visitors), sign-ups for a SaaS, or affiliate links. Ian Nuttall’s rebuilt site earns mostly from display ads.
Programmatic SEO checklist
- Head term chosen; 20+ variants with real search demand; page one beatable.
- Dataset with a row per page and at least a few fields that differ meaningfully per row.
- Rows with too little data excluded from generation.
- Template answers the search above the fold and lets users do something (filter, compare, calculate).
- Unique title, H1 and meta description per page; canonical tags; no duplicate URLs from filters.
- Hubs and related-page links so every page is reachable in a few clicks.
- Sitemaps split by template; Search Console and Bing Webmaster Tools set up.
- First batch of 20–50 pages live; indexing and impressions checked before scaling.
- A handful of real links to the domain from launches and directories.
- A review every quarter: prune, merge or improve the weakest pages.
Want to see who’s doing this well? Browse makers like Ian Nuttall, Frey Chu and Pieter Levels, compare what products earn on the revenue pages, and check which frameworks and CMSs makers use on the stack page.
Frequently asked questions
What is programmatic SEO?
Programmatic SEO is generating many search-targeted pages from a template and a structured dataset, so each page answers a different long-tail search such as a city, a product comparison or a calculation. Nomad List's city pages and Remote OK's job pages are well-known indie examples.
Does programmatic SEO still work in 2026?
Yes, when every page carries unique, useful data. Remote OK, Nomad List, TrustMRR and Uneed still list thousands of templated pages. Google's scaled content abuse policy targets pages made mainly to rank with little user value, so thin keyword-swap pages are riskier than ever.
Is programmatic SEO spam?
Not by itself. Google judges the pages, not the method: pages that help users are fine however they are produced, while large numbers of unoriginal pages made to manipulate rankings count as scaled content abuse, and many near-identical city pages that funnel to one destination can count as doorway abuse.
How many pages do I need for programmatic SEO?
There is no minimum. Marc Lou's WorkbookPDF used one template for 25 pages, while Remote OK lists tens of thousands. Start with 20 to 50 of your strongest pages, check they get indexed and impressions, then scale.
What tools do you need for programmatic SEO?
A keyword tool to find patterns, a spreadsheet or database for the data, and a way to render pages from it: a framework such as Next.js with static generation, WordPress with a directory plugin such as GeoDirectory, or a no-code CMS. Add Search Console for indexing and an analytics tool that tracks conversions.
How long does programmatic SEO take to work?
Typically three to six months for rankings, according to makers such as Marc Lou. Frey Chu's directory took about two years to reach roughly 60,000 monthly visits, and algorithm updates can cut traffic temporarily, as happened to one of Ian Nuttall's sites.