Programmatic SEO
Create SEO-driven pages at scale using templates and data.
$skillfish add ~skills/programmatic-seo Real Conversations
See how the Programmatic SEO skill responds to actual requests. These are representative examples of what your AI agent will produce.
We want to build programmatic SEO pages for Nucleus PM integrations — like 'Nucleus PM + GitHub', 'Nucleus PM + Slack', 'Nucleus PM + Jira' etc. We have about 40 integrations. How do we structure this at scale so it actually ranks and doesn't get flagged as thin content?
A 40-page programmatic integration hub is a solid play — high buyer intent, low competition. Here's how to build it without thin content penalties:
URL structure:
nucleuspm.com/integrations/[tool-name]- Hub page at
nucleuspm.com/integrations/linking to all
Page template — each page needs 600–800 words of genuinely unique value:
H1: Nucleus PM + [Tool] Integration
Section 1: What this integration does (100w) — MUST be integration-specific Example for GitHub: "When a PR is merged in GitHub, the linked Nucleus PM ticket automatically moves to Done and logs the commit hash. No manual status updates."
Section 2: Step-by-step setup (150w)
- Numbered steps with actual UI labels from both products
- This is your biggest differentiator — most competitors skip real setup instructions
Section 3: Use cases for engineering teams (200w)
- 3 specific use cases unique to this tool pairing
- GitHub examples: auto-close tickets on merge, link commits to stories, PR review notifications in sprint board
Section 4: FAQ (150w)
- 3–4 questions specific to the integration (pull from support tickets)
What prevents thin content flagging:
- Unique setup steps per integration (they genuinely differ)
- Real use cases that aren't just swapped tool names
- FAQ pulled from actual user questions
- Integration-specific screenshots
Prioritize by search volume: GitHub, Slack, Jira first. Build 10 pages, index, monitor. Scale the remaining 30 if rankings materialize within 60 days.
Want a content template with variable placeholders you can use across all 40 pages?
Get Started
How to install and use this skill in your preferred environment.
Skills are designed for AI coding agents (Claude Code, Cursor, Windsurf) and IDE-based workflows where the agent can read files, run scripts, and act on your codebase. Web-based AI can use the knowledge and frameworks, but won't have tool access.
Models & Context
Which AI models and context windows work best with this skill.
Recommended Models
Larger models produce more detailed, production-ready outputs.
Context Window
This skill's SKILL.md is typically 3–10 KB — fits in any modern context window.
All current frontier models (Claude, GPT, Gemini) support 100K+ context. Use the full window for complex multi-service work.
Pro tips for best results
Be specific
Include numbers — users, budget, RPS — so the skill can size the architecture.
Share constraints
Compliance needs, team size, and existing stack all improve the output.
Iterate
Start with a high-level design, then ask follow-ups for IaC, cost analysis, or security review.
Combine skills
Pair with companion skills below for end-to-end coverage.
Good to Know
Advanced guide and reference material for Programmatic SEO. Background, edge cases, and patterns worth understanding.
Contents
Thin Content Risk and Google's Helpful Content System
Google's Helpful Content Update (HCU, rolled into core updates from 2023) targets content created primarily for search engines rather than for people. Programmatic pages are a high-risk category because the generation method — template plus data — makes the "for engines, not people" pattern easy to detect algorithmically.
Signals that identify thin programmatic content:
- Identical sentence structures across hundreds of pages with only entity names swapped
- No information that couldn't be inferred from the page title alone
- Zero first-hand or use-case-specific content
- No engagement signals (high bounce, near-zero time-on-page)
Minimum viable content threshold: There is no published word count. The practical floor is whether the page answers a question the user actually had — something verifiably true, specific, and useful that isn't derivable from the page template itself. For integration pages, real setup steps with product-specific UI labels clear this bar. City/location pages with only address and hours do not.
The thin-but-useful exception: A page with 200 words can survive if those 200 words are uniquely valuable — a conversion rate by city pulled from real data, a tool-specific configuration snippet, or a regulatory requirement specific to that jurisdiction.
Duplicate Content at Scale
Programmatic sites generating near-duplicate pages face indexation and ranking dilution risks. Strategy depends on the degree of duplication:
| Scenario | Recommended approach |
|---|---|
| Near-identical pages with minor variable differences | noindex until meaningful unique content is added |
| Variant pages (city/state, size tiers) with 80%+ shared content | Canonical to the most authoritative variant |
| Legitimate location pages with real unique content | Index all; internal link from hub |
| Deprecated or low-traffic pages not worth updating | 301 redirect to hub or most relevant canonical |
City/state page strategy: If you cannot produce genuinely unique content per location (local stats, region-specific examples, local regulations), canonical all variants to the hub page. Indexing 500 thin city pages is worse than indexing one authoritative hub.
Crawl Efficiency
At 10,000+ pages, crawl budget becomes a real constraint. Googlebot allocates crawl capacity to a domain based on server health, page importance, and historical crawl data. Unimportant pages consume crawl budget that would otherwise go to high-value pages.
robots.txt segmentation: Block entire programmatic sections during development with Disallow: /integrations/. Remove the block only when pages are ready — not in batches.
XML sitemap segmentation: Use separate sitemaps per content type (sitemap-integrations.xml, sitemap-comparisons.xml) and list all in sitemap_index.xml. This lets you monitor indexation rates per section in Google Search Console without noise from other content types.
Crawl budget allocation signals:
- Internal link equity: pages with no internal links are deprioritized
- Update frequency: pages that never change are crawled less often
- PageSpeed: slow pages consume more crawl budget per page
Prioritize internal links from high-traffic pages to the programmatic section hub, and from the hub to individual pages. Do not link to every programmatic page from every page — that flattens link equity across too many targets.
Content Decay Management
Programmatic pages built on external data (APIs, third-party datasets, directory listings) become stale when the underlying data changes. Stale content erodes ranking and user trust.
Detection signals to automate:
- Pages with declining impressions in Search Console over 60-day rolling windows
- Pages where the data source has a newer version (e.g., integration changed its name or features)
- Pages with zero clicks in the past 90 days despite indexed status
Freshness signals Google uses: lastmod in sitemaps (only reliable if you update it accurately — stale lastmod dates are ignored or penalized), structured data dateModified, visible "last updated" dates in content.
Delete vs redirect vs update decision:
- Update if the underlying data is still relevant and the fix is straightforward
- Redirect to hub if the entity no longer exists (tool discontinued, company acquired)
- Delete (with 404) only if the hub itself is also low-value; stale 301 targets inherit the redirect's equity
Template Variation Patterns
The safest programmatic templates maximize unique data input and minimize shared prose.
Safe variation approach: Template provides structure (headings, section order, FAQ scaffolding); all body content is data-driven (pulled from structured source, not string interpolation). Each page's readable sentences are generated from distinct data points, not a fill-in-the-blank sentence.
Risky variation approach: "Nucleus PM integrates with [TOOL_NAME] to help your team [GENERIC_BENEFIT]." Every page has the same sentence with only the tool name changed. Detectable and classifiable as thin at scale.
Quality floor — the one-template test: Read three randomly selected pages from your programmatic set. If a user could not distinguish meaningful differences between them, you are below the quality floor. Add a data source that drives genuine variation: real user counts, integration-specific feature lists, support ticket volume, dated changelog entries.
Ready to try Programmatic SEO?
Install the skill and start getting expert-level guidance in your workflow — any agent, any IDE.
$skillfish add ~skills/programmatic-seo