Help us improve
Share bugs, ideas, or general feedback.
From craft-workspace-webconsulting-skills
Implements and validates schema.org structured data in JSON-LD format for rich search results. Activated by schema markup, structured data, JSON-LD, rich snippets, and related terms.
npx claudepluginhub dirnbauer/webconsulting-skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/craft-workspace-webconsulting-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.
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.
Implements, audits, and optimizes schema.org JSON-LD structured data for rich Google search results like products, FAQs, articles, breadcrumbs, and reviews.
Generates and validates JSON-LD schema.org markup for rich search results, covering types like FAQ, product, review, breadcrumb, and more. Helps pages earn enhanced Google results.
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
}
This skill is based on the excellent work by Corey Haines.
Original repository: https://github.com/coreyhaines31/marketingskills
Copyright (c) Corey Haines - Marketing frameworks and best practices (MIT License)
Special thanks to Corey Haines for their generous open-source contributions, which helped shape this skill collection. Adapted by webconsulting.at for this skill collection