Content Marketing

Programmatic SEO, Explained for Beginners

Ryan Law
Ryan Law is the Director of Content Marketing at Ahrefs. Ryan has 13 years experience as a writer, content strategist, team lead, marketing director, VP, CMO, and agency founder. He's helped dozens of companies improve their content marketing and SEO, including Google, Zapier, GoDaddy, Clearbit, and Algolia. He's also a novelist and the creator of two content marketing courses.
Article Performance
  • Organic traffic
    1.47K
  • Linking websites
    100

The number of websites linking to this post.

This post's estimated monthly organic search traffic.

    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 Zapier, Zillow, and G2 use programmatic SEO to generate millions of pageviews each year.

    Programmatic pages are usually created from data in a database, like product prices, weather, or location information. To create programmatic content at a large scale, it helps to be a web developer, but there are less technical ways to learn some of the core principles.

    We’ll show you how.

    Programmatic SEO is a new term for an old idea. If you’ve ever visited Amazon, Yelp, or TripAdvisor, you’ve visited a programmatic page. In fact, if a company offers thousands of products, or provides services in thousands of locations, a programmatic approach to content creation is virtually necessary.

    But you don’t have to be an ecommerce giant to find programmatic content useful.

    Nomadlist’s location pages

    URL: https://nomadlist.com/chiang-mai

    Estimated pages: 25,873

    Estimated monthly organic traffic: 41,200

    Nomadlist helps aspiring digital nomads work out which countries and cities to visit. The website has thousands of programmatic pages sharing the same core information—like internet speeds, average temperatures, and common languages—for towns and cities across the world. 

    programmatic page on nomadlist.com

    Zapier’s app directory

    URL: https://zapier.com/apps 

    Estimated pages: 800,632

    Estimated monthly organic traffic: 306,000

    Zapier is a workflow automation tool that connects different software products together (allowing you to automatically save new emails into a Google Sheet, for example). The company has programmatically created landing pages for each of the thousands of products they integrate with, showing the tools they connect to, and the workflows that can be triggered.

    zapier app directory page

    Webflow’s website templates

    URL: https://webflow.com/made-in-webflow/website  

    Estimated pages: 31,516

    Estimated monthly organic traffic: 27,600

    Webflow is a no-code website builder. They’ve used programmatic SEO to build unique landing pages for thousands of website templates created by their users. Their strategy generates a good amount of traffic, but also makes it easy for visitors to clone the templates and become a Webflow user. 

    webflow website

    Wise’s currency conversion pages

    URL: https://wise.com/us/currency-converter/ 

    Estimated pages: 14,888

    Estimated monthly organic traffic: 4,667,719

    Wise offer international banking services, including currency conversion. They generate millions of monthly pageviews by programmatically creating landing pages to help users convert between different currencies—from US Dollars to Indian Rupees, from Indian Rupees to Mexican Pesos, and so on. Virtually every currency pair has its own unique page.

    Wise’s currency conversion page

    Before you get too excited about the prospect of publishing 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).

    If you’re wondering what sets “good” programmatic content apart from bad, the answer often boils down to data and relevancy.

    Sites like Wise and Zapier can generate millions of pageviews from programmatic content largely because they offer good, product-relevant data in a format that’s useful to the reader:

    • Wise’s currency conversion pages also include historical conversion rate data, rate comparisons with other banks, and the ability to actually send money using Wise.
    • Zapier’s app pages are more than basic lists of tools: they show dozens of useful workflows and allow the reader to actually set them up for themselves.

    Today, it’s technically possible to generate huge numbers of website pages with little more than a ChatGPT subscription, a Google Sheet, and a simple script (which ChatGPT can even help you to write). But just because you can, theoretically, put content creation on autopilot, it doesn’t mean that good results will follow.

    This type of thin content isn’t likely to generate meaningful traffic for a sustained period of time. Relevant, unique data is usually what makes the difference between helpful content and spam.

    True programmatic content creation can get very complicated, very quickly. Thousands (even millions) of data points need to be sourced, synced, and updated. Thousands of URLs need to be indexed, and thousands of internal links need to be built. To create something like Wise or Zapier have built, you need developers.

    But not every programmatic project has to be quite so complicated. You can attract plenty of traffic with just a few hundred or a few thousand pages.

    Here’s a simple no-code process to get started with programmatic SEO. It will help you identify great keywords for programmatic SEO, automatically build prototype pages, and even communicate more effectively with the developers who’ll bring your vision to life.

    1. Find keywords that scale

    Programmatic content works by targeting thousands of similar keywords with one basic page template. So to get started, you need to find relevant keywords that have hundreds (or even thousands) of similar variations.

    Start by entering your seed keywords into Ahrefs’ Keywords Explorer. For a personal finance website, you might use terms like debt management, cost of living and expense tracking. Then expand your list of possible keywords by selecting the Matching Terms report:

    Ahrefs’ Keywords Explorer

    If you’re not confident in your ability to rank for high-competition keywords, it can be useful to filter your results by setting the Keyword Difficulty to <20 and the DR of top-ranking sites to <30. This will show keywords that most websites could rank for—even those without lots of backlinks:

    high-competition keyword filter

    Browse through the keyword list and look for patterns in the keywords. In this case, many of the “cost of living” keywords reference a particular location:

    keyword list on Ahrefs

    To home in on just these types of keywords, we can use the Include filter to show all keywords that include “cost of living in”:

    keywords that include “cost of living in”:

    Looking at this example, we’ve found 1,143 keywords with a combined monthly search volume of 122,000. Successfully ranking for even a few dozen of these terms could generate substantial traffic for your website.

    These keywords are perfect for programmatic SEO. The type of content that would best help someone searching for “cost of living in arizona” is likely to be very similar to the type of content that would help someone searching for “cost of living in california.”

    The data on each page would need to be different, but the structure and main ideas would be the same.

    2. Check search intent

    Next, you need to work out what type of content would help people searching for these keywords. If you look at the SERP for a few of your “cost of living” keywords, many of the search results contain the same types of information:

    • A cost of living score on a 0–100 scale
    • Comparisons with nearby states
    • Typical costs for major expenses like property, food, and healthcare
    Article about the cost of living in South Carolina

    These data points give us an idea of the type of information required to meet the searcher’s intent. Searchers want a way to quickly compare cost of living between states, and beyond that, to see how those costs break out across core categories.

    For your programmatic content, you should probably include these data points on every page.

    3. Find relevant data

    Next, you need to source that data. There are three types of data you have at our disposal:

    • Proprietary data: original data that is unique to you, your company, or your product. This is the most desirable data type: you can provide information no one else has.
    • Public data: publicly available data that is licensed for commercial use. This is usually the easiest data to find, but that means that other companies may be using it in a similar context.
    • Scraped data: data extracted from websites using web scraping tools. This can be useful but may introduce issues with copyright.

    Looking at the search results for these keywords, many of the top-ranking articles contain data from the same public data source: the Cost of Living Index published by the Council for Community and Economic Research. It’s likely that you’ll be able to use this same data in your programmatic content.

    article published by the Council for Community and Economic Research

    If you want to go a step further, you could consider adding new data that other top-ranking articles don’t have. Sites like Kaggle provide data sets for use in training AI and machine learning models, but they can also provide extra data points for your content.

    Run a quick search for “cost of living” on Kaggle, and several useful data sets appear. You can order by age to find new data that other companies are unlikely to be using:

    search results on Kaggle

    Armed with your data sources, you can combine all of your desired data points together in a single place.

    4. Build your pages

    Next, you need to map your data sources to relevant parts of your page. At this point, it would be helpful to enlist a web developer—but we’ll show a simplified example using Google Sheets as a basic database.

    In the first tab of the spreadsheet, we have our keyword data, which you can use to build page titles and URLs. In the next tab, we have our cost of living data.

    Ahrefs Programmatic Content Example

    Based on our intent analysis, we want each page to include three “buckets” of information:

    • Cost of living score
    • Comparison with other US states
    • Breakdown of costs across key categories

    So in the third tab, we’ve created a formula that pulls relevant data from our different sheets into a simple page template.

    page formula
    Sidenote.
    If you aren’t very familiar with Google Sheets formulas, in the fourth tab we’ve included a ChatGPT prompt that can do this for you.

    This body copy correctly references data from the cost of living sheet, showing the cost of living score, ranking it relative to the other 49 states, determining whether a state is cheap, mid-priced, or expensive, and sharing cost indices across six major categories.

    If you add additional states to the list by dragging down the formula in column A, new URLs, page titles, and body copy are automatically generated. By combining your data sources with a single page template, you can create 50 different pages with the drag of a mouse.

    List of states

    Crucially, the content we’ve generated here is the definition of “thin”, containing lots of duplicated text and non-original data. But if you were to add unique data, create helpful data visualizations, and provide unique written context, then these pages might stand a fighting chance at helping readers and ranking for their target keywords.

    5. Publish content to your website

    The final step is to publish your newly created content to your website. Depending on the content management system you use, there are a few no-code tools that can help with this process:

    • If you already use WordPress for your website, try WP All Import.
    • If you use Webflow CMS, set up a Zapier integration to connect to your spreadsheet.
    • If you want to build a website straight from your spreadsheet, try Softr.

    Once configured, each of these tools will automatically publish a new website page whenever a new row of data is added to your spreadsheet.

    Final thoughts

    Programmatic SEO is not money for nothing. Managing data and pages at large scales is deceptively complicated. In order for your content to rank—and actually help people—you’ll need relevant, interesting data to share. (And it helps to be a web developer.)

    But 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.

    Article Performance
    • Organic traffic
      1.47K
    • Linking websites
      100

    The number of websites linking to this post.

    This post's estimated monthly organic search traffic.