Programmatic SEO, Explained for Beginners

Portrait of Louise Linehan

By Louise Linehan

Content Marketer at Ahrefs

Updated: September 2, 202615 min read

Programmatic SEO refers to the creation of keyword-targeted pages in an automatic (or near automatic) way.

It provides a way for companies to create thousands of website pages targeted at thousands of keywords—without having to design, write, and publish pages manually.

Companies like Canva and Notion use programmatic SEO to generate millions of pageviews each year.

Programmatic pages are built from data like product prices, weather, or location information, with one page for every row in the dataset.

Creating them at scale used to be a job for web developers.

Now an AI assistant connected to SEO data can do most of it, and the rest is judgement: picking the right keywords, the right data, and the right things to say.

We'll show you how.

Examples of programmatic SEO

Using Ahrefs Site Explorer data, we’re able to see a site’s programmatic content growth and organic traffic growth side-by-side.

Here are some sites that seem to be getting it right.

NutriScan’s multilingual nutrition directory

URL: https://nutriscan.app/calories-nutrition/
Estimated pages: ~4K
Estimated monthly organic traffic: ~182K

NutriScan is an AI food scanner and calorie-tracking app.

Its four main language folders grew from roughly 100 ranking pages in October 2025 to ~4K in July 2026.

In all, it attracts ~182K monthly organic visits by targeting the long tail of food-name searches combined with terms such as “calories,” “protein,” “nutrition,” and “weight loss.”

It has programmatically created thousands of pages for individual foods, restaurant menu items, and branded products, then reproduced the directory in Spanish, French, and German.

From a moussaka to a McDonald’s McChicken, every page follows a similar kind of template, featuring:

  • Calories and macronutrients
  • Health benefits
  • Myths
  • Substitutions
  • FAQs

Ad Hoc News’ stock-news directory

URL: https://www.ad-hoc-news.de/boerse/news/
Estimated pages: ~72K
Estimated monthly organic traffic: ~1.74M

Ad Hoc News is a German news site that publishes stock-market stories at scale under /boerse/news/.

The directory expanded from about 14K ranking pages in August 2025 to 72K in July 2026 and now attracts an estimated 1.74 million monthly organic visits.

Pages cover individual companies, share-price movements, earnings, analyst commentary, and other market events.

Each headline combines a company or ticker with a timely event. Think: stock rising, falling, reaching a record, or reacting to earnings.

For example, here's a story about Meta’s stock and AI spending and another on Nvidia’s share price and AI demand.

Canva’s feature pages

URL: https://www.canva.com/features/
Estimated pages: ~310 currently ranking
Estimated monthly organic traffic: ~13M

Canva creates feature landing pages targeting searches for specific design tools and capabilities, like photo editors, video editors, PDF converters, and AI-powered tools.

The directory grew from just 23 ranking pages in early 2022 to ~310 today. Organic traffic grew even faster, rising from ~20K monthly visits to roughly 13 million over the same period.

These pages have a repeatable architecture that Canva can generate across hundreds of different tools and features.

For example, its background remover page follows the same basic structure as other feature pages, with a feature-specific headline, benefits, examples, FAQs, and calls to action that take visitors directly into the tool.

The copy seems to be more bespoke than classic database-driven programmatic content, and is likely individually edited, even if AI assists with its creation.

But the repeatable page architecture means Canva can systematically target hundreds of feature-specific searches without building every landing page from scratch.

Notion’s template category directory

URL: https://www.notion.com/templates/category
Estimated pages: ~600 currently ranking
Estimated monthly organic traffic: ~204K

Notion is a productivity and collaboration platform.

In late 2024, it launched hundreds of template category pages, growing from almost no ranking pages to more than 500 in just a few months.

Organic traffic grew just as quickly, rising from almost nothing to ~140K monthly visits by early 2025, and eventually reaching ~204K today.

