{"slug":"programmatic-seo-4","title":"programmatic-seo","summary":"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","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-08-30T09:48:12.313465Z","repo":{"url":"https://github.com/cbrock84/headcount","stars":1633,"forks":245,"license":"MIT","updatedAt":"2026-09-17T19:13:19Z"},"bodyHtml":"<hr>\n<h2>name: programmatic-seo\ndescription: 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.</h2>\n<h1>Programmatic SEO</h1>\n<p>Done well, one template covers thousands of real searches. Done badly, it is a mass of thin pages\nthat damages the whole domain.</p>\n<h2>Qualify before building</h2>\n<p>All four must hold:</p>\n<ol>\n<li><strong>A real query pattern</strong> with verified volume across many instances — not one popular term and a\nlong tail of zeroes.</li>\n<li><strong>Data you actually have</strong>, at quality, for most instances. Missing data produces empty pages,\nand empty pages are the failure mode.</li>\n<li><strong>Genuine per-page value.</strong> If two pages differ only by a swapped noun, they are duplicates\nhowever they are generated.</li>\n<li><strong>A reason to be better</strong> than what ranks now. Usually completeness, freshness, or data nobody\nelse has.</li>\n</ol>\n<p>Fail any one and the answer is fewer, better pages.</p>\n<h2>Building</h2>\n<ul>\n<li><strong>Design the best single page first</strong>, by hand, and confirm it is genuinely useful. Then find what\nin it is variable. Templating before you know the good page scales a mediocre one.</li>\n<li><strong>Vary the substance, not just the strings.</strong> Each page needs data, comparisons, or context\nspecific to it.</li>\n<li><strong>Set a minimum data threshold.</strong> Below it, the page does not get generated. This single rule\nprevents most programmatic disasters.</li>\n<li><strong>Internal linking is not optional</strong> — thousands of orphaned pages will not be crawled. Build hub\npages and cross-links into the template.</li>\n<li><strong>Roll out in batches.</strong> Publish a few hundred, wait for indexation and performance, then\ncontinue. A full launch that goes wrong is hard to unwind.</li>\n</ul>\n<h2>Maintaining</h2>\n<p>Stale programmatic pages rot faster than editorial ones because there are so many. Set a refresh\ncadence tied to the data source, and prune: pages with no impressions after two quarters should be\nconsolidated or removed. Volume is not the goal.</p>\n<h2>Never</h2>\n<ul>\n<li>Generate pages for instances with no data.</li>\n<li>Spin text to create the appearance of uniqueness.</li>\n<li>Launch without a plan for removing what does not work.</li>\n</ul>\n","files":[{"path":"references/sources.md","sizeBytes":2635,"isText":true},{"path":"SKILL.md","sizeBytes":2678,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-20T13:53:40.344121Z","sha256":"205D750465231103CD7639EDA9125379F9F0B3B73AD83F9E19FDB3CF20935362","sizeBytes":2782},"review":null,"source":{"repositoryUrl":"https://github.com/cbrock84/headcount","path":"plugins/demand-generation/skills/programmatic-seo","license":"MIT","commit":"98d1c17d480f606060102a781f9a8601690685f7","subtreeSha":"080823D418C6DF2D82ACA8B3D730CF8B78B63CD08BBFF6F4B71C197D3AB8D78B","lastSyncedAt":"2026-09-20T13:51:06.173703Z"},"reviewedAt":"2026-09-20T13:56:10.272712Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/cbrock84/headcount/tree/main/plugins/demand-generation/skills/programmatic-seo"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install cbrock84-headcount@llmmart"},{"target":"git","command":"git clone https://github.com/cbrock84/headcount.git"}]}