Nomad List has over 24,000 indexed pages. Zapier has 800,000+. Wise has 28,000+ currency conversion pages. None of these were written manually.

Programmatic SEO (pSEO) creates large numbers of pages using templates and structured data. Instead of writing each page individually, you build a system that generates pages automatically—each targeting a specific long-tail keyword.

The approach works because long-tail keywords collectively drive massive traffic. A single page targeting “cost of living in Chiang Mai” might get 500 visits per month. Generate 2,000 city pages and you have a significant traffic engine.

This guide covers the complete pSEO process: from finding keyword patterns to building templates to avoiding penalties.

What Is Programmatic SEO?

Programmatic SEO creates many webpages using three components:

Template + Database = Thousands of Unique Pages

Template: A consistent page structure with placeholders for variable data.

Database: Structured information that fills those placeholders.

Output: Hundreds or thousands of pages, each targeting a specific search query.

This differs from AI-generated content. Programmatic pages display real data in consistent formats. The value comes from the data itself, not from generated prose.

Scale Examples

CompanyPagesMonthly Organic Traffic
Zapier800,000+300,000+
Nomad List24,000+41,000+
Wise28,000+Millions
YelpMillionsMassive
AirbnbMillionsMassive

These numbers aren’t achieved through manual content creation. They’re built through systems.

How Programmatic SEO Works

Component 1: Data Source

Your database of information. This could be:

  • City data (population, cost of living, weather)
  • Product catalogs (specifications, pricing, availability)
  • Integration information (what connects to what)
  • Comparison data (features across competitors)

Data requirements:

  • Structured with consistent fields across entries
  • Accurate—errors multiply at scale
  • Complete—missing data creates poor pages
  • Updatable—stale information hurts rankings and user trust

Component 2: Page Template

The HTML and design structure that displays your data. Templates include:

  • Static elements (navigation, headers, footers)
  • Dynamic placeholders (city name, price, features)
  • Consistent layout across all generated pages

Component 3: Generation System

Code that combines data with templates to produce pages. Options include:

  • Static site generators (Astro, Next.js, Hugo)
  • CMS with custom fields (WordPress, Webflow)
  • Custom code solutions

Example: Nomad List City Pages

Data: 2,000+ cities with cost of living, internet speed, weather, safety scores, and nomad community size.

Template: City page layout displaying all data points in organized sections with comparisons to similar cities.

Output: 24,000+ unique, indexable pages—each targeting a search pattern like “cost of living in [city]” or “[city] for digital nomads.”1

Programmatic SEO vs Traditional SEO

AspectTraditional SEOProgrammatic SEO
Content CreationManual writingAutomated from data
ScaleTens to hundreds of pagesThousands to millions
KeywordsHead terms and medium-tailLong-tail at scale
Time InvestmentPer-page basisUpfront system building
Best ForUnique, opinion-based contentData-driven, factual content
ExamplesBlog posts, guidesLocation pages, comparison pages

Neither approach is universally superior. The right choice depends on your content type and available data.

When to Use Programmatic SEO

Good Fit

Large product catalogs: E-commerce sites with thousands of products can generate pages for each product, each category, and each combination.

Location-based businesses: Real estate, travel, and local services can create pages for every city, neighborhood, or region they serve.

Integration/comparison pages: SaaS companies can create pages for every integration (“connect X to Y”) or comparison (“X vs Y”).

Directory-style sites: Any business model based on listing many similar items—restaurants, jobs, properties, events.

Data-rich industries: Finance (currency conversion), weather (forecasts by location), statistics (demographic data by region).

Poor Fit

Opinion and editorial content: Programmatic pages display data, not unique perspectives.

Highly unique topics: If each page requires original research or analysis, templates won’t work.

Small product range: Generating 10 pages isn’t worth building a system. Write them manually.

Content requiring expertise: Medical advice, legal guidance, and technical tutorials require human judgment that templates can’t replicate.

The Decision Test

