programmatic-seo
Builds large sets of search-targeted pages from a template and a dataset — the location, comparison, integration, and use-case pages that capture long-tail demand at scale. Use this when there is a repeating query pattern with real volume, when a dataset could answer many similar
Install
npx skills add https://github.com/cbrock84/headcount/tree/main/plugins/demand-generation/skills/programmatic-seo
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install cbrock84-headcount@llmmart
git clone https://github.com/cbrock84/headcount.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole cbrock84/headcount collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
Programmatic SEO
Done well, one template covers thousands of real searches. Done badly, it is a mass of thin pages that damages the whole domain.
Qualify before building
All four must hold:
- A real query pattern with verified volume across many instances — not one popular term and a long tail of zeroes.
- Data you actually have, at quality, for most instances. Missing data produces empty pages, and empty pages are the failure mode.
- Genuine per-page value. If two pages differ only by a swapped noun, they are duplicates however they are generated.
- A reason to be better than what ranks now. Usually completeness, freshness, or data nobody else has.
Fail any one and the answer is fewer, better pages.
Building
- Design the best single page first, by hand, and confirm it is genuinely useful. Then find what in it is variable. Templating before you know the good page scales a mediocre one.
- Vary the substance, not just the strings. Each page needs data, comparisons, or context specific to it.
- Set a minimum data threshold. Below it, the page does not get generated. This single rule prevents most programmatic disasters.
- Internal linking is not optional — thousands of orphaned pages will not be crawled. Build hub pages and cross-links into the template.
- Roll out in batches. Publish a few hundred, wait for indexation and performance, then continue. A full launch that goes wrong is hard to unwind.
Maintaining
Stale programmatic pages rot faster than editorial ones because there are so many. Set a refresh cadence tied to the data source, and prune: pages with no impressions after two quarters should be consolidated or removed. Volume is not the goal.
Sources
references/sources.md in this skill lists the outside authorities that settle the questions
here — what each one is authoritative for, and what you may do with it. Check them before
answering on anything they cover, and cite what you used. Most are free to read and not free
to reproduce; the use note on each is binding.
Never
- Generate pages for instances with no data.
- Spin text to create the appearance of uniqueness.
- Launch without a plan for removing what does not work.
Files (headcount)
-
references
-
sources.md 2.6 KB
# Sources — `demand-generation:programmatic-seo` <!-- Generated by scripts/build-sources.py from sources/*.toml. Do not edit. --> Check these before answering on anything they cover, and cite what you used. The use note on each one is binding: most of what a professional cites is free to read and not free to reproduce. ## Google crawlers and user-triggered fetchers Google · global · CC BY — quote with attribution <https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers> Machine-readable: <https://developers.google.com/search/docs/crawling-indexing/robots/intro> **Authoritative for:** Which user agents Google operates and what each one is for, including the separate control over training and AI surfaces — the question behind every robots.txt argument about blocking AI. ## RFC 9309: Robots Exclusion Protocol IETF · global · **read and cite only — copyrighted, do not reproduce** <https://www.rfc-editor.org/rfc/rfc9309.html> **Authoritative for:** The formal parsing rules for robots.txt — precedence, wildcards, size limits, and what a crawler is obliged to do. Settles at the protocol level whether disallow prevents indexing, which it does not. ## Schema.org vocabulary Schema.org community group · global · CC BY-SA — quote with attribution; share-alike, so do not fold into this repository <https://schema.org/> Machine-readable: <https://schema.org/version/latest/schemaorg-current-https.jsonld> **Authoritative for:** The canonical property names and expected types for structured markup. Share-alike, so cite and link rather than folding definitions into your own documentation. ## Spam policies for Google web search Google · global · CC BY — quote with attribution <https://developers.google.com/search/docs/essentials/spam-policies> **Authoritative for:** Whether a tactic is sanctionable — scaled content abuse, site reputation abuse, expired-domain abuse, cloaking, doorway pages. The only authoritative answer to whether a programmatic build will be penalized. ## Structured data markup that Google Search supports Google · global · CC BY — quote with attribution <https://developers.google.com/search/docs/appearance/structured-data/search-gallery> **Authoritative for:** Which structured data types Google actually acts on, as opposed to which exist in the vocabulary. Pair it with schema.org: one defines the vocabulary, the other says what is honored. --- Sources are maintained in `sources/` upstream, not here. If one is wrong, out of date, or missing, fix it there — this file is regenerated and an edit to it is lost.
-
-
SKILL.md 2.6 KB
--- name: programmatic-seo description: Builds large sets of search-targeted pages from a template and a dataset — the location, comparison, integration, and use-case pages that capture long-tail demand at scale. Use this when there is a repeating query pattern with real volume, when a dataset could answer many similar searches, or to judge whether a programmatic approach is viable before building it. --- # Programmatic SEO Done well, one template covers thousands of real searches. Done badly, it is a mass of thin pages that damages the whole domain. ## Qualify before building All four must hold: 1. **A real query pattern** with verified volume across many instances — not one popular term and a long tail of zeroes. 2. **Data you actually have**, at quality, for most instances. Missing data produces empty pages, and empty pages are the failure mode. 3. **Genuine per-page value.** If two pages differ only by a swapped noun, they are duplicates however they are generated. 4. **A reason to be better** than what ranks now. Usually completeness, freshness, or data nobody else has. Fail any one and the answer is fewer, better pages. ## Building - **Design the best single page first**, by hand, and confirm it is genuinely useful. Then find what in it is variable. Templating before you know the good page scales a mediocre one. - **Vary the substance, not just the strings.** Each page needs data, comparisons, or context specific to it. - **Set a minimum data threshold.** Below it, the page does not get generated. This single rule prevents most programmatic disasters. - **Internal linking is not optional** — thousands of orphaned pages will not be crawled. Build hub pages and cross-links into the template. - **Roll out in batches.** Publish a few hundred, wait for indexation and performance, then continue. A full launch that goes wrong is hard to unwind. ## Maintaining Stale programmatic pages rot faster than editorial ones because there are so many. Set a refresh cadence tied to the data source, and prune: pages with no impressions after two quarters should be consolidated or removed. Volume is not the goal. ## Sources `references/sources.md` in this skill lists the outside authorities that settle the questions here — what each one is authoritative for, and what you may do with it. Check them before answering on anything they cover, and cite what you used. Most are free to read and not free to reproduce; the use note on each is binding. ## Never - Generate pages for instances with no data. - Spin text to create the appearance of uniqueness. - Launch without a plan for removing what does not work.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.