Snoika
AI content creation·Deep-dive guide

Programmatic SEO guide

Programmatic SEO is a way to publish hundreds or thousands of landing pages from one template and one structured dataset. Each page targets a search that follows a shared pattern, such as "USD to EUR" or "Gmail integrations," and each page pulls its facts from its own row of data. Its success depends on every row holding something a searcher needs; empty rows with only keyword changes lead to failure and can draw a Google penalty.

Portrait of Anton VedeshinAnton VedeshinFounder, Snoika · 12 min read
Three people in their forties in a glass-walled meeting room with a whiteboard.

Repeatable modifier patterns that scale

A pattern scales when one head term combines with a long list of modifiers and every combination has its own search demand with the same intent behind it. Wise's "{currency 1} to {currency 2}" and Zapier's "{app} integrations" follow that pattern. Both companies already held the data to fill a page for each value.

To find your pattern, start from your data and work outward to the keywords. Then confirm the pattern in a keyword tool and in the live results. I'd work in this order:

  1. List the entities you already hold facts about, such as the apps you connect to or the cities you serve. Job titles in your database and products in your catalog also belong on that list.
  2. Write the query as a head term plus a variable, such as "{job title} salary" or "best {software} for {industry}."
  3. Pull search volume for 20 to 30 sample variants and add up the tail, because the total across variants matters more than any single term.
  4. Search 5 variants by hand. If the top results are the same page type each time, such as calculators or directories, the intent holds across the whole pattern. Comparison pages are another page type to check for.
  5. Confirm that you can supply at least one fact per variant that the current top result doesn't show.

Location modifiers ("plumber in {city}") and use-case modifiers ("CRM for {industry}") produce single-variable sets of a few hundred to a few thousand pages. Two-variable patterns such as "{app} + {app}" multiply fast, but demand per page drops just as fast. Zapier's Gmail integrations page gets about 60k monthly organic visits, while a pair page like "How to connect Descript + Notion" gets about 1.1k. The pair pages only pay off in aggregate, and only for combinations people actually search.

Before you commit, find out how many variants have zero recorded volume and decide whether you'll publish them at all. And check whether your data gets thin at the edges of the list, because the rows with the least data become the thinnest pages.

What programmatic SEO actually is

Programmatic SEO uses a database with one row per target query and a template that turns each row into a page. A content management system (CMS) publishes the set under its own URLs with links between the pages. Salt Agency, in its Zapier case study, describes the method as creating "a range of optimised pages at once, using existing data and pre-programmed rules."

A single page starts with a row such as "Gmail" in an integrations database. It holds a short description of the app and a list of the apps users connect it to most. The most popular workflows and a count of active connections are stored in the same row. The template puts the description in the intro and turns the workflow list into cards. The count goes into the title. A row for "Trello" fills the same slots with different facts, and the database update that changes a count also changes the live page.

That data layer is the line between programmatic content and mass-produced text. Ask an AI content writer for 500 city pages and you get 500 rewordings of the same advice. A template fed by a real dataset gives you 500 pages that each show different numbers, and the reader on page 400 learns something that page 3 didn't tell them. Google cares whether each page adds something, as the penalty section below explains.

When programmatic SEO fits

Programmatic SEO fits when the demand repeats and you can fill each page with facts nobody else shows. Teams that skip either condition end up with a large site and little traffic.

Check these four conditions before you build:

  • Repeating demand. The same question gets asked for hundreds of values, and the total volume justifies a template.
  • Data you own or can license. Product data and user submissions work as sources. Transaction records or licensed feeds work too. Rewritten text from competitors' pages doesn't.
  • A page searchers want to land on. Calculators and directories suit templates. Comparison tables and lookup pages also fit this format. Opinion pieces and how-to guides don't.
  • A site Google already crawls deeply. A new domain that launches 10,000 URLs gives Google no reason to index them.

It's the wrong choice in a few predictable cases. Topics that need judgment on every page, such as medical or legal advice, can't be templated safely. Queries that a one-line AI answer settles leave your page little to offer (the AI search section covers this). And if you have 40 good topics rather than 4,000, write 40 good pages.

I'd run the five checks from the first section on one pattern before deciding to build. Build when the data holds up for most rows; with sparse data, a handful of hand-written guides will earn more than a thousand thin pages.

Build options, costs, timelines

You can build with a no-code stack or your own engineers. Hiring an agency is another route, and the main difference between the options is who maintains the data pipeline after launch. The table compares cost and time to launch for each route, with a description of the teams it fits.

No-code stack (Airtable, Webflow, Whalesync)

Typical cost (2025–2026)
Stack under $100/month, with Webflow Premium at $25/month, 20,000 CMS items
Time to launch
Fastest: one marketer can connect the tools
Fits
Up to tens of thousands of rows with simple templates

