schema-markup-generatorGenerates structured data markup (Schema.org JSON-LD) to enable rich results in search engines including FAQ snippets, How-To cards, Product listings, Review...
Install via ClawdBot CLI:
clawdbot install aaron-he-zhu/schema-markup-generatorSEO & GEO Skills Library · 20 skills for SEO + GEO · Install all: npx skills add aaron-he-zhu/seo-geo-claude-skills
Research · keyword-research · competitor-analysis · serp-analysis · content-gap-analysis
Build · seo-content-writer · geo-content-optimizer · meta-tags-optimizer · schema-markup-generator
Optimize · on-page-seo-auditor · technical-seo-checker · internal-linking-optimizer · content-refresher
Monitor · rank-tracker · backlink-analyzer · performance-reporter · alert-manager
Cross-cutting · content-quality-auditor · domain-authority-auditor · entity-optimizer · memory-management
This skill creates Schema.org structured data markup in JSON-LD format to help search engines understand your content and enable rich results in SERPs.
Generate schema markup for this [content type]: [content/URL]
Create FAQ schema for these questions and answers: [Q&A list]
Create Product schema for [product name] with [details]
Generate LocalBusiness schema for [business name and details]
Review and improve this schema markup: [existing schema]
See CONNECTORS.md for tool category placeholders.
With ~~web crawler connected:
Automatically crawl and extract page content (visible text, headings, lists, tables), existing schema markup, page metadata, and structured content elements that map to schema properties.
With manual data only:
Ask the user to provide:
Proceed with the full workflow using provided data. Note in the output which data is from automated extraction vs. user-provided data.
When a user requests schema markup:
Reference the CORE-EEAT Benchmark item O05 (Schema Markup) for content-type to schema mapping:
### CORE-EEAT Schema Mapping (O05)
| Content Type | Required Schema | Conditional Schema |
|-------------|----------------|--------------------|
| Blog (guides) | Article, Breadcrumb | FAQ, HowTo |
| Blog (tools) | Article, Breadcrumb | FAQ, Review |
| Blog (insights) | Article, Breadcrumb | FAQ |
| Alternative | Comparison*, Breadcrumb, FAQ | AggregateRating |
| Best-of | ItemList, Breadcrumb, FAQ | AggregateRating per tool |
| Use-case | WebPage, Breadcrumb, FAQ | — |
| FAQ | FAQPage, Breadcrumb | — |
| Landing | SoftwareApplication, Breadcrumb, FAQ | WebPage |
| Testimonial | Review, Breadcrumb | FAQ, Person |
*Use the mapping above to ensure schema type matches content type (CORE-EEAT O05: Pass criteria).*
### Schema Analysis
**Content Type**: [blog/product/FAQ/how-to/local business/etc.]
**Page URL**: [URL]
**Eligible Rich Results**:
| Rich Result Type | Eligibility | Impact |
|------------------|-------------|--------|
| FAQ | ✅/❌ | High - Expands SERP presence |
| How-To | ✅/❌ | Medium - Shows steps in SERP |
| Product | ✅/❌ | High - Shows price, availability |
| Review | ✅/❌ | High - Shows star ratings |
| Article | ✅/❌ | Medium - Shows publish date, author |
| Breadcrumb | ✅/❌ | Medium - Shows navigation path |
| Video | ✅/❌ | High - Shows video thumbnail |
**Recommended Schema Types**:
1. [Primary schema type] - [reason]
2. [Secondary schema type] - [reason]
### FAQ Schema (FAQPage)
**Requirements**:
- Minimum 2 Q&A pairs
- Questions must be complete questions
- Answers should be comprehensive
- Must match visible page content
**Generated Schema**:json
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "[Question 1 - exactly as shown on page]",
"acceptedAnswer": {
"@type": "Answer",
"text": "[Complete answer text]"
}
},
{
"@type": "Question",
"name": "[Question 2]",
"acceptedAnswer": {
"@type": "Answer",
"text": "[Complete answer text]"
}
}
]
}
**Rich Result Preview**:
[Page Title]
[URL]
[Meta Description]
▼ Question 1?
[Answer preview...]
▼ Question 2?
[Answer preview...]
### How-To Schema (HowTo)
**Requirements**:
- Clear step-by-step instructions
- Each step must have text
- Optional: images, videos, time, supplies
**Generated Schema**:json
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "[How-to title]",
"description": "[Brief description of what this teaches]",
"totalTime": "PT[X]M",
"estimatedCost": {
"@type": "MonetaryAmount",
"currency": "USD",
"value": "[cost]"
},
"supply": [
{
"@type": "HowToSupply",
"name": "[Supply item 1]"
}
],
"tool": [
{
"@type": "HowToTool",
"name": "[Tool 1]"
}
],
"step": [
{
"@type": "HowToStep",
"name": "[Step 1 title]",
"text": "[Step 1 detailed instructions]",
"url": "[URL]#step1",
"image": "[Step 1 image URL]"
},
{
"@type": "HowToStep",
"name": "[Step 2 title]",
"text": "[Step 2 detailed instructions]",
"url": "[URL]#step2",
"image": "[Step 2 image URL]"
}
]
}
### Article Schema
**Schema Type Options**:
- `Article` - General articles
- `BlogPosting` - Blog posts
- `NewsArticle` - News content
- `TechArticle` - Technical documentation
**Generated Schema**:json
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "[Article title - max 110 chars]",
"description": "[Article summary]",
"image": [
"[Image URL 1 - 1200px wide]",
"[Image URL 2 - 4:3 ratio]",
"[Image URL 3 - 16:9 ratio]"
],
"datePublished": "[ISO 8601 date: 2024-01-15T08:00:00+00:00]",
"dateModified": "[ISO 8601 date]",
"author": {
"@type": "Person",
"name": "[Author Name]",
"url": "[Author profile URL]"
},
"publisher": {
"@type": "Organization",
"name": "[Publisher Name]",
"logo": {
"@type": "ImageObject",
"url": "[Logo URL - 60px high max]"
}
},
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "[Canonical URL]"
}
}
### Product Schema
**Requirements for Rich Results**:
- Name (required)
- Image (required)
- Offers with price (for price rich results)
- AggregateRating (for star ratings)
- Review (for review snippets)
**Generated Schema**:json
{
"@context": "https://schema.org",
"@type": "Product",
"name": "[Product Name]",
"image": [
"[Product image URL 1]",
"[Product image URL 2]"
],
"description": "[Product description]",
"sku": "[SKU]",
"mpn": "[Manufacturer Part Number]",
"brand": {
"@type": "Brand",
"name": "[Brand Name]"
},
"offers": {
"@type": "Offer",
"url": "[Product URL]",
"priceCurrency": "USD",
"price": "[Price]",
"priceValidUntil": "[Date]",
"availability": "https://schema.org/InStock",
"seller": {
"@type": "Organization",
"name": "[Seller Name]"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "[4.5]",
"reviewCount": "[89]"
},
"review": {
"@type": "Review",
"reviewRating": {
"@type": "Rating",
"ratingValue": "[5]"
},
"author": {
"@type": "Person",
"name": "[Reviewer Name]"
},
"reviewBody": "[Review text]"
}
}
### LocalBusiness Schema
**Generated Schema**:json
{
"@context": "https://schema.org",
"@type": "[LocalBusiness/Restaurant/Store/etc.]",
"name": "[Business Name]",
"image": "[Business image URL]",
"@id": "[Business URL]",
"url": "[Website URL]",
"telephone": "[Phone number]",
"priceRange": "[$$]",
"address": {
"@type": "PostalAddress",
"streetAddress": "[Street Address]",
"addressLocality": "[City]",
"addressRegion": "[State]",
"postalCode": "[ZIP]",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": [latitude],
"longitude": [longitude]
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "17:00"
}
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "[4.5]",
"reviewCount": "[123]"
}
}
### Organization Schema
**Generated Schema**:json
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "[Organization Name]",
"url": "[Website URL]",
"logo": "[Logo URL]",
"sameAs": [
"[Facebook URL]",
"[Twitter URL]",
"[LinkedIn URL]",
"[Instagram URL]"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "[Phone]",
"contactType": "customer service",
"availableLanguage": ["English"]
}
}
### BreadcrumbList Schema
**Generated Schema**:json
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "[Homepage URL]"
},
{
"@type": "ListItem",
"position": 2,
"name": "[Category Name]",
"item": "[Category URL]"
},
{
"@type": "ListItem",
"position": 3,
"name": "[Page Name]",
"item": "[Page URL]"
}
]
}
### Combined Schema Implementation
For pages needing multiple schema types:json
[
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "[Article title]",
"author": { "@type": "Person", "name": "[Author name]" }
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{ "@type": "Question", "name": "[Question]", "acceptedAnswer": { "@type": "Answer", "text": "[Answer]" } }]
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{ "@type": "ListItem", "position": 1, "name": "Home", "item": "[URL]" }]
}
]
## Implementation Guide
### Adding Schema to Your Page
**Option 1: In HTML <head>**html
[Your JSON-LD schema here]
**Option 2: Before closing </body>**html
[Your JSON-LD schema here]
### Validation Steps
1. **~~schema validator**
- Test your live URL or paste code
- Check for errors and warnings
2. **Schema.org Validator**
- URL: https://validator.schema.org/
- Validates against Schema.org spec
3. **~~search console**
- Monitor rich results in ~~search console
- Check Enhancements reports for issues
### Validation Checklist
- [ ] JSON syntax is valid (no trailing commas)
- [ ] All required properties present
- [ ] URLs are absolute, not relative
- [ ] Dates are in ISO 8601 format
- [ ] Content matches visible page content
- [ ] No policy violations
User: "Generate FAQ schema for a page about SEO with 3 questions"
Output:
## FAQ Schema for SEO Page
### Schema Markupjson
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO (Search Engine Optimization) is the practice of optimizing websites and content to rank higher in search engine results pages (SERPs). It involves technical optimizations, content creation, and link building to increase organic visibility and drive qualified traffic to your website."
}
},
{
"@type": "Question",
"name": "How long does SEO take to work?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO typically takes 3-6 months to show significant results, though this varies based on competition, domain authority, and effort invested. New websites may take 6-12 months, while established sites with existing authority can see improvements in 1-3 months for less competitive keywords."
}
},
{
"@type": "Question",
"name": "Is SEO better than paid advertising?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO and paid advertising serve different purposes. SEO provides sustainable, long-term traffic without per-click costs but takes time to build. Paid advertising delivers immediate results but stops when you stop paying. Most successful businesses use both: paid ads for immediate leads and SEO for long-term growth."
}
}
]
}
### Implementationhtml
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO (Search Engine Optimization) is the practice of optimizing websites and content to rank higher in search engine results pages (SERPs). It involves technical optimizations, content creation, and link building to increase organic visibility and drive qualified traffic to your website."
}
},
{
"@type": "Question",
"name": "How long does SEO take to work?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO typically takes 3-6 months to show significant results, though this varies based on competition, domain authority, and effort invested. New websites may take 6-12 months, while established sites with existing authority can see improvements in 1-3 months for less competitive keywords."
}
},
{
"@type": "Question",
"name": "Is SEO better than paid advertising?",
"acceptedAnswer": {
"@type": "Answer",
"text": "SEO and paid advertising serve different purposes. SEO provides sustainable, long-term traffic without per-click costs but takes time to build. Paid advertising delivers immediate results but stops when you stop paying. Most successful businesses use both: paid ads for immediate leads and SEO for long-term growth."
}
}
]
}
### Validation
Test with ~~schema validator
### SERP Preview
SEO Guide: Complete Beginner's Tutorial
yoursite.com/seo-guide/
Learn SEO from scratch with our comprehensive guide...
▼ What is SEO?
SEO (Search Engine Optimization) is the practice of optimizing...
▼ How long does SEO take to work?
SEO typically takes 3-6 months to show significant results...
▼ Is SEO better than paid advertising?
SEO and paid advertising serve different purposes...
| Content Type | Schema Type | Key Properties |
|--------------|-------------|----------------|
| Blog Post | BlogPosting/Article | headline, datePublished, author |
| Product | Product | name, price, availability |
| FAQ | FAQPage | Question, Answer |
| How-To | HowTo | step, totalTime |
| Local Business | LocalBusiness | address, geo, openingHours |
| Recipe | Recipe | ingredients, cookTime |
| Event | Event | startDate, location |
| Video | VideoObject | uploadDate, duration |
| Course | Course | provider, name |
| Review | Review | itemReviewed, ratingValue |
| Your Content | Primary Schema | Add If Applicable | Rich Result Eligibility |
|-------------|---------------|-------------------|----------------------|
| Blog post / article | Article | FAQ, HowTo, Speakable | Article carousel, FAQ rich result |
| Product page | Product | Review, Offer, AggregateRating | Product snippet with price/rating |
| Service page | Service | FAQ, LocalBusiness | Service snippet |
| How-to guide | HowTo | Article, FAQ | How-to rich result with steps |
| FAQ page | FAQPage | Article | FAQ accordion in SERP |
| Recipe | Recipe | Video, AggregateRating | Recipe carousel |
| Event | Event | Offer, Organization | Event snippet with date/location |
| Video | VideoObject | Article | Video carousel, key moments |
| Local business | LocalBusiness | Review, OpeningHoursSpecification | Local pack, knowledge panel |
| Person/author | Person | Organization | Knowledge panel |
| Organization | Organization | ContactPoint, Logo | Knowledge panel |
| Course | Course | Organization | Course rich result |
| Job posting | JobPosting | Organization | Google for Jobs listing |
| Breadcrumb | BreadcrumbList | (Always add alongside other schema) | Breadcrumb trail in SERP |
| Software/App | SoftwareApplication | Review, Offer | App snippet |
| Industry | Essential Schema | High-Value Additions |
|----------|-----------------|---------------------|
| E-commerce | Product, BreadcrumbList, Organization | AggregateRating, FAQ, Review |
| SaaS | SoftwareApplication, FAQPage, Organization | HowTo, VideoObject, Review |
| Local Services | LocalBusiness, Service | FAQ, Review, Event |
| Publishing/Media | Article, Person, Organization | FAQ, Speakable, VideoObject |
| Education | Course, Organization | FAQ, HowTo, Event |
| Healthcare | MedicalWebPage, Organization | FAQ, Physician, MedicalClinic |
| Real Estate | RealEstateListing, Organization | LocalBusiness, FAQ |
| Restaurants | Restaurant, Menu | Review, Event, FAQ |
| Priority | Schema Types | Why |
|----------|-------------|-----|
| P0 -- Always | Organization, BreadcrumbList, WebSite (SearchAction) | Foundation for all sites |
| P1 -- Content | Article, FAQPage, HowTo | Direct rich result eligibility |
| P2 -- Commercial | Product, Review, AggregateRating, Offer | Revenue-impacting rich results |
| P3 -- Authority | Person, SameAs, Speakable | E-E-A-T signals, AI citation |
| P4 -- Specialized | Industry-specific types | Niche rich results |
| Issue | Impact | Fix |
|-------|--------|-----|
| Missing required property | Schema ignored by Google | Add all required fields (check schema.org) |
| Invalid date format | Warning, may lose rich result | Use ISO 8601: "2026-02-11" |
| Incorrect @type | Schema misinterpreted | Match @type exactly to schema.org |
| Self-referencing sameAs | Warning | sameAs should link to EXTERNAL profiles |
| Missing image for Article | Loses article rich result | Add image property with valid URL |
| Review without itemReviewed | Review not connected | Nest review inside Product/Service/etc. |
Generated Mar 1, 2026
An online retailer wants to add product schema markup to their product pages to enable rich results like star ratings, price, and availability in Google search results. This improves click-through rates and visibility for product listings, driving more qualified traffic and sales.
A local service business, such as a plumbing company, creates an FAQ page on their website and uses FAQ schema markup to generate rich snippets in search results. This expands their SERP presence, answers common customer questions directly in search, and increases trust and engagement.
A food blogger generates recipe schema markup for their recipe posts to enable rich results with images, cooking times, and ratings in Google. This enhances visual appeal in search results, attracts more clicks from food enthusiasts, and improves content discoverability.
A tech website publishes step-by-step tutorials and implements How-To schema markup to create rich cards in search results. This provides users with quick overviews of the steps, increases engagement by showcasing structured content, and boosts organic traffic for educational content.
A brick-and-mortar retail store adds LocalBusiness schema markup to their contact page to display business hours, address, and phone number in Google search results. This improves local SEO, helps customers find accurate information quickly, and drives foot traffic.
SEO agencies use this skill to offer schema markup generation as a service to clients, enhancing their technical SEO offerings. This generates recurring revenue through monthly retainers or one-time project fees, helping clients achieve better search visibility and rich results.
Content platforms integrate this skill to automatically generate schema markup for user-generated content like blogs, recipes, or product reviews. This adds value to their platform, improves user content performance in search, and can be monetized through premium features or subscriptions.
Developers create plugins for e-commerce platforms (e.g., Shopify, WooCommerce) that use this skill to auto-generate product and review schema markup. This drives sales through app store purchases or licensing fees, helping online stores enhance their SEO without manual coding.
💬 Integration Tip
Integrate this skill with a web crawler to automatically extract page content for schema generation, reducing manual data entry and ensuring accuracy.
Use the mcporter CLI to list, configure, auth, and call MCP servers/tools directly (HTTP or stdio), including ad-hoc servers, config edits, and CLI/type generation.
Connect to 100+ APIs (Google Workspace, Microsoft 365, GitHub, Notion, Slack, Airtable, HubSpot, etc.) with managed OAuth. Use this skill when users want to...
Build, debug, and deploy websites using HTML, CSS, JavaScript, and modern frameworks following production best practices.
YouTube Data API integration with managed OAuth. Search videos, manage playlists, access channel data, and interact with comments. Use this skill when users want to interact with YouTube. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway).
Scaffold, test, document, and debug REST and GraphQL APIs. Use when the user needs to create API endpoints, write integration tests, generate OpenAPI specs, test with curl, mock APIs, or troubleshoot HTTP issues.
Search for jobs across LinkedIn, Indeed, Glassdoor, ZipRecruiter, Google Jobs, Bayt, Naukri, and BDJobs using the JobSpy MCP server.