These pages are programmatically created around Notion’s template inventory, targeting use cases like product management, marketing, personal finance, and website building.

Rather than manually writing a landing page for every use case, Notion’s content scales with its template catalogue and category taxonomy.

QuillBot’s AI writing tools library

URL: https://quillbot.com/ai-writing-tools/
Estimated pages: ~130
Estimated monthly organic traffic: ~464K

QuillBot has built out a library of AI writing tools, with dedicated pages targeting specific writing tasks and use cases.

The library went from virtually no search presence in early 2025 to ~464K monthly visits in August 2026.

What's interesting is that the traffic growth didn't require constant page additions. Once the initial build was done, the pages (~130 of them) kept earning more traffic from the same URL set.

Every page targets a user need (write an email, generate a title, create a cover letter) and sits within QuillBot's tool ecosystem, with links to complementary tools and optional paid upgrades.

Programmatic… or spam?

Before you hit publish on thousands of pages, it's worth considering the words of Google's John Mueller: "Programmatic SEO is often a fancy banner for spam."

Any company that publishes a huge number of very similar pages runs the risk of creating thin content: content that offers little to no value to the end user.

Like any other page, programmatic content needs to satisfy user intent (and not violate Google’s spam policies).

Head to LinkedIn and you'll see many examples of sites that have tanked in Google for this very reason.

Lars Lofgren has spent months begging people to stop doing programmatic SEO, after seeing company after company whose rankings got demolished once they scaled into the thousands of pages.

And Lily Ray thinks certain programmatic page types become a liability rather than an asset once a site scales far enough, and has tracked over 70 companies caught in Google's early 2026 updates after scaling content.

Not everyone agrees programmatic content is worth avoiding, though.

Zak Perez has a client who scaled AI content across 10,500 pages, and saw consistent, across-the-board ranking gains over the course of years and throughout multiple Google updates.

And our own Director of Content Marketing, Ryan Law, makes a related case for scaling something other than articles: Ahrefs' free tools are consistently among our highest-traffic pages, holding steady even as AI answers eat into clicks elsewhere.

Searchers want to do something, not read about it, and a calculator is a lot harder for Google to summarize out of existence than a paragraph is.

Marketers keep declaring tactics like pSEO (programmatic SEO) worthless the moment they get more complicated, which cedes the opportunity to whoever sticks around.

According to our own research, publishing at scale is only a risk if you don't have anything worth publishing at scale.

Not sure whether to invest in programmatic SEO? We created a 5 question quiz so you can check your own project before building anything.

How to get started with programmatic SEO

To create programmatic SEO content, there are five main steps: find a group of similar keywords, decide on content for your template, collect useful data, use AI to turn it into pages, then automate that whole process.

Below, I’ll walk through each step on a project I run myself: templated articles showing the “fastest growing X companies” in different industries, built using Ahrefs’ organic traffic and search volume data.

1. Find keywords that scale

Programmatic content targets lots of similar keywords with one page template, so you need a phrase where only one part changes.

For example, “Fastest growing [SaaS] companies”, “Fastest growing [AI] companies”, “Fastest growing [tech] companies”.

Connect your AI assistant or agent to an SEO MCP and first ask it to pull keywords around the topics you want to write about. Then, within that set, ask it to find and group any keywords that share a repeating phrase (as above).

Starter prompt


Using the Ahrefs MCP, pull matching terms and questions for these seed keywords: [seeds]. Group them by the repeating part of the phrase. For each group give me the number of variations, combined monthly volume, median keyword difficulty and the median DR of the sites currently ranking. Ignore groups with fewer than 50 variations, and rank what’s left by combined volume.

Here’s what came back for me.

169 variations across 122 categories, and a median keyword difficulty of 9.

Each of these queries wants the same thing: a ranked list of companies in one category, where only the category changes—which makes it a good candidate for pSEO.

You can also find these keywords manually in Ahrefs.