Custom build in-house

Typical cost (2025–2026)
Engineering time, no license fees
Time to launch
Depends on the development queue
Fits
Product-led companies whose data already sits in a database

Specialist agency

Typical cost (2025–2026)
$6,200–$31,000 build plus $1,900–$6,200/month retainer
Time to launch
Scoped build phase, then monthly iteration
Fits
Scale-ups without SEO engineers

Enterprise or full-stack agency

Typical cost (2025–2026)
$31,000–$125,000+ build, $6,200–$19,000/month ongoing
Time to launch
Long implementation and internal sign-off
Fits
Large catalogs and regulated sectors

The agency ranges come from Indexed's 2026 pricing breakdown, which also lists the keyword tools every route needs. According to that breakdown, Ahrefs starts at $129/month for Standard and Semrush Pro at $139.95/month.

Publishing takes days, while ranking takes months. NewMedia's timeline guide puts meaningful SEO results at 3–6 months and substantial traffic at 6–12 months, and it notes that long-tail campaigns gain traction about twice as fast as head-term campaigns. Programmatic pages are long-tail by design, so they fall at the faster end. At the high end, Wise's indexed pages grew from 7,000 to 1.7 million in under 24 months. That growth spanned 20 markets and ten languages.

Google's crawl budget guidance mainly concerns sites with more than 1 million unique pages updated weekly, or more than 10,000 pages that change daily. Below those levels, how fast Google indexes your pages depends far more on page quality than on crawl capacity.

A marketer with a clean spreadsheet and under 20,000 rows should start with the no-code stack. A product company whose data lives in its own database should build in-house. Hire an agency when you lack engineers and the pattern is proven enough to justify a retainer.

Building a data-backed page template

A template is data-backed when the facts that make each page useful come from its row, and the boilerplate only frames them. If you delete the data fields and the page still reads as complete, the template is too thin.

A working template holds these parts:

  • A title and H1 that lead with the modifier ("USD to INR," "Data analyst salary in Denver").
  • A primary data block in the first screen that answers the query with a rate or salary range. For an integrations query, this block lists the integrations.
  • Computed comparisons, such as how this city compares with the national average or how the figure changed since last month.
  • Conditional sections that appear only when the row holds data for them.
  • Links to sibling pages (nearby cities, related pairs) and up to the parent hub page.
  • Structured data that matches the page type.

Each of Wise's bank pages carries a SWIFT code with a copy button and a list of local branches. A pricing comparison box and FAQs complete the page. Every block answers a question a person sending money abroad has, and every block changes from bank to bank.

Build the template in this order:

  1. Write one page by hand for your highest-demand variant, as well as you can.
  2. Mark every part of that page that would change for another variant. Those parts become database fields.
  3. Set a minimum-data rule. A row with fewer than the required fields filled stays unpublished.
  4. Generate 10 random pages and read them as a searcher would. Fix the template before you generate the rest.

The template's quality depends on your ability to write one good page for the pattern before you produce a thousand.

Avoiding thin-content penalties at scale

To publish programmatic pages without a Google penalty, make each one useful on its own and release them in batches you can watch. Google's rule targets the outcome. Its spam policy defines scaled content abuse as "when many pages are generated for the primary purpose of manipulating search rankings and not helping users," and it applies "no matter how it's created."

Google added the policy on March 5, 2024. Elizabeth Tucker, a Google director of product management, projected a 40% reduction in low-quality unoriginal content in results. Three days after the update, the SEO Ian Nuttall reported 837 deindexed sites from a sample of 49,345. Google's John Mueller, Search Advocate, had already set the tone in July 2023, when he wrote that programmatic SEO is "often a fancy banner for spam." In a follow-up post the same day he added: "To be fair, programmatic SEO is not always spam."

Data sources that keep pages from going thin

The data sources that avoid thin content are the ones that give each page a fact the searcher can't find elsewhere in the same form. These hold up best:

  • First-party product data. Your own integrations or inventory, along with the prices or usage counts attached to them. Nobody else has them.
  • Aggregated user submissions. Reviews or salary reports, published as summaries once a row has enough entries. Ratings can be summarized under the same rule.
  • Public datasets you compute on. Census or labor statistics become original when you compare or rank them. Combining them also creates original material, while simply copying them leaves pages thin.
  • Licensed feeds. Exchange rates or listings that update on their own. Automatically updated schedules work too.
  • Editorial fields. A short expert note added by hand to the highest-demand rows.

Scraped competitor text and AI paraphrases of the same paragraph fail this test, because they change the words without changing the information.

Publishing in batches without a penalty

