Programmatic SEO Analysis & Planning
Build and audit SEO pages generated at scale from structured data sources.
Enforces quality gates to prevent thin content penalties and index bloat.
When to Use
- Use when the user wants programmatic SEO planning or review.
- Use when designing templates, data-driven pages, or scalable URL systems.
- Use when preventing thin content and index bloat across large page sets.
Data Source Assessment
Evaluate the data powering programmatic pages:
- CSV/JSON files: Row count, column uniqueness, missing values
- API endpoints: Response structure, data freshness, rate limits
- Database queries: Record count, field completeness, update frequency
- Data quality checks:
- Each record must have enough unique attributes to generate distinct content
- Flag duplicate or near-duplicate records (>80% field overlap)
- Verify data freshness; stale data produces stale pages
Template Engine Planning
Design templates that produce unique, valuable pages:
- Variable injection points: Title, H1, body sections, meta description, schema
- Content blocks: Static (shared across pages) vs dynamic (unique per page)
- Conditional logic: Show/hide sections based on data availability
- Supplementary content: Related items, contextual tips, user-generated content
- Template review checklist:
- Each page must read as a standalone, valuable resource
- No "mad-libs" patterns (just swapping city/product names in identical text)
- Dynamic sections must add genuine information, not just keyword variations
URL Pattern Strategy
Common Patterns
/tools/[tool-name]: Tool/product directory pages
/[city]/[service]: Location + service pages
/integrations/[platform]: Integration landing pages
/glossary/[term]: Definition/reference pages
/templates/[template-name]: Downloadable template pages
URL Rules
- Lowercase, hyphenated slugs derived from data
- Logical hierarchy reflecting site architecture
- No duplicate slugs; enforce uniqueness at generation time
- Keep URLs under 100 characters
- No query parameters for primary content URLs
- Consistent trailing slash usage (match existing site pattern)
Internal Linking Automation
- Hub/spoke model: Category hub pages linking to individual programmatic pages
- Related items: Auto-link to 3-5 related pages based on data attributes
- Breadcrumbs: Generate BreadcrumbList schema from URL hierarchy
- Cross-linking: Link between programmatic pages sharing attributes (same category, same city, same feature)
- Anchor text: Use descriptive, varied anchor text. Avoid exact-match keyword repetition
- Link density: 3-5 internal links per 1000 words (match seo-content guidelines)
Thin Content Safeguards
Quality Gates
| Metric |
Threshold |
Action |
| Pages without content review |
100+ |
⚠️ WARNING: require content audit before publishing |
| Pages without justification |
500+ |
🛑 HARD STOP: require explicit user approval and thin content audit |
| Unique content per page |
<40% |
❌ Flag as thin content (likely penalty risk) |
| Word count per page |
<300 |
⚠️ Flag for review (may lack sufficient value) |
Scaled Content Abuse: Enforcement Context (2025-2026)
Google's Scaled Content Abuse policy (introduced March 2024) saw major enforcement escalation in 2025:
- June 2025: Wave of manual actions targeting websites with AI-generated content at scale
- August 2025: SpamBrain spam update enhanced pattern detection for AI-generated link schemes and content farms
- Result: Google reported 45% reduction in low-quality, unoriginal content in search results post-March 2024 enforcement
Enhanced quality gates for programmatic pages:
- Content differentiation: ≥30-40% of content must be genuinely unique between any two programmatic pages (not just city/keyword string replacement)
- Human review: Minimum 5-10% sample review of generated pages before publishing
- Progressive rollout: Publish in batches of 50-100 pages. Monitor indexing and rankings for 2-4 weeks before expanding. Never publish 500+ programmatic pages simultaneously without explicit quality review.
- Standalone value test: Each page should pass: "Would this page be worth publishing even if no other similar pages existed?"
- Site reputation abuse: If publishing programmatic content under a high-authority domain (not your own), this may trigger site reputation abuse penalties. Google began enforcing this aggressively in November 2024.
Recommendation: The WARNING gate at <40% unique content remains appropriate. Consider a HARD STOP at <30% unique content to prevent scaled content abuse risk.
Safe Programmatic Pages (OK at scale)
✅ Integration pages (with real setup docs, API details, screenshots)
✅ Template/tool pages (with downloadable content, usage instructions)
✅ Glossary pages (200+ word definitions with examples, related terms)
✅ Product pages (unique specs, reviews, comparison data)
✅ Data-driven pages (unique statistics, charts, analysis per record)
Penalty Risk (avoid at scale)
❌ Location pages with only city name swapped in identical text
❌ "Best [tool] for [industry]" without industry-specific value
❌ "[Competitor] alternative" without real comparison data
❌ AI-generated pages without human review and unique value-add
❌ Pages where >60% of content is shared template boilerplate
Uniqueness Calculation
Unique content % = (words unique to this page) / (total words on page) × 100
Measure against all other pages in the programmatic set. Shared headers, footers, and navigation are excluded from the calculation. Template boilerplate text IS included.
Canonical Strategy
- Every programmatic page must have a self-referencing canonical tag
- Parameter variations (sort, filter, pagination) canonical to the base URL
- Paginated series: canonical to page 1 or use rel=next/prev
- If programmatic pages overlap with manual pages, the manual page is canonical
- No canonical to a different domain unless intentional cross-domain setup
Sitemap Integration
- Auto-generate sitemap entries for all programmatic pages
- Split at 50,000 URLs per sitemap file (protocol limit)
- Use sitemap index if multiple sitemap files needed
<lastmod> reflects actual data update timestamp (not generation time)
- Exclude noindexed programmatic pages from sitemap
- Register sitemap in robots.txt
- Update sitemap dynamically as new records are added to data source
Index Bloat Prevention
- Noindex low-value pages: Pages that don't meet quality gates
- Pagination: Noindex paginated results beyond page 1 (or use rel=next/prev)
- Faceted navigation: Noindex filtered views, canonical to base category
- Crawl budget: For sites with >10k programmatic pages, monitor crawl stats in Search Console
- Thin page consolidation: Merge records with insufficient data into aggregated pages
- Regular audits: Monthly review of indexed page count vs intended count
Output
Programmatic SEO Score: XX/100
Assessment Summary
| Category |
Status |
Score |
| Data Quality |
✅/⚠️/❌ |
XX/100 |
| Template Uniqueness |
✅/⚠️/❌ |
XX/100 |
| URL Structure |
✅/⚠️/❌ |
XX/100 |
| Internal Linking |
✅/⚠️/❌ |
XX/100 |
| Thin Content Risk |
✅/⚠️/❌ |
XX/100 |
| Index Management |
✅/⚠️/❌ |
XX/100 |
Critical Issues (fix immediately)
High Priority (fix within 1 week)
Medium Priority (fix within 1 month)
Low Priority (backlog)
Recommendations
- Data source improvements
- Template modifications
- URL pattern adjustments
- Quality gate compliance actions
Error Handling
| Scenario |
Action |
| URL unreachable |
Report connection error with status code. Suggest verifying URL accessibility and checking for authentication requirements. |
| No programmatic pages detected |
Inform user that no template-generated or data-driven page patterns were found. Suggest checking if pages use client-side rendering or if the URL points to the correct section. |
| Thin content threshold exceeded |
Trigger quality gate warning. Report the unique content percentage and flag pages below 40% uniqueness. Require user acknowledgment before proceeding. |
| Quality gate violation |
Halt analysis at the HARD STOP threshold (500+ pages without justification or <30% unique content). Present findings and require explicit user approval to continue. |
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Source: sickn33/agentic-awesome-skills → skills/seo-programmatic/SKILL.md
Also appears in: sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills/skills/seo-programmatic/SKILL.md, sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/seo-programmatic/SKILL.md
1---2name: seo-programmatic3description: Plan and audit programmatic SEO pages generated at scale from structured data. Use when designing templates, URL systems, internal linking, quality gates, and index-bloat safeguards for pages at scale.4---567# Programmatic SEO Analysis & Planning89Build and audit SEO pages generated at scale from structured data sources.10Enforces quality gates to prevent thin content penalties and index bloat.1112## When to Use13- Use when the user wants programmatic SEO planning or review.14- Use when designing templates, data-driven pages, or scalable URL systems.15- Use when preventing thin content and index bloat across large page sets.1617## Data Source Assessment1819Evaluate the data powering programmatic pages:20- **CSV/JSON files**: Row count, column uniqueness, missing values21- **API endpoints**: Response structure, data freshness, rate limits22- **Database queries**: Record count, field completeness, update frequency23- Data quality checks:24 - Each record must have enough unique attributes to generate distinct content25 - Flag duplicate or near-duplicate records (>80% field overlap)26 - Verify data freshness; stale data produces stale pages2728## Template Engine Planning2930Design templates that produce unique, valuable pages:31- **Variable injection points**: Title, H1, body sections, meta description, schema32- **Content blocks**: Static (shared across pages) vs dynamic (unique per page)33- **Conditional logic**: Show/hide sections based on data availability34- **Supplementary content**: Related items, contextual tips, user-generated content35- Template review checklist:36 - Each page must read as a standalone, valuable resource37 - No "mad-libs" patterns (just swapping city/product names in identical text)38 - Dynamic sections must add genuine information, not just keyword variations3940## URL Pattern Strategy4142### Common Patterns43- `/tools/[tool-name]`: Tool/product directory pages44- `/[city]/[service]`: Location + service pages45- `/integrations/[platform]`: Integration landing pages46- `/glossary/[term]`: Definition/reference pages47- `/templates/[template-name]`: Downloadable template pages4849### URL Rules50- Lowercase, hyphenated slugs derived from data51- Logical hierarchy reflecting site architecture52- No duplicate slugs; enforce uniqueness at generation time53- Keep URLs under 100 characters54- No query parameters for primary content URLs55- Consistent trailing slash usage (match existing site pattern)5657## Internal Linking Automation5859- **Hub/spoke model**: Category hub pages linking to individual programmatic pages60- **Related items**: Auto-link to 3-5 related pages based on data attributes61- **Breadcrumbs**: Generate BreadcrumbList schema from URL hierarchy62- **Cross-linking**: Link between programmatic pages sharing attributes (same category, same city, same feature)63- **Anchor text**: Use descriptive, varied anchor text. Avoid exact-match keyword repetition64- Link density: 3-5 internal links per 1000 words (match seo-content guidelines)6566## Thin Content Safeguards6768### Quality Gates6970| Metric | Threshold | Action |71|--------|-----------|--------|72| Pages without content review | 100+ | ⚠️ WARNING: require content audit before publishing |73| Pages without justification | 500+ | 🛑 HARD STOP: require explicit user approval and thin content audit |74| Unique content per page | <40% | ❌ Flag as thin content (likely penalty risk) |75| Word count per page | <300 | ⚠️ Flag for review (may lack sufficient value) |7677### Scaled Content Abuse: Enforcement Context (2025-2026)7879Google's Scaled Content Abuse policy (introduced March 2024) saw major enforcement escalation in 2025:8081- **June 2025:** Wave of manual actions targeting websites with AI-generated content at scale82- **August 2025:** SpamBrain spam update enhanced pattern detection for AI-generated link schemes and content farms83- **Result:** Google reported 45% reduction in low-quality, unoriginal content in search results post-March 2024 enforcement8485**Enhanced quality gates for programmatic pages:**86- **Content differentiation:** ≥30-40% of content must be genuinely unique between any two programmatic pages (not just city/keyword string replacement)87- **Human review:** Minimum 5-10% sample review of generated pages before publishing88- **Progressive rollout:** Publish in batches of 50-100 pages. Monitor indexing and rankings for 2-4 weeks before expanding. Never publish 500+ programmatic pages simultaneously without explicit quality review.89- **Standalone value test:** Each page should pass: "Would this page be worth publishing even if no other similar pages existed?"90- **Site reputation abuse:** If publishing programmatic content under a high-authority domain (not your own), this may trigger site reputation abuse penalties. Google began enforcing this aggressively in November 2024.9192> **Recommendation:** The WARNING gate at `<40% unique content` remains appropriate. Consider a HARD STOP at `<30%` unique content to prevent scaled content abuse risk.9394### Safe Programmatic Pages (OK at scale)95✅ Integration pages (with real setup docs, API details, screenshots)96✅ Template/tool pages (with downloadable content, usage instructions)97✅ Glossary pages (200+ word definitions with examples, related terms)98✅ Product pages (unique specs, reviews, comparison data)99✅ Data-driven pages (unique statistics, charts, analysis per record)100101### Penalty Risk (avoid at scale)102❌ Location pages with only city name swapped in identical text103❌ "Best [tool] for [industry]" without industry-specific value104❌ "[Competitor] alternative" without real comparison data105❌ AI-generated pages without human review and unique value-add106❌ Pages where >60% of content is shared template boilerplate107108### Uniqueness Calculation109Unique content % = (words unique to this page) / (total words on page) × 100110111Measure against all other pages in the programmatic set. Shared headers, footers, and navigation are excluded from the calculation. Template boilerplate text IS included.112113## Canonical Strategy114115- Every programmatic page must have a self-referencing canonical tag116- Parameter variations (sort, filter, pagination) canonical to the base URL117- Paginated series: canonical to page 1 or use rel=next/prev118- If programmatic pages overlap with manual pages, the manual page is canonical119- No canonical to a different domain unless intentional cross-domain setup120121## Sitemap Integration122123- Auto-generate sitemap entries for all programmatic pages124- Split at 50,000 URLs per sitemap file (protocol limit)125- Use sitemap index if multiple sitemap files needed126- `<lastmod>` reflects actual data update timestamp (not generation time)127- Exclude noindexed programmatic pages from sitemap128- Register sitemap in robots.txt129- Update sitemap dynamically as new records are added to data source130131## Index Bloat Prevention132133- **Noindex low-value pages**: Pages that don't meet quality gates134- **Pagination**: Noindex paginated results beyond page 1 (or use rel=next/prev)135- **Faceted navigation**: Noindex filtered views, canonical to base category136- **Crawl budget**: For sites with >10k programmatic pages, monitor crawl stats in Search Console137- **Thin page consolidation**: Merge records with insufficient data into aggregated pages138- **Regular audits**: Monthly review of indexed page count vs intended count139140## Output141142### Programmatic SEO Score: XX/100143144### Assessment Summary145| Category | Status | Score |146|----------|--------|-------|147| Data Quality | ✅/⚠️/❌ | XX/100 |148| Template Uniqueness | ✅/⚠️/❌ | XX/100 |149| URL Structure | ✅/⚠️/❌ | XX/100 |150| Internal Linking | ✅/⚠️/❌ | XX/100 |151| Thin Content Risk | ✅/⚠️/❌ | XX/100 |152| Index Management | ✅/⚠️/❌ | XX/100 |153154### Critical Issues (fix immediately)155### High Priority (fix within 1 week)156### Medium Priority (fix within 1 month)157### Low Priority (backlog)158159### Recommendations160- Data source improvements161- Template modifications162- URL pattern adjustments163- Quality gate compliance actions164165## Error Handling166167| Scenario | Action |168|----------|--------|169| URL unreachable | Report connection error with status code. Suggest verifying URL accessibility and checking for authentication requirements. |170| No programmatic pages detected | Inform user that no template-generated or data-driven page patterns were found. Suggest checking if pages use client-side rendering or if the URL points to the correct section. |171| Thin content threshold exceeded | Trigger quality gate warning. Report the unique content percentage and flag pages below 40% uniqueness. Require user acknowledgment before proceeding. |172| Quality gate violation | Halt analysis at the HARD STOP threshold (500+ pages without justification or <30% unique content). Present findings and require explicit user approval to continue. |173174## Limitations175- Use this skill only when the task clearly matches the scope described above.176- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.177- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.178179---180181**Source:** [`sickn33/agentic-awesome-skills`](https://github.com/sickn33/agentic-awesome-skills) → `skills/seo-programmatic/SKILL.md`182183**Also appears in:** `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills/skills/seo-programmatic/SKILL.md`, `sickn33/agentic-awesome-skills/plugins/agentic-awesome-skills-claude/skills/seo-programmatic/SKILL.md`