Run Matching Terms in Keywords Explorer, set the Include filter to the repeating phrase and a minimum volume of 10, then read the count and volume off the top of the report.

That repeatable template is what you’re looking for.

2. Decide on your page template

Every page in a programmatic SEO set needs the same furniture, so look at what the pages currently ranking all have in common.

Ask your AI to use the same SEO MCP to fetch the top ranking pages for your keywords and report the sections they share.

Starter prompt


For these 10 keywords, fetch the top 10 ranking pages each. Tell me which sections, data points and page elements appear on most of them, and which appear on only one or two. List the ones I’d need to include to compete.

Here's what I saw after entering that prompt...

Ask which sections show up repeatedly, infrequently, and which ones represent genuine gaps.

For my article set, the must-haves included:

  • A jump-link table of contents
  • A stated methodology
  • An explicit “last updated” date (refreshed monthly)
  • A per-company block carrying the same six data points every time
  • The growth figure and company name in the H2
  • A trend chart
  • A short write-up including

You can also do this but manually using Ahrefs.

Open SERP Overview in Keyword Explorer, and hit “Identify intents” ¹.

This will give you an overview of What readers expect to see when they hit the SERP for your keyword.

Check out "Page type"² for more clues. Then open the top results for a handful of keywords and see what they share.

Monitor successful AI generated pSEO content


Letaido reaches extra Ahrefs data beyond what the API has access to, including AI content level.

This lets you check how much of any site’s top pages was written by AI—including the programmatic pages currently outranking you.

That way, you can see for yourself what AI generated pSEO content Google is actually rewarding.

3. Find relevant data

This is what is actually going to make your programmatic SEO content unique and, hopefully, interesting to read.

You have three options: proprietary data that’s yours alone, public data that anyone can license, or scraped data, meaning figures other websites have published that you collect for yourself—though, bear in mind, scraping can raise copyright issues.

Sidenote


If you decide to scrape, Firehose can notify you whenever your source publishes new numbers. That way, the data fueling your pSEO content stays current without you having to constantly check on it.

Whichever option you choose, ask your assistant and SEO MCP about the top ranking pages and their data, so you’re not repeating the same source as everyone else.

Starter prompt


For these keywords, fetch the top 10 ranking pages each and list the data sources they use: named datasets, cited indices, links to data providers, and any proprietary data they claim. Tell me how many pages use each source, and flag anything used by more than half as saturated.

Here's what that brings back...

Most lists like ours rank companies by funding raised, which is public and heavily reused.

We decide to rank by growth in brand-name searches/organic traffic instead, using Ahrefs’ proprietary data.

Tap into 50+ data sources in Letaido


Letaido already comes with multiple integrated data sources that you can draw on to scale your content.

For instance, if you work in recruitment you could use Firehose to watch job board listings, and create [job title] salaries in [city] content that always reflects the latest data.

Or, if you work in SaaS, you can pull your reason won fields from HubSpot, so that every one of your “best [tool] alternatives” page says something about why customers actually switch to you.

4. Build your pages

Now it’s time to turn one row of data into one page. Your template needs to stay fixed, while the data and writing change within it.

Follow these steps:

1. Upload your seed list: Provide a CSV where each row represents a new page section. For my project, this meant mapping out company names, domains, headquarter locations, and founding years.

2. Supply your keywords: In your prompt, include your keyword pattern from step 1.

3. Connect your data sources: Make sure your MCPs and APIs are hooked up, and upload any other relevant data sources.

4. Give direction on the template: Tell the AI:

  • Which parts need to stay fixed: The content that needs to be identical on every page, like the headings and layout.
  • Which parts to take straight from the data: The data that needs to be fetched (e.g. organic traffic data), from which data source (e.g. Ahrefs MCP), how it should be presented (i.e. PNG traffic chart), and where it needs to go (i.e. slotted in per row).
  • Which parts need to be freshly written per page: Prompt the AI on how to draft copy based on the data. For instance, I asked Letaido to cover three main points for each trending company: what the company does, their most recent funding round (with outbound citations), and possible reasons for their growth.