Ask three questions:

  1. Do you have structured data that could fill many pages?
  2. Are there repeatable keyword patterns in your space?
  3. Can a template genuinely serve user intent?

If yes to all three, pSEO is worth exploring.

Keyword Research for Programmatic SEO

Pattern-Based Keywords

Programmatic SEO targets keyword patterns with variables:

PatternVariablesExample Keywords
”[city] cost of living”City names”Tokyo cost of living”, “Austin cost of living"
"[tool] vs [tool]“Product names”Slack vs Teams”, “Notion vs Asana"
"best [category] in [location]“Category + location”best pizza in Chicago”, “best gyms in Denver"
"[product] alternatives”Product names”Mailchimp alternatives”, “Zoom alternatives"
"[topic] for [audience]“Topic + audience”investing for beginners”, “coding for kids”

The pattern remains constant; the variables create unique pages.

Finding Patterns

Method 1: Modifier Analysis

Start with a seed keyword and systematically add modifiers.

Seed: “cost of living” Add location modifiers: “cost of living in [city]” Add comparison modifiers: “cost of living [city] vs [city]” Add audience modifiers: “cost of living for [demographic]”

Method 2: Competitor Template Analysis

Find sites using pSEO in your space. Analyze their URL patterns and page structures. Identify their data sources.

Example: If Zapier has pages like /apps/slack/integrations/trello, the pattern is /apps/[app1]/integrations/[app2].

Method 3: Search Suggest Mining

Type your pattern into Google and note autocomplete variations. These represent actual searches.

Typing “best restaurants in” shows: “best restaurants in NYC”, “best restaurants in LA”, “best restaurants in Chicago”—each a potential page.

Validating Demand

Individual long-tail keywords may have low search volume. The opportunity lies in aggregate.

If “cost of living in Chiang Mai” gets 500 searches/month, and you can create 2,000 city pages, total opportunity is substantial—even if each individual page targets a low-volume term.

Check:

  • Search volume per keyword (expect low individually)
  • Total opportunity across all variations
  • Current ranking difficulty for the pattern

Building Your Data Source

Data Quality Requirements

Structured: Consistent fields across all entries. If some cities have “average rent” and others have “monthly housing cost,” your template can’t work.

Accurate: At scale, errors multiply. One wrong data point becomes one bad page. Verify sources.

Complete: Missing data creates poor user experiences. A city page without cost data is useless. Either fill gaps or don’t create the page.

Updatable: Stale data hurts both rankings and user trust. Plan for regular updates.

Data Source Options

Public data:

  • Government databases (census, statistics bureaus)
  • Wikipedia and Wikidata
  • Open APIs
  • Public datasets (Kaggle, data.gov)

Proprietary data:

  • Your product database
  • Customer data (aggregated and anonymized)
  • Original research and surveys
  • Scraped and manually cleaned data

Third-party data:

  • Paid API providers
  • Data marketplaces
  • Partner integrations

Example: Nomad List Data Structure

For each city, Nomad List collects:2

Data PointSourceUpdate Frequency
Cost of livingUser reports + external APIsMonthly
Internet speedUser-submitted speed testsContinuous
WeatherWeather APIsReal-time
Safety scoreExternal crime data + user reportsQuarterly
Nomad scoreProprietary algorithmCalculated

The combination of multiple data sources creates value that’s hard to replicate.

Creating Effective Templates

Template Anatomy

Above the fold:

  • Clear H1 with primary keyword (“[City] Cost of Living Guide”)
  • Key data points immediately visible
  • Answer user intent fast

Body content:

  • Data-driven sections with tables and lists
  • Comparison elements (vs similar cities/products)
  • Relevant statistics with context
  • Internal links to related pages

Supporting content:

  • FAQ section (can be templated with variables)
  • Related pages section
  • User-generated content (reviews, comments) if available

Template Quality Requirements

Each page must be genuinely useful. Google explicitly penalizes “thin content”—pages that exist only for SEO without serving user needs.3

