What is Programmatic SEO?
Programmatic SEO consists of generating hundreds or thousands of pages or articles from a set of data using automation, with the goal of making these pages rank well on Google and bring organic traffic.
As an example, Zapier has pages for almost all “integration” keywords. When someone searches on Google “[Tool 1] [Tool 2] integrations”, or even just “[Tool 1] [Tool 2]”, it’s possible Zapier has a page for that query.
This is the second result for the search “Convertkit Webflow”:
This lands in the following programmatically-created landing page, where they display various integrations between the two tools and allow users to set these up using Zapier.
Typically, Programmatic SEO pages focus on long-tail keywords with a low monthly search volume. However, as it involves creating hundreds or thousands of pages, the total search volume of all the keywords a Programmatic SEO project ranks for is huge.
Generally, Programmatic SEO pages don’t have to deal with strong competitors. As keywords are long-tail, there doesn’t tend to be many websites trying to rank for them. The pages that show up on the results tend to cover broader topics, so programmatically-created specific pages don’t have big problems outranking the competition.
Furthermore, don’t think of programmatically-created landing pages or articles as authoritative and quality content. It’s hard to keep quality the highest when generating so much content automatically. Programmatic SEO focuses, instead, on satisfying the users’ specific needs and potentially converting them into customers.
How to Do Programmatic SEO?
I’ll now go over a 4-step process to create a Programmatic SEO project, while sharing you how I did it at Failory.
1) Find a Head Term
The first step is to find a head term, a broad type (or pattern) of content where one or a few words can be modified to form lots of different topics.
Following Zapier’s example, their head term is “[Tool 1] [Tool 2] integrations”.
The users’ intent searching the queries “ConvertKit Webflow integrations” or “Mailchimp Webflow integrations” is entirely different, so it makes sense for Zapier to have pages for both topics and, in general, for every existing tool in their platform.
We can easily calculate that if Zapier has 3,000 tools on their platform, they can programmatically create 4,498,500 pages (3,000 * 2,999 / 2). Even if each of these pages brings them a few visitors per month, they get a massive amount of organic traffic.
How to Find Head Terms?
There’re infinite ways to find these head terms. Here are four strategies:
- Niche websites: Find blogs with a similar audience as yours and check their indexed pages by searching on Google “site:example.com”. Identify patterns in these pages.
- Niche communities: Join communities formed by your audience and see if there’s a pattern in the members’ posts and questions.
- Google Search Bar: Use Google to find in your niche interesting keyword patterns. Asterisks will be helpful - Google treats them as placeholders for one or more words.
- Google Search Console: Use data from your website to find patterns in the keywords your pages are ranking for.
Is It Always Possible to Find Head Terms?
It’s harder in some niches than others, but I think all businesses can find head terms that fit them well.
When searching for head terms, I recommend you not to limit yourself to finding product-related topics, such as Zapier’s head term “[Tool 1] [Tool 2] integrations”. While those are a perfect fit with the business and have high conversion rates, you won’t be able to find them in all niches.
Instead, I recommend you to think of audience-related head terms. These are topics that the target customers might search on Google, but not necessarily when looking for a product like yours.
For example, in the case of Zapier, if their targeted customers are people interested in no-code, they could create content no-coders might search for, but not necessarily when they’re looking for automation tools like Zapier. An example could be “[Category] no code tools”, where [Category] is replaced by “Marketing”, “Community”, etc.
Head Term Idea: “[Competitor 1] vs [Competitor 2]”
Here’s a simple head term idea, in case you are unable to find any: “[Competitor 1] vs [Competitor 2]”.
Businesses generally write content comparing themselves with other competitors, but it’s not common to see a business comparing two other competitors. I think this is a good idea, as it allows you to get found by target customers who may not have heard of your business.
If there are 10 competitors in your niche, you can create 45 versus pages. Doing it manually is a pain. Instead, you can collect data for each of the 10 competitors and programmatically create pages comparing this data.
Failory’s Head Term: “[Industry] Pitch Decks”
In early-2021, after doing some keyword research for Failory’s blog, I identified an interesting pattern, which was that I had written 3 article ideas related to pitch decks: “Fintech Startup Pitch Decks”, “Food & Beverage Startup Pitch Decks”, “Media Startup Pitch Decks”.
I had stolen those content ideas from a few pitch deck-related websites I found through Product Hunt, a community visited by Failory’s audience (startup founders).
After doing some Googling, I identified many people were interested in finding pitch decks from startups on lots of different business industries. That’s when I came up with the head term “[Industry] Pitch Decks”.
There are thousands of business industries, so there was a lot of content to be created with that head term. Besides that, each of the industries was getting at least some monthly searches, according to a quick check I did on Ahrefs.
2) Validate the Head Term
Not all head terms are suitable with programmatically-created content and not all head terms are worth it in terms of organic traffic they can bring. You need to validate these two things.
Is This Head Term Suitable With Programmatic SEO?
Programmatically-created content isn’t the highest quality possible, which means that it won’t be enough for the pages to rank well in some cases.
Besides that, some head terms are limited in the amount of content you can create making it not worth to programmatically create the content.
This is why you need to validate if the head term is suitable with Programmatic SEO. To do so:
- Analyze the content quality of existing posts ranking for the head term. Is it manually-created content? Does this content satisfy users’ search intent?
- Analyze the domain authority of pages ranking for the head term. Are they well-known websites with lots of backlinks or just small niche sites?
- Analyze if the head term is scalable. Does the head term allow you to create hundreds or thousands of pages? Can these pages be created automatically by filling fields with data or do they require a lot of manual work?
Will This Head Term Bring Traffic?
You’ll be investing a lot of time and resources on scaling this Programmatic SEO project, so it’s a clever idea to run a small experiment, just as lean startups do, to validate if the head term will bring organic traffic.
Come up with 3 topics within the head term, create simple pages for each (don’t spend more than 2-3 hours), and publish them in your blog. Wait one month and check Google Search Console. If they brought traffic, you can move on with the project. If not, you can run a new experiment or move to another head term.
Failory’s Head Term Validation
In order to validate the head term, I first analyzed the SERPs for a few “[Industry] Pitch Decks” queries. The content quality of the ranking pages was fine, but nothing too impressive. None of the ranking websites had a high domain authority - they were mostly niche websites.
Then, I thought about how I could be able to automatically create the articles. I came up with the idea of curating a database of pitch decks categorized by the startup’s industries. I’d then create the articles by selecting all the pitch decks in which the startup had a specific industry. As the startups would have more than one industry, I could re-use the pitch decks in various articles.
The third step was to validate if the head term would bring organic traffic. To do so, I published 3 simple articles on “Fintech startup pitch decks”, “Food & Beverage startup pitch decks” and “Media startup pitch decks”, each of these listing 5-10 pitch decks on the corresponding industry.
After one month, I checked Search Console and they had received 58, 50, and 7 clicks. This was enough validation for me.
3) Collect Data
It’s now time to scale the project to hundreds or thousands of pages. The most common way to do this is through data, whether manually collected, extracted from APIs, or user-generated.
Before collecting data, I recommend you to plan in detail what kind of data you need in order to create pages that rank well on Google for the head term topics. To do so, analyze competition again and extract their best ideas and practices.
There generally are two ways of collecting the needed data:
1) You Own the Data
If you run a community, marketplace, or other types of businesses where users generate content, it’s possible that you already own a ton of data. You can re-use that data to create the pages of the head term.
Zapier, for example, had all the data they needed to create the “ConvertKit Webflow integrations” page as it’s a page where they only display their supported and most popular integrations between the two tools.
2) You Curate the Data
Chances are you don’t own any data, or at least the data needed to create the pages for your head term. If that’s the case, you’ll have to manually curate, scrape or extract from APIs data.
That’s what I did for the Pitch Deck Programmatic SEO project.
Curating Pitch Deck Data for Failory
After validating the Pitch Deck head term, it was the time of scaling the project. As I didn’t have at Failory any data about pitch decks, I had to curate it.
Before collecting the data, I analyzed the pages ranking for keywords of the style “[Industry] Pitch Decks” and got some ideas of what kind of information I had to collect.
After that, I hired a freelancer to scrape from different websites and collect from SlideShare (the platform preferred by founders to share their pitch decks) a list of +350 pitch decks, with a lot of information about each startup, including the name, website, industry, funding amount, funding round, etc.
4) Create the Pages at Scale
Once you have all the data, you have to programmatically create all the pages and publish them on your website. I won’t get into details on how to do this, as it depends on the tech stack of your website.
Let’s analyze how Zapier programmatically created the pages for the “ConvertKit Webflow integrations” page.
At the top of the page, they placed the most popular ConvertKit and Webflow integrations. They extracted this information from their usage data. They display it so high on the page because they know that many of the users searching for ConvertKit and Webflow integrations are looking for one of those two workflows. Therefore, they can quickly convert them into Zapier’s users.
Below that, they placed all of their supported triggers and actions for ConvertKit and Webflow. They allow users to click on one to start setting up the workflows between the two tools, converting them into users.
Below that, there’s a step-by-step integration process for ConvertKit and Webflow. They have automatically created this simply by replacing some words on a template. Once again, they display this information to convert users through the “Connect ConvertKit + Webflow” CTA.
Finally, at the bottom of the page, they display a short description for ConvertKit and Webflow, as well as links to similar tools. This section isn’t focused on converting visitors to users, but rather on adding some content that helps the page rank higher on the SERPs.
Programmatically Creating the Pitch Decks Articles on Failory
I programmatically created the articles using Webflow, a no-code visual website builder. I shared further how I did it on this article I published on my website. This is how the articles ended up looking:
While you might face some limitations with Webflow, it’ll be enough for most businesses. WordPress should also be fine. If you know how to code and can quickly build a custom CMS, you might prefer to go that way.
From coming with the idea to publishing all the 429 pages of this Programmatic SEO project (which you can find here), it took us around 3 months, but I’d say less than 50 hours of work. In the last 3 months, over 30k organic users landed on our pitch deck pages.
5 Common Programmatic SEO Problems
Here are some of the problems I and other businesses have faced when working on Programmatic SEO projects, along with some advice on how to prevent them from happening:
- Crawlability: When you have so many pages, it happens that Google doesn’t index some of them. You’ll need to work well on the interlinking between the pages to ensure Google finds them all. We’re currently testing having a hub for each of our Programmatic SEO projects where users and Google can find all the pages that form part of it.
- Duplicated content: If you re-use the data on different pages, you may end up having pages that are almost the same. That can be penalized by Google. Make sure that at least 50% of the content is different (aim for 80% to be safe).
- Manual penalization: If you publish thousands of pages all at once, you risk being manually reviewed and potentially penalized by Google. Google’s algorithms note unusual publishing patterns, so try not to publish all of your pages at once.
- Thin content: Many Programmatic SEO pages contain mostly images and graphs and lack descriptive text. This can lead to having thin-content pages which will struggle to rank on Google. Provide supporting explanations to your visual content.
- Cannibalization: Programmatic creation of pages sometimes leads to having various pages focused on really similar topics and keywords. That can cause keyword cannibalization, which means that Google doesn’t know which page should rank for the keyword, and therefore none of them rank. Make sure all of your pages are distinctive enough between them.
3 Programmatic SEO Examples
1) EquityZen: “[Buy/Sell] [Company] Stock”
EquityZen is an online marketplace for trading shares of pre-IPO companies. They have created 4,349 pages under the head term “[Buy/Sell] [Company] Stock”, ranking for keywords like “Buy SpaceX stock” or “Sell SpaceX stock”.
According to Ahrefs, these pages have an estimated organic traffic of 175k and rank for over 80k keywords.
The greatest thing about EquityZen’s strategy is that they’re ranking for keywords that are a perfect fit with their product, so the conversion rate from website visitor to user must be high. Even with a low conversion rate, anyway, this channel probably brings them a few hundreds or thousands of customers per month.
2) DelightChat: “Best Shopify [Category] Apps”
DelightChat is a customer support SaaS for Shopify. They have used Webflow to programmatically create more than 300 articles under the head term “Best Shopify [Category] Apps”, where [Category] is replaced by topics like “Accounting” or “Affiliate”.
This channel brings to DelighChat’s website Shopify business owners, some of whom might find their customer support app useful and might convert into their customers through the top banner all of their articles have.
According to Ahrefs, these pages have over 30k organic traffic and are ranking on 29k+ keywords, some of which are quite competitive:
3) Upsolve: “How to File Bankruptcy in [Location]”
Upsolve is a nonprofit that helps people in the US file for bankruptcy. They have created over 95k articles under the head term “How to File Bankruptcy in [Location]” where [Location] is replaced by a state or a city.
According to Ahrefs, these pages have an organic traffic of 30k. They also have a blog which receives over 120k in organic traffic. The most impressive thing is that the blog only drives them 10% of the conversion, while the Programmatic SEO articles 70%.
Wrapping Up: How to Start?
Programmatic SEO is working for lots of businesses. I’m sure there are some interesting opportunities in your niche.
Here’s how you can start:
- Find a head term (1-2 hours).
- Analyze the head term (15-30 minutes).
- Launch a validation test (2-3 hours).
- Wait one month.
- Collect data to scale the project (10+ hours).
- Programmatically create the pages (2-4 hours).
If you have any questions on how to start, reply to this email. I'm happy to help you with any stage of the process.
If you found this newsletter helpful, I'd appreciate it if you could take 2 minutes to reply and share your feedback.
Besides that, let me know if you'd like me to write about any specific topic. Here are some ideas I have for the upcoming weeks in which I'll be writing about unconventional customer acquisition channels:
- Engineering as Marketing / Side-Project Marketing
- Internet Challenges
- Viral Giveaways
- Open Startups
Lastly, make sure to check Tappollo. They are the tech partner your startup (even if bootstrapped!) needs.
Talk to you next week!
Cheers,
Nico