5. Build the workflow and save it as a skill: Before you prompt the AI to build your actual pages, make sure you’ve nailed the workflow. For example, my prompt went something like this: “Read my CSV, look up [the numbers] for every row, save the results to a file, then write one page per row using my keywords and template notes.” At this point, I asked Letaido to build a self-learning skill for me which auto-updates based on my ongoing feedback. I recommend doing this if you can!

6. Test on 10 rows first then run the full list: Read your pages properly and make sure you fix template issues before scaling.

For my lists, Letaido then goes away and pulls the companies, writes each company’s profile based on Ahrefs data, renders a growth chart per profile, and assembles the article.

The write-ups all differ based on the underlying data, and Letaido flags any claim it isn’t sure about, so I can check it before publishing.

The free route


If you don’t have access to Letaido, Claude Code, or an AI agent, you can programmatically scale your content for free using just a formula in Google Sheets.

You need three tabs:

  • Keyword data: Use this to build each page’s title and URL.
  • Data source: Upload your data for each page manually.
  • Formula: Write your page copy, once. Just put your sentence in quotes and drop in a cell reference wherever a value should appear. For example: ="Cost of living in "&A2&" is "&B2&", ranking "&C2&" out of 50 states."

The formula joins your fixed text with values from your cells.

If you want the sheet to actually write for you, use Google Sheets’ built-in =AI() function on Workspace plans with Gemini, or the GPT for Sheets to use ChatGPT or Claude, so a formula like =GPT("Write two sentences on why "&A2&" is growing, using only these numbers: "&B2) drafts a different write-up for every row.

Then you just drag the formula down.

Every new row generates a new URL, page title and body copy, so you can create 50 pages with the drag of a mouse.

5. Publish and automate

There are only two things left to do now.

1. Connect to your CMS and publish: Connect to your CMS (e.g. WordPress) via Claude Code or Letaido, and instruct the AI to autonomously upload the pages to your CMS.

2. Set up an ongoing automation: Once you’re happy, set up an automation so your data refreshes at your preferred cadence. With Claude Code that means setting up scheduled, API, or GitHub-triggered tasks that run directly on Anthropic’s cloud infrastructure.

Sidenote


You can’t run automations locally in Claude Code, because background tasks stop firing the moment your laptop goes idle.

With Letaido, it’s just a case of ask and you shall receive.

My automation rebuilds every list monthly from fresh data and files a new draft, so the numbers never go stale.

6. Track the performance of your programmatic content

Keep every programmatic page you’ve created inside one folder, such as /salaries/, so you can track the whole project in Ahrefs using Site Explorer’s Path/Prefix mode.

After three months, check:

  • Organic traffic: Is the project growing, holding steady, or fading after an initial spike?
  • Top pages: Which pages still get little or no traffic?
  • Organic keywords: Are individual pages ranking for their intended terms?
  • GSC performance: Are impressions and clicks growing? Is click-through rate falling?

You can also add representative keywords to Rank Tracker and tag them as “pSEO” to monitor the project separately from the rest of your site.

Review the results monthly.

Improve pages that are losing traffic, redirect pages that overlap, and remove or de-index pages that still earn nothing after a fair testing period.

The goal is to keep the pages that prove useful and stop weak pages from quietly piling up.

Final thoughts

Creating programmatic SEO content is no mean feat, but it’s a lot easier lately with AI.

In order for your content to rank—and actually help people—you need relevant, original content and data to share.

The combination of “scalable” keywords and great data is a force to be reckoned with.

With a little know-how, it’s possible to generate thousands (even millions) of pageviews from a single page template. Pretty cool.

Your weekly marketing’s must-reads

Join 284K marketers for weekly news, useful reads, industry updates, and the memes you didn’t know you needed.

Explore what’s inside the newsletter →