Quality signals:

  • Real data that users can’t easily find elsewhere
  • Useful presentation (not just raw numbers)
  • Context and comparisons that add value
  • Unique elements per page when possible

Example Template Structure

H1: Cost of Living in [City], [Country]

Quick Stats Box:
├── Monthly budget: $[monthly_cost]
├── Internet: [speed] Mbps
├── Safety: [safety_score]/5
└── Weather: [avg_temp]°C average

Section: Detailed Cost Breakdown
├── Rent: $[rent] (1BR apartment)
├── Food: $[food]/month
├── Transport: $[transport]/month
└── Entertainment: $[entertainment]/month

Section: Compared to Similar Cities
├── Table comparing to 3-5 similar cities
└── Link to full comparison tool

Section: Best For
├── Digital nomads? [yes/no + reasoning]
├── Families? [yes/no + reasoning]
└── Retirees? [yes/no + reasoning]

FAQ Section:
├── Is [City] expensive? [templated answer with data]
├── What's the weather like? [templated answer with data]
└── Is [City] safe? [templated answer with data]

Related Pages:
├── Similar cities (by cost/region)
├── Same country
└── Same continent

Technical Implementation

Technology Options

Static site generators (Astro, Next.js, Hugo):

  • Generate pages at build time
  • Excellent performance
  • Good for tens of thousands of pages
  • Requires rebuild for updates

Dynamic CMS (WordPress, Webflow):

  • Database-driven generation
  • Updates reflect immediately
  • More server resources required
  • Good for frequently changing data

Custom solutions:

  • Maximum flexibility
  • Can handle any scale
  • Requires development resources
  • Good for complex requirements

URL Structure

URLs should be:

  • Clean and descriptive
  • Include target keyword naturally
  • Follow consistent patterns
  • Human-readable

Examples:

  • /cities/bangkok-thailand/cost-of-living/
  • /compare/slack-vs-discord/
  • /integrations/salesforce-to-mailchimp/

Internal Linking

Programmatic pages need internal linking structures:

Hub pages: Category pages that link to all related template pages.

Cross-links: Related template pages link to each other (similar cities, competing products).

Breadcrumbs: Clear path back to hub pages.

Footer sections: Related pages, popular pages, category navigation.

Technical SEO Requirements

Sitemaps: Large sites may need multiple sitemaps (50,000 URLs per file maximum).

Crawl budget: Google won’t crawl unlimited pages. Prioritize high-value pages and ensure clean crawl paths.

Page speed: Templates should be lightweight. Heavy pages at scale create poor experiences.

Canonical URLs: Prevent duplicate content issues with proper canonicalization.

Avoiding pSEO Pitfalls

Thin Content Penalty

Google penalizes pages that exist only for SEO without providing real value. This is the primary risk with programmatic SEO.

Prevention:

  • Minimum content thresholds (don’t generate pages with insufficient data)
  • Genuine utility per page (would a human find this useful?)
  • Quality data only (better to have fewer good pages than many poor ones)
  • noindex pages that don’t meet quality standards

Duplicate Content

Template sameness can create duplication issues. Two city pages with nearly identical text and only numbers changed may be flagged.

Prevention:

  • Add dynamic elements that vary meaningfully
  • Ensure data differences create substantive page differences
  • Use unique descriptions where possible
  • Implement canonical tags properly

Keyword Cannibalization

Creating too many similar pages can cause them to compete with each other in search results.

Prevention:

  • Clear topic differentiation between pages
  • Hub-and-spoke architecture (hub pages target head terms, spoke pages target long-tail)
  • Internal linking that signals page hierarchy

Stale Data

Outdated information creates poor user experiences and can hurt rankings.

Prevention:

  • Establish update schedules for data sources
  • Display “last updated” dates prominently
  • Remove or noindex pages with critically stale data
  • Monitor for data quality issues

Case Study: Nomad List

The Strategy

