Back to Resources
Schema Markup Code Library
Copy-paste JSON-LD schema templates for all major schema types. Includes pre-built combination templates for maximum SEO impact.
11
Templates
7
Single Types
4
Combos
100%
Free
What Makes This Library Unique?
Most schema generators only show individual schema types. We provide pre-built combination templates that show you how to use multiple schemas together (e.g., Article + FAQPage + BreadcrumbList) — exactly how real websites need them.
Article Schema
Blog posts, news articles, guides
Content
@type: Article
✨ Shows article in Google News, enables rich snippets with author and publish date
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Article Title Here (max 110 characters)",
"description": "Brief summary of the article content",
"image": "https://yoursite.com/article-image.jpg",
"author": {
"@type": "Person",
"name": "Author Name",
"url": "https://yoursite.com/author/author-slug"
},
"publisher": {
"@type": "Organization",
"name": "Your Site Name",
"logo": {
"@type": "ImageObject",
"url": "https://yoursite.com/logo.png"
}
},
"datePublished": "2026-02-12",
"dateModified": "2026-02-12"
}FAQPage Schema
FAQ pages, Q&A sections, help documentation
Content
@type: FAQPage
✨ Displays FAQ accordion in Google search results - increases CTR and AI Overview visibility
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is schema markup?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup is code that helps search engines understand your content. It enables rich snippets in search results and improves click-through rates by up to 30%."
}
},
{
"@type": "Question",
"name": "How do I add schema markup to my site?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Add JSON-LD schema in a script tag in your page's head section. Use Google's Rich Results Test to validate it's working correctly."
}
},
{
"@type": "Question",
"name": "Does schema markup improve SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes. Schema markup increases visibility in AI Overviews by 3.2x and enables rich snippets, which improve click-through rates and traffic."
}
}
]
}Product Schema
Product pages on e-commerce sites
E-commerce
@type: Product
✨ Shows price, availability, and ratings in Google Shopping and search results
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Product Name",
"image": [
"https://yourstore.com/product-image-1.jpg",
"https://yourstore.com/product-image-2.jpg"
],
"description": "Detailed product description including features and benefits",
"sku": "PROD-12345",
"brand": {
"@type": "Brand",
"name": "Your Brand Name"
},
"offers": {
"@type": "Offer",
"url": "https://yourstore.com/products/product-slug",
"priceCurrency": "USD",
"price": "99.99",
"availability": "https://schema.org/InStock",
"seller": {
"@type": "Organization",
"name": "Your Store Name"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "127"
}
}LocalBusiness Schema
Physical business locations, stores, restaurants
Local SEO
@type: LocalBusiness
✨ Enables Google Maps listing, business hours, phone number in local search results
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Your Business Name",
"image": "https://yourbusiness.com/storefront.jpg",
"url": "https://yourbusiness.com",
"telephone": "+1-555-123-4567",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94102",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 37.7749,
"longitude": -122.4194
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
}
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "156"
}
}Organization Schema
Company homepage, about page
Branding
@type: Organization
✨ Links brand name to logo in search results, enables knowledge panel
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Your Company Name",
"url": "https://yourcompany.com",
"logo": "https://yourcompany.com/logo.png",
"description": "Brief company description and mission statement",
"foundingDate": "2020",
"founders": [
{
"@type": "Person",
"name": "Founder Name"
}
],
"address": {
"@type": "PostalAddress",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"addressCountry": "US"
},
"contactPoint": {
"@type": "ContactPoint",
"contactType": "Customer Support",
"telephone": "+1-555-123-4567",
"email": "support@yourcompany.com"
},
"sameAs": [
"https://twitter.com/yourcompany",
"https://linkedin.com/company/yourcompany",
"https://github.com/yourcompany"
]
}BreadcrumbList Schema
All pages with navigation hierarchy
Navigation
@type: BreadcrumbList
✨ Shows navigation breadcrumbs in Google search results
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://yoursite.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Category Name",
"item": "https://yoursite.com/category"
},
{
"@type": "ListItem",
"position": 3,
"name": "Current Page",
"item": "https://yoursite.com/category/page-slug"
}
]
}HowTo Schema
Step-by-step guides, tutorials, instructions
Content
@type: HowTo
✨ Displays step-by-step carousel in Google search results
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to [Do Something]",
"description": "Brief overview of the process",
"image": "https://yoursite.com/howto-image.jpg",
"totalTime": "PT30M",
"estimatedCost": {
"@type": "MonetaryAmount",
"currency": "USD",
"value": "10"
},
"tool": [
{
"@type": "HowToTool",
"name": "Tool Name"
}
],
"supply": [
{
"@type": "HowToSupply",
"name": "Supply Name"
}
],
"step": [
{
"@type": "HowToStep",
"name": "Step 1: Do This",
"text": "Detailed instructions for step 1",
"image": "https://yoursite.com/step1-image.jpg",
"url": "https://yoursite.com/guide#step1"
},
{
"@type": "HowToStep",
"name": "Step 2: Do That",
"text": "Detailed instructions for step 2",
"image": "https://yoursite.com/step2-image.jpg",
"url": "https://yoursite.com/guide#step2"
}
]
}Complete Blog Post
Blog posts with FAQ section
ComboContent
@type: Article@type: FAQPage@type: BreadcrumbList
✨ Article + FAQ + breadcrumbs - maximum visibility in search results
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Article",
"headline": "Your Blog Post Title",
"description": "Brief summary of the blog post",
"image": "https://yoursite.com/blog/post-image.jpg",
"author": {
"@type": "Person",
"name": "Author Name"
},
"publisher": {
"@type": "Organization",
"name": "Your Site Name",
"logo": {
"@type": "ImageObject",
"url": "https://yoursite.com/logo.png"
}
},
"datePublished": "2026-02-12",
"dateModified": "2026-02-12"
},
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Common question about the topic?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Answer to the question from the blog post content."
}
}
]
},
{
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://yoursite.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://yoursite.com/blog"
},
{
"@type": "ListItem",
"position": 3,
"name": "Post Title",
"item": "https://yoursite.com/blog/post-slug"
}
]
}
]
}Complete Product Page
E-commerce product pages with FAQ
ComboE-commerce
@type: Product@type: FAQPage@type: BreadcrumbList
✨ Product price/ratings + FAQ + breadcrumbs - complete e-commerce SEO
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Product",
"name": "Product Name",
"image": "https://yourstore.com/product-image.jpg",
"description": "Product description",
"sku": "PROD-123",
"brand": {
"@type": "Brand",
"name": "Brand Name"
},
"offers": {
"@type": "Offer",
"url": "https://yourstore.com/products/product-slug",
"priceCurrency": "USD",
"price": "99.99",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "89"
}
},
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What's included in the box?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The package includes the product, power adapter, user manual, and 1-year warranty card."
}
},
{
"@type": "Question",
"name": "What's your return policy?",
"acceptedAnswer": {
"@type": "Answer",
"text": "We offer a 30-day money-back guarantee. If you're not satisfied, return it for a full refund."
}
}
]
},
{
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://yourstore.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Category",
"item": "https://yourstore.com/category"
},
{
"@type": "ListItem",
"position": 3,
"name": "Product Name",
"item": "https://yourstore.com/products/product-slug"
}
]
}
]
}Complete Homepage
Company homepages
ComboBranding
@type: Organization@type: WebSite
✨ Organization + website search - enables sitelinks search box in Google
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"name": "Your Company Name",
"url": "https://yourcompany.com",
"logo": "https://yourcompany.com/logo.png",
"description": "Company description",
"sameAs": [
"https://twitter.com/yourcompany",
"https://linkedin.com/company/yourcompany"
]
},
{
"@type": "WebSite",
"name": "Your Company Name",
"url": "https://yourcompany.com",
"potentialAction": {
"@type": "SearchAction",
"target": "https://yourcompany.com/search?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
]
}Comparison Page
Product/tool comparison pages (like TurboSEO!)
ComboContent
@type: Article@type: FAQPage
✨ Perfect for comparison content - Article + FAQ for maximum visibility
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Article",
"headline": "Tool A vs Tool B: Complete Comparison",
"description": "In-depth comparison of Tool A and Tool B, including features, pricing, and use cases.",
"image": "https://yoursite.com/comparison-image.jpg",
"author": {
"@type": "Person",
"name": "Author Name"
},
"publisher": {
"@type": "Organization",
"name": "Your Site Name",
"logo": {
"@type": "ImageObject",
"url": "https://yoursite.com/logo.png"
}
},
"datePublished": "2026-02-12",
"dateModified": "2026-02-12"
},
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Which is better, Tool A or Tool B?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Tool A is better for [use case], while Tool B excels at [other use case]. Your choice depends on your specific needs."
}
},
{
"@type": "Question",
"name": "What are the main differences?",
"acceptedAnswer": {
"@type": "Answer",
"text": "The main differences are [feature 1], [feature 2], and [pricing model]."
}
}
]
}
]
}How to Implement Schema Markup
Next.js (App Router)
import Script from 'next/script';
export default function Page() {
const schema = {
"@context": "https://schema.org",
"@type": "Article",
// ... your schema data
};
return (
<>
<Script
id="schema-article"
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify(schema)
}}
/>
{/* Your page content */}
</>
);
}HTML
<head>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Article Title"
// ... your schema data
}
</script>
</head>WordPress (Manual)
// Add to functions.php or use
// Code Snippets plugin
function add_custom_schema() {
$schema = array(
'@context' => 'https://schema.org',
'@type' => 'Article',
// ... your schema data
);
echo '<script type="application/ld+json">';
echo json_encode($schema);
echo '</script>';
}
add_action('wp_head', 'add_custom_schema');Testing Your Schema
- 1.Copy your schema code
- 2.Paste into Google Rich Results Test
- 3.Fix any errors or warnings
- 4.Implement on your site
- 5.Test live URL to verify it works