From seo-superpower
Use when adding JSON-LD structured data to a page — Article, BlogPosting, Product, FAQPage, HowTo, BreadcrumbList, Organization, WebSite, TouristTrip. Picks the right schema type for the page, populates required + key recommended fields from the actual content, validates against schema.org, and ships in a single PR. Triggers on "add schema", "add JSON-LD", "structured data", "rich results", "FAQ schema", "Article schema", "Product schema", "BreadcrumbList", "schema markup for [page]", or any time per-page schema is being added or audited.
How this skill is triggered — by the user, by Claude, or both
Slash command
/seo-superpower:adding-schema-markupThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Schema is the language Google and LLMs use to understand a page. Crawlers extract entities, relationships, and facts from JSON-LD with much higher confidence than from raw HTML. In 2026 the Google rich-result surface has narrowed sharply (HowTo retired, FAQPage limited to gov/health authority sites) [1][2], but the AI-citation upside has grown: pages with well-formed structured data are cited 2...
Schema is the language Google and LLMs use to understand a page. Crawlers extract entities, relationships, and facts from JSON-LD with much higher confidence than from raw HTML. In 2026 the Google rich-result surface has narrowed sharply (HowTo retired, FAQPage limited to gov/health authority sites) [1][2], but the AI-citation upside has grown: pages with well-formed structured data are cited 2.5–3.2× more often in ChatGPT, Perplexity, and AI Overviews than unstructured pages [3][4].
The job: pick the right type, populate the required + key recommended fields from content that actually exists on the page, validate, ship.
Organization + WebSite schema and now needs page-specific markupDon't use for: thin pages with no real content (Google penalizes schema-for-content-that-isn't-there [1]), legal/disclaimer/utility pages, or pages already covered by a route-level generator.
| Page type | Schema type | Notes |
|---|---|---|
| Blog post / news article | Article or BlogPosting | Use NewsArticle for time-sensitive news only |
| Long-form guide | Article + BreadcrumbList | Add mainEntityOfPage |
| Product page | Product + nested Offer (+ AggregateRating if real reviews exist) | Faking ratings = manual action [1] |
| FAQ section on a page | FAQPage | Rich-result display deprecated for non-gov/health [2], but still drives AI citations [4] |
| Step-by-step tutorial | HowTo | No rich result anymore [1]; still useful for LLMs |
| Site nav / breadcrumb trail | BreadcrumbList | Cheap, near-universal — almost always worth adding |
| Landing / home | Organization + WebSite | Already shipped by seo-bootstrap — don't duplicate |
| Trip / itinerary / road-trip page | TouristTrip + itinerary (ItemList of TouristAttraction) | No Google rich result, but Perplexity / AI Overviews read it [5] — relevant for vibecrafting.ai-style sites |
app/blog/[slug]/page.tsx, pages/products/[id].astro, etc.) and the rendered content. Pick from the table above.Article — it's a superset.headline, datePublished, author, image, description from the actual page data — never invent fields. Required fields per type are documented at schema.org and Google Search Central [6][7].<script type="application/ld+json"> containing an @graph when the page has multiple entities that reference each other (Article → Author → Organization) [8]. Use separate blocks only for fully independent entities. Reuse the helper from seo-bootstrap/templates/ so the Organization @id matches site-wide.schema-validate MCP if installed. Otherwise paste into Schema Markup Validator for syntax + schema.org compliance, then Google Rich Results Test for rich-result eligibility [9].feat(seo): add <Type> schema to <route>.@type: "Website" (capital S). schema.org is case-sensitive — it's WebSite. Validators silently drop the wrong casing. Same trap as bootstrap.@context: "https://schema.org". No context, no parse.<noscript> or rendered only client-side after hydration. Most LLM crawlers and many SERP features read the initial HTML — schema must be in SSR output.AggregateRating. Same — manual action and AI engines downgrade trust.@id references inside an @graph [8].dateModified on refreshes — AI engines lean on freshness signals [4].// Article (minimum)
{ "@context":"https://schema.org","@type":"Article",
"headline":"...", "datePublished":"2026-04-26", "author":{"@type":"Person","name":"..."} }
// Product
{ "@context":"https://schema.org","@type":"Product",
"name":"...", "image":"...", "offers":{"@type":"Offer","price":"29","priceCurrency":"USD","availability":"https://schema.org/InStock"} }
// FAQPage
{ "@context":"https://schema.org","@type":"FAQPage",
"mainEntity":[{"@type":"Question","name":"...","acceptedAnswer":{"@type":"Answer","text":"..."}}] }
// BreadcrumbList
{ "@context":"https://schema.org","@type":"BreadcrumbList",
"itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://..."}] }
// TouristTrip
{ "@context":"https://schema.org","@type":"TouristTrip",
"name":"...", "itinerary":{"@type":"ItemList","itemListElement":[/* TouristAttraction entries */]},
"provider":{"@id":"https://site.com/#org"} }
Organization + WebSite only, in root layout. Handled by seo-bootstrap.Article, Product, TouristTrip) as content ships. This skill.FAQPage and HowTo for LLM consumption [4].Pair with optimizing-on-page for the full per-page polish loop (titles, H1, internal links, schema). Run auditing-technical-seo quarterly to catch schema drift.
Citations [1]–[9] resolve in SOURCES.md.
npx claudepluginhub benskamps/seo-superpower --plugin seo-superpowerSearches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.