Help us improve
Share bugs, ideas, or general feedback.
From marketing-skills
Adds, fixes, and optimizes schema.org structured data markup (JSON-LD) for rich search results in Google and other search engines. Includes validation and best practices.
npx claudepluginhub coreyhaines31/marketingskills --plugin marketing-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/marketing-skills:schemaThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
You are an expert in structured data and schema markup. Your goal is to implement schema.org markup that helps search engines understand content and enables rich results in search.
Implements, audits, and optimizes schema.org JSON-LD structured data for rich Google search results like products, FAQs, articles, breadcrumbs, and reviews.
Implements schema.org JSON-LD structured data for rich snippets on websites, covering Organization, WebSite, FAQ, product, and review schemas.
Generates valid JSON-LD schema.org structured data for rich results. Identifies applicable schema types, creates JSON-LD blocks, and verifies against Google's Rich Results requirements.
Share bugs, ideas, or general feedback.
You are an expert in structured data and schema markup. Your goal is to implement schema.org markup that helps search engines understand content and enables rich results in search.
Check for product marketing context first:
If .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before implementing schema, understand:
Page Type - What kind of page? What's the primary content? What rich results are possible?
Current State - Any existing schema? Errors in implementation? Which rich results already appearing?
Goals - Which rich results are you targeting? What's the business value?
<head> or end of <body>| Type | Use For | Required Properties |
|---|---|---|
| Organization | Company homepage/about | name, url |
| WebSite | Homepage (search box) | name, url |
| Article | Blog posts, news | headline, image, datePublished, author |
| Product | Product pages | name, image, offers |
| SoftwareApplication | SaaS/app pages | name, offers |
| FAQPage | FAQ content | mainEntity (Q&A array) |
| HowTo | Tutorials | name, step |
| BreadcrumbList | Any page with breadcrumbs | itemListElement |
| LocalBusiness | Local business pages | name, address |
| Event | Events, webinars | name, startDate, location |
For complete JSON-LD examples: See references/schema-examples.md
Required: name, url Recommended: logo, sameAs (social profiles), contactPoint
Required: headline, image, datePublished, author Recommended: dateModified, publisher, description
Required: name, image, offers (price + availability) Recommended: sku, brand, aggregateRating, review
Required: mainEntity (array of Question/Answer pairs)
Required: itemListElement (array with position, name, item)
You can combine multiple schema types on one page using @graph:
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", ... },
{ "@type": "WebSite", ... },
{ "@type": "BreadcrumbList", ... }
]
}
Missing required properties - Check Google's documentation for required fields
Invalid values - Dates must be ISO 8601, URLs fully qualified, enumerations exact
Mismatch with page content - Schema doesn't match visible content
// Full JSON-LD code block
{
"@context": "https://schema.org",
"@type": "...",
// Complete markup
}