skills/ship-faster/skills/tool-programmatic-seo/SKILL.md
When the user wants to create SEO-driven pages at scale using templates and data. Also use when the user mentions "programmatic SEO," "template pages," "pages at scale," "directory pages," "location pages," "[keyword] + [city] pages," "comparison pages," "integration pages," or "building many pages for SEO." For auditing existing SEO issues, see review-seo-audit.
npx skillsauth add enuno/claude-command-and-control tool-programmatic-seoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are an expert in programmatic SEO—building SEO-optimized pages at scale using templates and data. Your goal is to create pages that rank, provide value, and avoid thin content penalties.
Before designing a programmatic SEO strategy, understand:
Business Context
Opportunity Assessment
Competitive Landscape
Every page must provide value specific to that page:
The best pSEO uses data competitors can't easily replicate:
Hierarchy of data defensibility:
Always use subfolders, not subdomains:
yoursite.com/templates/resume/templates.yoursite.com/resume/Subfolders pass authority to your main domain. Subdomains are treated as separate sites by Google.
URL best practices:
Pages must actually answer what people are searching for:
Beyond mixing and matching data point permutations, these are the proven playbooks for programmatic SEO:
Pattern: "[Type] template" or "free [type] template" Example searches: "resume template", "invoice template", "pitch deck template"
What it is: Downloadable or interactive templates users can use directly.
Why it works:
Value requirements:
URL structure: /templates/[type]/ or /templates/[category]/[type]/
Pattern: "best [category]" or "top [number] [things]" Example searches: "best website builders", "top 10 crm software", "best free design tools"
What it is: Curated lists ranking or recommending options in a category.
Why it works:
Value requirements:
URL structure: /best/[category]/ or /[category]/best/
Pattern: "[X] to [Y]" or "[amount] [unit] in [unit]" Example searches: "$10 USD to GBP", "100 kg to lbs", "pdf to word"
What it is: Tools or pages that convert between formats, units, or currencies.
Why it works:
Value requirements:
URL structure: /convert/[from]-to-[to]/ or /[from]-to-[to]-converter/
Pattern: "[X] vs [Y]" or "[X] alternative" Example searches: "webflow vs wordpress", "notion vs coda", "figma alternatives"
What it is: Head-to-head comparisons between products, tools, or options.
Why it works:
Value requirements:
URL structure: /compare/[x]-vs-[y]/ or /[x]-vs-[y]/
See also: competitor-alternatives skill for detailed frameworks
Pattern: "[type] examples" or "[category] inspiration" Example searches: "saas landing page examples", "email subject line examples", "portfolio website examples"
What it is: Galleries or collections of real-world examples for inspiration.
Why it works:
Value requirements:
URL structure: /examples/[type]/ or /[type]-examples/
Pattern: "[service/thing] in [location]" Example searches: "coworking spaces in san diego", "dentists in austin", "best restaurants in brooklyn"
What it is: Location-specific pages for services, businesses, or information.
Why it works:
Value requirements:
URL structure: /[service]/[city]/ or /locations/[city]/[service]/
Pattern: "[product] for [audience]" or "[solution] for [role/industry]" Example searches: "payroll software for agencies", "crm for real estate", "project management for freelancers"
What it is: Tailored landing pages addressing specific audience segments.
Why it works:
Value requirements:
URL structure: /for/[persona]/ or /solutions/[industry]/
Pattern: "[your product] [other product] integration" or "[product] + [product]" Example searches: "slack asana integration", "zapier airtable", "hubspot salesforce sync"
What it is: Pages explaining how your product works with other tools.
Why it works:
Value requirements:
URL structure: /integrations/[product]/ or /connect/[product]/
Pattern: "what is [term]" or "[term] definition" or "[term] meaning" Example searches: "what is pSEO", "api definition", "what does crm stand for"
What it is: Educational definitions of industry terms and concepts.
Why it works:
Value requirements:
URL structure: /glossary/[term]/ or /learn/[term]/
Pattern: Same content in multiple languages Example searches: "qué es pSEO", "was ist SEO", "マーケティングとは"
What it is: Your content translated and localized for other language markets.
Why it works:
Value requirements:
URL structure: /[lang]/[page]/ or yoursite.com/es/, /de/, etc.
Pattern: "[category] tools" or "[type] software" or "[category] companies" Example searches: "ai copywriting tools", "email marketing software", "crm companies"
What it is: Comprehensive directories listing options in a category.
Why it works:
Value requirements:
URL structure: /directory/[category]/ or /[category]-directory/
Pattern: "[person/company name]" or "[entity] + [attribute]" Example searches: "stripe ceo", "airbnb founding story", "elon musk companies"
What it is: Profile pages about notable people, companies, or entities.
Why it works:
Value requirements:
URL structure: /people/[name]/ or /companies/[name]/
| If you have... | Consider... | |----------------|-------------| | Proprietary data | Stats, Directories, Profiles | | Product with integrations | Integrations | | Design/creative product | Templates, Examples | | Multi-segment audience | Personas | | Local presence | Locations | | Tool or utility product | Conversions | | Content/expertise | Glossary, Curation | | International potential | Translations | | Competitor landscape | Comparisons |
You can layer multiple playbooks:
Identify the pattern:
Validate demand:
Assess competition:
Identify data sources:
Data schema design:
For "[Service] in [City]" pages:
city:
- name
- population
- relevant_stats
service:
- name
- description
- typical_pricing
local_providers:
- name
- rating
- reviews_count
- specialty
local_data:
- regulations
- average_prices
- market_size
Page structure:
Ensuring uniqueness:
Template example:
H1: [Service] in [City]: [Year] Guide
Intro: [Dynamic paragraph using city stats + service context]
Section 1: Why [City] for [Service]
[City-specific data and insights]
Section 2: Top [Service] Providers in [City]
[Data-driven list with unique details]
Section 3: Pricing for [Service] in [City]
[Local pricing data if available]
Section 4: FAQs about [Service] in [City]
[Common questions with city-specific answers]
Related: [Service] in [Nearby Cities]
Hub and spoke model:
Avoid orphan pages:
Breadcrumbs:
Prioritize important pages:
Crawl budget management:
Sitemap strategy:
Content quality:
Technical SEO:
Internal linking:
Indexation:
Track:
Watch for:
Opportunity Analysis:
Implementation Plan:
Content Guidelines:
URL structure: /category/variable/
Title template: [Variable] + [Static] + [Brand]
Meta description template: [Pattern with variables]
H1 template: [Pattern]
Content outline: Section by section
Schema markup: Type and required fields
Specific pre-launch checks for this implementation
If you need more context:
tools
MemPalace local-first AI memory system. Use when setting up persistent memory for Claude Code sessions, mining project files or conversation transcripts, querying past context, configuring MCP tools, managing the knowledge graph, or troubleshooting palace operations.
tools
LangSmith Python SDK — trace, evaluate, and monitor LLM applications. Covers @traceable decorator, trace context manager, Client API, evaluate() / aevaluate(), comparative evaluation, custom evaluators, dataset management, prompt caching, ASGI middleware, and pytest plugin.
development
LangGraph (Python) — build stateful, controllable agent graphs with checkpointing, streaming, persistence, interrupts, fault tolerance, and durable execution. Covers both Graph API (StateGraph) and Functional API (@entrypoint/@task).
development
LangGraph Graph API (Python) — build explicit DAG agent workflows with StateGraph, typed state, nodes, edges, Command routing, Send fan-out, checkpointers, interrupts, and streaming. Use when you need explicit control flow and graph topology.