| name | schema-markup-generator |
| description | Generates structured data markup (Schema.org JSON-LD) to enable rich results in search engines including FAQ snippets, How-To cards, Product listings, Reviews, and more. |
Schema Markup Generator
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.
When to Use This Skill
- Adding FAQ schema for expanded SERP presence
- Creating How-To schema for step-by-step content
- Adding Product schema for e-commerce pages
- Implementing Article schema for blog posts
- Adding Local Business schema for location pages
- Creating Review/Rating schema
- Implementing Organization schema for brand presence
- Any page where rich results would improve visibility
What This Skill Does
- Schema Type Selection: Recommends appropriate schema types
- JSON-LD Generation: Creates valid structured data markup
- Property Mapping: Maps your content to schema properties
- Validation Guidance: Ensures schema meets requirements
- Nested Schema: Handles complex, multi-type schemas
- Rich Result Eligibility: Identifies which rich results you can target
How to Use
Generate Schema for Content
Generate schema markup for this [content type]: [content/URL]
Create FAQ schema for these questions and answers: [Q&A list]
Specific Schema Types
Create Product schema for [product name] with [details]
Generate LocalBusiness schema for [business name and details]
Audit Existing Schema
Review and improve this schema markup: [existing schema]
Instructions
When a user requests schema markup:
Identify Content Type and Rich Result Opportunity
### 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]Generate FAQ Schema
### 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...]Generate How-To Schema
### 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]" } ] }Generate Article Schema
### 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]" } }Generate Product Schema
### 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]" } }Generate Local Business Schema
### 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]" } }Generate Organization Schema
### 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"] } }Generate Breadcrumb Schema
### 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]" } ] }Combine Multiple Schema Types
### Combined Schema Implementation For pages needing multiple schema types: ```json <script type="application/ld+json"> [ { "@context": "https://schema.org", "@type": "Article", // Article properties... }, { "@context": "https://schema.org", "@type": "FAQPage", // FAQ properties... }, { "@context": "https://schema.org", "@type": "BreadcrumbList", // Breadcrumb properties... } ] </script>Provide Implementation and Validation
## Implementation Guide ### Adding Schema to Your Page **Option 1: In HTML <head>** ```html <head> <script type="application/ld+json"> [Your JSON-LD schema here] </script> </head>Option 2: Before closing