From web-launch
Quality and indexation discipline for programmatic / templated SEO at scale — sites with hundreds to tens of thousands of generated pages (directories, /tool, /compare, /category, location or entity pages). Use when planning, launching, or auditing a large templated page set: preventing mass thin-content, designing sitemap-index architecture, locking slug discipline, staging the indexation ramp, and deciding what to index vs noindex. The risk at scale is not one bad page — it's 15,000 mediocre ones dragging the whole domain down. Companion to web-launch and launch-gotchas.
How this skill is triggered — by the user, by Claude, or both
Slash command
/web-launch:pseo-at-scaleThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Programmatic SEO is a force multiplier in both directions. One good template × 15,000
Programmatic SEO is a force multiplier in both directions. One good template × 15,000 rows is a moat; one mediocre template × 15,000 rows is a sitewide quality penalty. The launch checklist warns about thin content lightly — at your scale it's the main event. This skill is the quality gate the volume demands.
/tool, /compare, /category, /function, location/entity pages, glossaries).Search engines judge templated sets in aggregate. A page that's technically unique (different row of data) can still be substantively thin (same boilerplate, little added value). At scale, a high ratio of thin pages signals "low-quality site" and suppresses even the good pages. Your job is to make every generated page clear a value bar — or never let it get indexed.
/compare/a-vs-b with no real comparison data, or a category with 1 item, is thin. Decide up front: suppress, noindex, or redirect to the parent — don't publish-and-index a hollow shell.noindex,follow (crawlable for link equity, not indexed) until they earn their way in. Indexing is a privilege a page earns, not a default.A single flat sitemap breaks down past ~a few thousand URLs. Use a sitemap index → leaf urlsets, split by content type:
/sitemap.xml (index — points ONLY to leaf urlset files)
├─ /page-sitemap.xml (static pages)
├─ /tool-sitemap.xml (one urlset, ≤50k URLs / ≤50MB each)
├─ /compare-sitemap.xml
├─ /category-sitemap.xml
└─ /blog-sitemap.xml
Hard rules (each maps to a launch-gotcha):
urlsets, never to another index. Nested indexes get rejected. (Sitemap-nested-index-errors.)<loc> is non-empty and resolves to a 200. Validate at generation; reject publishing a row with an empty slug. (Empty-loc-from-missing-slugs.)noindex page in the sitemap sends mixed signals — keep gated pages out of the sitemap until they pass the value floor.At scale, slugs are generated, so the rule must be enforced in code:
New or young domains ration crawl budget; a large page set indexes on a 6–12 week ramp, not at launch. (Indexation-patience-curve.)
Templated pages create orphans by default. The template must emit intentional links:
index (should be noindex until improved).<loc> / empty-slug rows in sitemaps.For the SEO mechanics underneath (schema, internal-linking execution, on-page checks), delegate to searchfit-seo:* when installed. This skill owns the at-scale quality + indexation policy; the specialist skills own the per-page craft. Always run a pSEO launch under the web-launch spine and its sign-off gate.
npx claudepluginhub hamza-ali-shahjahan/hamzaish --plugin web-launchProvides CDSS development patterns for drug interaction checking, dose validation, clinical scoring (NEWS2, qSOFA), and alert classification integrated into EMR workflows.