SCHEMA MARKUP
Structured data that enables rich search results
A Claude skill that generates, validates, and optimizes JSON-LD schema markup — implementing structured data for rich snippets across Organization, Article, Product, FAQ, HowTo, BreadcrumbList, and more.
When does this skill activate?
Claude will use this skill when you mention phrases like:
How it works
Describe your page
Share your page type, content, and which rich results you want to target — product cards, FAQ dropdowns, how-to steps, breadcrumbs, or others.
Get complete JSON-LD code
Claude generates Google-compliant JSON-LD schema markup with all required and recommended properties, including @graph for combining multiple schema types.
Validate and deploy
Receive a testing checklist and guidance for the Google Rich Results Test, Schema.org Validator, and Search Console monitoring.
Requirements
Add This Skill
Copy each field into Claude's skill editor to add this skill, or add the plugin marketplace to get all skills at once.
Available from 2 plugins:
schema-markup
---
name: schema-markup
description: When the user wants to add, fix, or optimize schema markup and structured data on their site. Also use when the user mentions "schema markup," "structured data," "JSON-LD," "rich snippets," "schema.org," "FAQ schema," "product schema," "review schema," or "breadcrumb schema." For broader SEO issues, see seo-audit.
metadata:
version: 1.1.0
---
# Schema Markup
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.
## Initial Assessment
**Check for product marketing context first:**
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.md` 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:
1. **Page Type** - What kind of page? What's the primary content? What rich results are possible?
2. **Current State** - Any existing schema? Errors in implementation? Which rich results already appearing?
3. **Goals** - Which rich results are you targeting? What's the business value?
---
## Core Principles
### 1. Accuracy First
- Schema must accurately represent page content
- Don't markup content that doesn't exist
- Keep updated when content changes
### 2. Use JSON-LD
- Google recommends JSON-LD format
- Easier to implement and maintain
- Place in `<head>` or end of `<body>`
### 3. Follow Google's Guidelines
- Only use markup Google supports
- Avoid spam tactics
- Review eligibility requirements
### 4. Validate Everything
- Test before deploying
- Monitor Search Console
- Fix errors promptly
---
## Common Schema Types
| 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](references/schema-examples.md)
---
## Quick Reference
### Organization (Company Page)
Required: name, url
Recommended: logo, sameAs (social profiles), contactPoint
### Article/BlogPosting
Required: headline, image, datePublished, author
Recommended: dateModified, publisher, description
### Product
Required: name, image, offers (price + availability)
Recommended: sku, brand, aggregateRating, review
### FAQPage
Required: mainEntity (array of Question/Answer pairs)
### BreadcrumbList
Required: itemListElement (array with position, name, item)
---
## Multiple Schema Types
You can combine multiple schema types on one page using `@graph`:
```json
{
"@context": "https://schema.org",
"@graph": [
{ "@type": "Organization", ... },
{ "@type": "WebSite", ... },
{ "@type": "BreadcrumbList", ... }
]
}
```
---
## Validation and Testing
### Tools
- **Google Rich Results Test**: https://search.google.com/test/rich-results
- **Schema.org Validator**: https://validator.schema.org/
- **Search Console**: Enhancements reports
### Common Errors
**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
---
## Implementation
### Static Sites
- Add JSON-LD directly in HTML template
- Use includes/partials for reusable schema
### Dynamic Sites (React, Next.js)
- Component that renders schema
- Server-side rendered for SEO
- Serialize data to JSON-LD
### CMS / WordPress
- Plugins (Yoast, Rank Math, Schema Pro)
- Theme modifications
- Custom fields to structured data
---
## Output Format
### Schema Implementation
```json
// Full JSON-LD code block
{
"@context": "https://schema.org",
"@type": "...",
// Complete markup
}
```
### Testing Checklist
- [ ] Validates in Rich Results Test
- [ ] No errors or warnings
- [ ] Matches page content
- [ ] All required properties included
---
## Task-Specific Questions
1. What type of page is this?
2. What rich results are you hoping to achieve?
3. What data is available to populate the schema?
4. Is there existing schema on the page?
5. What's your tech stack?
---
## Related Skills
- **seo-audit**: For overall SEO including schema review
- **ai-seo**: For AI search optimization (schema helps AI understand content)
- **programmatic-seo**: For templated schema at scale
- **site-architecture**: For breadcrumb structure and navigation schema planning
How to use this skill
Related Skills
/seo-audit
When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the use...
/ai-seo
When the user wants to optimize content for AI search engines, get cited by LLMs, or appear in AI...
/programmatic-seo
When the user wants to create SEO-driven pages at scale using templates and data. Also use when t...
/site-architecture
When the user wants to plan, map, or restructure their website's page hierarchy, navigation, URL ...
Frequently Asked Questions
What schema types does this skill support?
The skill covers all major schema.org types that Google supports for rich results: Organization, WebSite, Article/BlogPosting, Product, SoftwareApplication, FAQPage, HowTo, BreadcrumbList, LocalBusiness, and Event. It also handles combining multiple schemas on one page using the @graph pattern.
Why JSON-LD instead of other formats?
The skill uses JSON-LD because it is Google's recommended format for structured data. JSON-LD is easier to implement and maintain than microdata or RDFa — it sits in a script tag in your page's head or body without touching the HTML markup. The skill generates complete, copy-ready JSON-LD blocks.
How does schema markup help with AI search?
Content with proper schema markup shows 30-40% higher AI visibility according to the skill's framework. Structured data helps AI systems like Google AI Overviews, ChatGPT, and Perplexity understand your content type, author credentials, dates, and relationships — making your pages more likely to be cited as sources in AI-generated answers.
Does it work in Claude.ai chat?
Yes, this skill is fully chat-compatible. You can describe your page content, share your existing markup for review, or request new schema directly in Claude.ai. Claude generates the JSON-LD code you can copy and paste into your site. No code execution or external APIs are required.
Add Structured Data to Your Site
Add this skill to Claude and start generating schema markup.
View on GitHub