Release the pages in stages so Google's response tells you whether the template works before the whole set is live:

  1. Publish a first batch made up of your highest-demand, best-filled rows.
  2. Give each template its own XML sitemap, so the Page Indexing report in Google Search Console shows that template's status on its own.
  3. Read the report after a few weeks. A large share of pages marked "Crawled, currently not indexed" means Google has seen them and decided they aren't worth indexing.
  4. Fix the template or the data before you add the next batch. More pages built from a template Google rejects only grow the problem.
  5. Keep rows below your data threshold unpublished, or set them to noindex until they fill.

Programmatic pages in AI search

AI search applies the same eligibility rules to programmatic pages as to any other page, but it rewards a different kind of page. According to Google's documentation, a page needs only to be indexed and eligible for a snippet to appear as a supporting link in AI Overviews or AI Mode, and "there are no additional technical requirements."

When a page's whole value is one number, an AI answer can state that number and remove the searcher's reason to click. Ryan Law, Ahrefs' Director of Content Marketing, first found that AI Overviews cut clicks to the top result by 34.5%. A rerun on December 2025 data put the drop at 58% lower clickthrough for the top-ranking page. Lookup pages ("{city} population," "{unit} to {unit}") sit right in that path.

Pages that hold a tool or a dataset too large to summarize keep their reason to be visited. Wise's converter lets you enter your own amount, and an integrations directory lists more options than any answer box shows. The statistics and citations on programmatic pages also help them appear as sources in AI answers. A research team from Princeton and Georgia Tech, with colleagues at the Allen Institute for AI and IIT Delhi, found that methods such as adding statistics and citations can raise a source's visibility in generative engines by up to 40%. Write each data block as a plain sentence an assistant could quote, with a dated figure and its source together.

Run 10 sample queries from your pattern in Google and in an AI assistant to check whether your pages are cited. Then compare clicks with impressions on templates whose queries now trigger AI Overviews.

Measuring pSEO page performance

Measure programmatic pages by template and by batch, because a single page gets too little traffic to judge. Google Search Console reports clicks from AI Overviews and AI Mode inside the Web search type of the Performance report, so the same filters cover both kinds of results.

Track these per template:

  • Indexation rate. Indexed URLs divided by submitted URLs in the template's sitemap.
  • Pages with traffic. The share of indexed pages that earned at least one click in the last 90 days.
  • Impressions per indexed page. Split by modifier group, such as region or category.
  • Conversions per template. Pulled from analytics with a URL folder filter, because traffic that doesn't convert doesn't justify maintenance.
  • AI citations. Whether sample queries cite your pages in AI answers.

What counts as a good result depends on the pattern. A two-variable pattern succeeds even when most pages get a trickle, while success for a single-variable location set requires broad coverage. The useful analysis compares your top 10% of pages with your bottom 10%. Identify fields filled in the winners but empty in the losers. Fill those fields across the set or prune the rows that can't be filled.

Give each batch the ranking window from the timeline section before you judge it. Then decide row by row whether to keep or remove it. For each row you keep, choose between improvement and a merge.

Programmatic SEO examples worth studying

The three programs below are the most studied in the field, and each teaches a different lesson about data and intent.

Zapier: integration pages

Zapier links its "{app} integrations" pattern for single apps with "how to connect {app 1} + {app 2}" for pairs. Its directory lists 10,121+ connected apps, and each page pulls workflows from the product itself. When Ahrefs measured Zapier in August 2022, app and integration pages brought about 16% of organic traffic, and the blog brought 67.5%. The pages convert because they answer queries that are the product. They sit alongside an editorial program.

Wise: currency converter pages

Wise targets "{currency 1} to {currency 2}," and its converter was the first search category it tackled with a template. Every page holds a working calculator with a live rate. The format has held up as AI answers spread because the searcher wants to convert their own amount. The US Dollar to Indian Rupee page alone draws about 103.9k monthly visits.

Payscale: salary pages

Payscale publishes a page per job title showing the average salary, built from salary data its users submit. That data is the moat because the submissions remain exclusive to Payscale even though a competitor can copy the template. Practical Programmatic estimates that Payscale's programmatic pages bring in 2.9 million organic visits a month.

What to do next

Pick one pattern, the one where your data is strongest. Build the template for it and publish only the best-filled batch. Read what Google does with it before you scale. One proven template teaches you more than five half-built ones. And because AI answers now take clicks from lookup pages, measure your current visibility in Google and in AI assistants first, so you can see what any programmatic SEO launch actually changes. Snoika's website audits and brand visibility tracking in Google and AI assistants give you that baseline. To see where your site stands before you build, get a free AI visibility audit.

FAQ

See how AI talks about your brand

Get free audit