Wyrote Academy

Programmatic SEO

Template-based content generation at scale

Programmatic SEO lets you generate content at scale using templates with variable patterns. Create a template once, define your variables, and Wyrote generates unique articles for each combination — perfect for location pages, comparison articles, and other repeatable content patterns.

Accessing Programmatic SEO

Click Programmatic in the sidebar navigation, or find it in the Add-ons page.

What Is Programmatic SEO?

Programmatic SEO is a strategy where you create many pages targeting similar keyword patterns. Instead of writing each article individually, you define a template pattern and Wyrote generates unique content for each variation.

Common Use Cases

  • Location pages: "[Service] in [City]" → "Web Design in Austin", "Web Design in Chicago", etc.
  • Comparison pages: "[Product] vs [Competitor]" → "Wyrote vs Jasper", "Wyrote vs Surfer SEO", etc.
  • Pricing pages: "[Service] Pricing Guide for [Industry]"
  • Integration pages: "[Product] + [Integration] Guide"
  • How-to pages: "How to [Action] with [Tool]"

Creating a Template

Click Create Template to start the multi-step wizard:

Step 1: Select Offering

Choose which offering this template belongs to. All generated articles will be associated with this offering.

Step 2: Choose Method

Two options:

  1. Select AI Suggestions.
  2. Wyrote analyzes your offering and generates 5+ template patterns.
  3. Each suggestion includes a pattern (e.g., {city} + {service} pricing) with example titles.
  4. Select one of the suggestions.

Custom Template

  1. Select Custom Template.
  2. Enter a template name (e.g., "City Service Pages").
  3. Define your variable pattern using curly braces (e.g., {city}).
  4. Enter variable values — one per line (e.g., a list of cities).

Step 3: Variable Values

Review and edit the list of variable values:

  • Add new values (one per line)
  • Remove values you don't need
  • The total number of values determines how many articles will be generated

Step 4: Title Variants

Configure how titles are generated:

  • Max title length — Character limit for generated titles
  • Forbidden words — Words that should never appear in titles
  • Always include variable — Whether the variable value must appear in every title

Wyrote generates title variants automatically based on your configuration.

Managing Templates

Templates List

The main Programmatic page shows all your templates:

FieldDescription
Template NameThe template identifier
PatternThe variable pattern used
OfferingAssociated offering
StatusActive or Paused
GeneratedNumber of articles generated so far

Template Actions

  • Click a template to view its detail page
  • Delete to remove the template

Template Status

  • Active — Content is being generated from this template
  • Paused — Generation is stopped; existing content remains

Template Detail Page

Click into a template to see:

  • Template overview (pattern, variable count, generated count)
  • Content generation controls
  • Individual article status and links
  • Pause/resume controls

How Programmatic Content Is Generated

Each variable value creates a separate article that goes through the same content generation pipeline as regular content:

  1. Research phase uses the specific variable value for SERP data
  2. The outline is tailored to the variable context
  3. Section writing produces unique content for each variation
  4. All subsequent stages (enrichment, humanization, editing) run normally

This means every article is unique — not just a find-and-replace of templates.

Best Practices

  1. Start small — Test with 5–10 variable values before scaling to hundreds.
  2. Choose high-value patterns — Pick patterns where each variation has real search volume.
  3. Use AI suggestions — The AI understands your offering and suggests patterns with SEO potential.
  4. Review generated content — Spot-check articles from the template to ensure quality.
  5. Avoid thin content — Each generated article should provide genuine value for the specific variable.

Next Steps

On this page