Schema Markup Generator
Generate JSON-LD structured data markup for Organization, FAQPage, Article, Product, and other schema types.
Back to all tools on ToolForge
Schema Type:
Name / Title:
URL:
Description:
For FAQPage, use one question and answer pair in the description field separated by ::.
About Schema Markup Generator
This schema markup generator creates JSON-LD structured data for common SEO use cases. It supports Organization, Article, FAQPage, and Product schema types, generating properly formatted markup that follows Schema.org vocabulary and Google's rich results guidelines.
It is useful for adding structured data to websites, generating schema for client projects, creating FAQ markup for knowledge panels, marking up products for e-commerce rich snippets, implementing article schema for news content, and validating structured data syntax before deployment.
What is Schema Markup?
Schema markup is structured data that helps search engines understand your content:
Schema Markup Overview: Schema.org is a collaborative effort by Google, Bing, Yahoo, and Yandex to create a standardized vocabulary for structured data on the web. Benefits of Schema Markup: ✓ Rich snippets in search results ✓ Improved click-through rates (CTR) ✓ Better content understanding by search engines ✓ Eligibility for special search features ✓ Enhanced knowledge panel display ✓ Rich cards for mobile search JSON-LD Format (Google's preferred format): Placement: Add JSON-LD scripts in or of your HTML. Multiple scripts per page are allowed.
Supported Schema Types
| Schema Type | Use Case | Required Properties | Rich Result Type |
|---|---|---|---|
| Organization | Company information | name, url | Knowledge panel |
| Article | News, blog posts | headline, image, datePublished | Top stories carousel |
| FAQPage | Q&A content | mainEntity (Question/Answer pairs) | FAQ rich results |
| Product | E-commerce items | name, image, offers | Product rich snippets |
| LocalBusiness | Physical locations | name, address, telephone | Local pack results |
| BreadcrumbList | Navigation paths | itemListElement | Breadcrumb rich results |
Organization Schema Example
Basic Organization Schema:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "ToolForge",
"url": "https://toolforge.site",
"description": "Developer tools and SEO utilities",
"logo": "https://toolforge.site/logo.png",
"sameAs": [
"https://twitter.com/toolforge",
"https://github.com/toolforge",
"https://linkedin.com/company/toolforge"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-800-555-1234",
"contactType": "customer service"
}
}
Extended with Address:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Corp",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94102",
"addressCountry": "US"
}
}
FAQPage Schema Example
FAQPage Schema (Multiple Questions):
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is schema markup?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup is structured data that helps search engines understand your content better."
}
},
{
"@type": "Question",
"name": "How do I add schema to my website?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Add a JSON-LD script tag in your HTML head or body section with your structured data."
}
},
{
"@type": "Question",
"name": "Does schema markup improve SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup can improve click-through rates by enabling rich snippets, but it's not a direct ranking factor."
}
}
]
}
Note: FAQPage schema should only be used on pages
where both questions AND answers are visible to users.
Don't mark up FAQ content that requires user interaction
to reveal answers.
Article Schema Example
Article Schema (BlogPosting):
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "How to Implement Schema Markup",
"image": "https://example.com/image.jpg",
"datePublished": "2024-01-15T08:00:00+08:00",
"dateModified": "2024-01-20T12:00:00+08:00",
"author": {
"@type": "Person",
"name": "Jane Doe",
"url": "https://example.com/author/jane"
},
"publisher": {
"@type": "Organization",
"name": "Example Blog",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"description": "A complete guide to implementing schema markup"
}
Date Format (ISO 8601):
YYYY-MM-DDTHH:MM:SS+TZ
Example: 2024-01-15T08:00:00+08:00
Article vs BlogPosting vs NewsArticle:
Article - General article type
BlogPosting - Blog posts specifically
NewsArticle - News articles (eligible for Top Stories)
TechArticle - Technical articles/tutorials
Product Schema Example
Product Schema with Offers:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Premium Widget",
"image": "https://example.com/widget.jpg",
"description": "High-quality widget for all your needs",
"sku": "WIDGET-001",
"brand": {
"@type": "Brand",
"name": "WidgetCo"
},
"offers": {
"@type": "Offer",
"price": "29.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://example.com/widget",
"seller": {
"@type": "Organization",
"name": "Example Store"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "128"
}
}
Availability Values:
InStock, OutOfStock, PreOrder, PreSale,
SoldOut, InStoreOnly, OnlineOnly
Price Format:
Use string or number without currency symbol
Specify currency with priceCurrency property
Schema Property Reference
| Property | Applies To | Type | Example |
|---|---|---|---|
| name | All types | Text | "Example Corp" |
| url | All types | URL | "https://example.com" |
| image | Most types | URL/ImageObject | "https://example.com/img.jpg" |
| description | Most types | Text | "Brief description" |
| sameAs | Organization, Person | URL array | ["https://twitter.com/..."] |
| address | LocalBusiness | PostalAddress | {@type: "PostalAddress", ...} |
Schema Validation Tools
- Google Rich Results Test: search.google.com/test/rich-results - Tests eligibility for Google rich results
- Schema Markup Validator: validator.schema.org - Validates syntax against Schema.org standards
- Google Search Console: Reports structured data issues after page indexing
- Bing Webmaster Tools: Reports structured data for Bing search
- Yandex Webmaster: Validates structured data for Yandex search
Common Schema Errors
- Missing required properties: Each schema type has required fields. Check documentation before publishing.
- Invalid property values: URLs must be valid, dates must follow ISO 8601, numbers shouldn't have currency symbols.
- Mismatched content: Schema must reflect visible page content. Don't mark up hidden or different content.
- Multiple conflicting schemas: Don't mark up the same content with conflicting types.
- Incorrect nesting: Some properties require specific sub-object types (e.g., address must be PostalAddress).
- Markup spam: Don't add fake reviews, ratings, or misleading information to schema.
Schema Implementation Best Practices
- Use JSON-LD format: Google recommends JSON-LD over Microdata or RDFa for ease of implementation.
- Place in or : JSON-LD can go anywhere in HTML, but is conventional.
- Test before deploying: Always validate markup with Rich Results Test before publishing.
- Keep content consistent: Schema content should match visible page content exactly.
- Use full URLs: Always use absolute URLs (https://...) not relative paths.
- Monitor Search Console: Check for structured data errors and fix issues promptly.
- Update when content changes: Keep schema synchronized with page content updates.
Frequently Asked Questions
- What is schema markup and why is it important for SEO?
- Schema markup (structured data) is code that helps search engines understand your content better. It uses standardized vocabularies (Schema.org) to label content types like articles, products, FAQs, and organizations. Benefits include rich snippets in search results, improved click-through rates, better content classification, and eligibility for special search features like carousels and knowledge panels.
- What is JSON-LD format?
- JSON-LD (JavaScript Object Notation for Linked Data) is Google's recommended format for structured data. It's a JSON object with @context and @type properties that can be placed in a