Problem: Digital nomads need comprehensive city comparisons—cost of living, internet quality, safety, weather, community.

Solution: Aggregate data for thousands of cities and present it through template pages targeting long-tail searches.

Keyword Patterns Targeted

  • “Cost of living in [city]”
  • “Best places to live in [country]”
  • “[City] for digital nomads”
  • “[City] vs [City]” comparisons
  • “Internet speed in [city]“

Results

  • 24,000+ indexed pages1
  • 41,000+ monthly organic visitors
  • Authority site status in the digital nomad space
  • Foundation for $2M+ ARR membership business

What Made It Work

Proprietary data: Not just scraped information, but curated and verified data with proprietary calculations (Nomad Score).

Community contribution: Users submit and verify data, keeping it fresh and creating engagement.

Genuine utility: People actually use the site to make decisions, not just for information.

Continuous updates: Data stays current through user contributions and API integrations.

Brand building: Pieter Levels’ personal brand and build-in-public approach amplified reach beyond organic search.

Getting Started: Your First pSEO Project

Week 1: Research

Identify keyword patterns:

  • What patterns exist in your space?
  • What variables can you fill?
  • How much search volume exists across variations?

Analyze competitors:

  • Who’s doing pSEO in your space?
  • What’s their URL structure?
  • What data are they using?

Validate opportunity:

  • Is aggregate search volume significant?
  • Can you compete on data quality?
  • Do you have or can you acquire the necessary data?

Week 2: Data

Identify data sources:

  • What data do you already have?
  • What public data is available?
  • What would you need to collect or purchase?

Structure and clean:

  • Standardize fields across entries
  • Verify accuracy
  • Fill gaps or exclude incomplete entries

Plan for updates:

  • How often does this data change?
  • What’s your update process?
  • Can you automate updates?

Week 3: Template

Design page structure:

  • What sections serve user intent?
  • What data goes where?
  • How do related pages link together?

Build template:

  • Implement with your chosen technology
  • Test with sample data
  • Verify SEO best practices (H1, meta tags, schema)

Quality check:

  • Does each generated page provide value?
  • Would you be satisfied finding this page in search?
  • Are there thin pages to exclude?

Week 4: Launch

Generate initial batch:

  • Start with 100-500 pages rather than everything
  • Test indexing and ranking
  • Identify issues before full scale

Submit sitemaps:

  • Add to Google Search Console
  • Monitor indexing rate

Track performance:

  • Which pages get indexed?
  • Which pages rank?
  • What’s the traffic per page?

Ongoing

Expand coverage:

  • Add more data (more cities, more products)
  • Add new keyword patterns
  • Build supporting hub pages

Maintain quality:

  • Update data regularly
  • Remove or improve underperforming pages
  • Monitor for technical issues

Measure and iterate:

  • Which patterns perform best?
  • Where are ranking gaps?
  • What content additions improve pages?

Conclusion

Programmatic SEO isn’t content generation—it’s building a system that serves user needs at scale. The pages must be genuinely useful. The data must be accurate. The template must answer the query.

When done well, pSEO creates sustainable traffic from thousands of long-tail keywords that competitors can’t easily replicate. Nomad List, Zapier, and Wise built significant businesses on this foundation.

The approach isn’t right for every site. You need structured data, keyword patterns worth targeting, and the technical ability to build and maintain the system. But if those pieces exist, programmatic SEO can be the most efficient content strategy available.

Start small. Build 100 pages. Measure results. Scale what works.

Further Reading


References

Footnotes

  1. Practical Programmatic. “Nomad List pSEO Case Study.” https://practicalprogrammatic.com/examples/nomadlist - Analysis showing 24,000+ indexed pages and 41,000+ monthly organic visits. 2

  2. Levels, Pieter. Nomad List data methodology discussed in various interviews and the MAKE book. https://nomadlist.com

  3. Google Search Central. “Creating helpful, reliable, people-first content.” https://developers.google.com/search/docs/fundamentals/creating-helpful-content