Schema Markup: The Complete Guide to Structured Data (2026) — share-preview.com
Learn how to add schema markup to your website. Covers JSON-LD, Organization, Article, FAQ, HowTo, Product, and BreadcrumbList schemas with copy-paste examples.
Schema Markup: How to Add Structured Data to Your Website
Schema markup is invisible to visitors but speaks directly to search engines — telling Google exactly what your content is about and unlocking rich results like star ratings, FAQ dropdowns, and HowTo steps that make your listing stand out in search. This guide covers every major schema type with copy-paste JSON-LD examples, testing tools, and common mistakes to avoid.
1. What Is Schema Markup?
Schema markup is a standardized vocabulary of tags (from Schema.org) that you add to your HTML to give search engines additional context about your content. Where your page text might say "4.8 stars from 2,400 reviews," schema markup tells Google that this is a Product with an aggregateRating of 4.8 from 2,400 ratingCount values — structured in a way Google can reliably parse and display.
Schema.org is a shared project created in 2011 by Google, Bing, Yahoo, and Yandex. It defines hundreds of entity types — from Person and Organization to Recipe, Event, Movie, and LegalService. Today it's the universal language for structured data on the web.
JSON-LD vs Microdata vs RDFa
There are three syntaxes for writing structured data, but only one you should use in 2026:
- JSON-LD (JavaScript Object Notation for Linked Data) — a
<script>block placed in your<head>. Clean, separate from your HTML, easy to update. Google's official recommendation. - Microdata — attributes (like
itemscope,itemprop) embedded directly in your HTML elements. Messy, hard to maintain, couples your data to your markup. - RDFa — similar to Microdata but more expressive. Primarily used in academic and semantic web contexts. Not practical for typical websites.
✅ Use JSON-LD. Google explicitly recommends it, it's easy to read and maintain, and it doesn't require changing your HTML structure. All examples in this guide use JSON-LD.
2. Why Schema Markup Matters for SEO
Schema markup doesn't directly improve your rankings — Google has confirmed this. What it does is unlock rich results: enhanced search listings that display additional visual elements directly on the results page. Rich results grab attention and dramatically increase click-through rates, which sends more traffic your way and indirectly signals quality to Google's algorithm.
Types of Rich Results You Can Unlock
Star Ratings
Product and Review schemas show aggregate ratings below your title — one of the highest-CTR rich results.
FAQ Dropdowns
FAQPage schema adds expandable Q&A sections directly in your search listing, doubling your visual footprint.
HowTo Steps
HowTo schema can show numbered steps with images inside the search result — powerful for tutorial content.
Recipe Cards
Recipe schema unlocks rich cards with cook time, calories, and ratings in image search and web results.
Local Business Panel
LocalBusiness schema supports your Google Business Profile with consistent structured address and hours data.
Breadcrumbs
BreadcrumbList schema replaces the raw URL in search results with a readable path — improving brand trust.
CTR Impact of Rich Results
Research consistently shows that rich results outperform standard blue links:
- Pages with FAQ rich results see average CTR increases of 20–30% according to multiple SEO studies.
- Star ratings in product listings increase CTR by an average of 15–20% over unrated results.
- HowTo rich results can occupy 2–3× the vertical space of a standard listing, capturing more visual attention.
- Breadcrumb-enhanced results have higher trust perception — users know where they're going before they click.
If you're competing for informational keywords, your competitors who implement FAQPage schema and rank at the same position as you are almost certainly capturing a larger share of clicks. Schema markup is the difference.
3. Most Important Schema Types
Below are the seven schema types that matter most for typical websites, each with a complete JSON-LD example you can copy and adapt.
Organization Schema
Use on your homepage and About page. Tells Google who you are, establishes your entity for Knowledge Graph, and links your social profiles for entity authority.
// Paste in <head> of homepage and About page
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Acme Corp",
"url": "https://acmecorp.com",
"logo": {
"@type": "ImageObject",
"url": "https://acmecorp.com/logo.png",
"width": 200,
"height": 60
},
"description": "Acme Corp provides enterprise software solutions.",
"sameAs": [
"https://twitter.com/acmecorp",
"https://linkedin.com/company/acmecorp",
"https://facebook.com/acmecorp",
"https://en.wikipedia.org/wiki/Acme_Corp"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer support",
"email": "[email protected]"
}
}
</script>
Article Schema
Add to every blog post and editorial article. Helps Google understand your content is editorial, identifies the author, and feeds into Google News and Top Stories eligibility. See our meta tags guide for how Article schema works alongside title and description tags.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Use Schema Markup for SEO in 2026",
"description": "A complete guide to implementing structured data.",
"image": "https://acmecorp.com/images/schema-guide-og.png",
"author": {
"@type": "Person",
"name": "Jane Smith",
"url": "https://acmecorp.com/authors/jane-smith"
},
"publisher": {
"@type": "Organization",
"name": "Acme Corp",
"url": "https://acmecorp.com"
},
"datePublished": "2026-02-19",
"dateModified": "2026-02-19",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://acmecorp.com/blog/schema-guide"
}
}
</script>
FAQPage Schema
The highest-impact schema for blog content. Google may display your FAQ answers as expandable dropdowns directly in search results, doubling your listing's visual footprint and dramatically increasing CTR.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is schema markup?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup is a structured data vocabulary from Schema.org that you add to your HTML to help search engines understand your content and display rich results."
}
},
{
"@type": "Question",
"name": "Does schema markup improve Google rankings?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup is not a direct ranking factor, but it enables rich results that improve click-through rates, which can indirectly improve your SEO performance."
}
},
{
"@type": "Question",
"name": "How do I add schema markup to my website?",
"acceptedAnswer": {
"@type": "Answer",
"text": "You can add schema markup manually by pasting a JSON-LD script block into your page's head section, using a WordPress plugin like RankMath or Yoast, or injecting it via Google Tag Manager."
}
}
]
}
</script>
HowTo Schema
Use on tutorial pages, step-by-step guides, and instructional content. Google may render your steps directly in search results, and on mobile it can produce an expanded rich result with images per step.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Add Schema Markup to a Website",
"description": "Step-by-step instructions to implement JSON-LD schema markup.",
"totalTime": "PT15M",
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Choose your schema type",
"text": "Identify the content on your page and select the matching Schema.org type: Article for blog posts, Product for e-commerce, FAQPage for Q&A sections."
},
{
"@type": "HowToStep",
"position": 2,
"name": "Generate your JSON-LD code",
"text": "Use a schema generator or write the JSON-LD manually based on the examples in this guide. Fill in all required and recommended properties."
},
{
"@type": "HowToStep",
"position": 3,
"name": "Paste the code in your page head",
"text": "Add the <script type='application/ld+json'> block inside the <head> section of your page HTML, before the closing </head> tag."
},
{
"@type": "HowToStep",
"position": 4,
"name": "Validate with Google's Rich Results Test",
"text": "Go to search.google.com/test/rich-results, paste your URL, and confirm Google can detect and parse your schema without errors."
},
{
"@type": "HowToStep",
"position": 5,
"name": "Monitor in Google Search Console",
"text": "Check the Enhancements section in Google Search Console to see rich result eligibility, errors, and warnings for all your schema-enabled pages."
}
]
}
</script>
Product Schema
Essential for e-commerce product pages. Enables star ratings, price, and availability to appear in Google Shopping results and organic web results. Always include aggregateRating and offers for maximum rich result eligibility.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Acme Pro Wireless Headphones",
"description": "Premium wireless headphones with active noise cancellation and 40-hour battery life.",
"image": "https://acmecorp.com/images/headphones-pro.jpg",
"brand": {
"@type": "Brand",
"name": "Acme"
},
"sku": "ACME-HP-PRO-001",
"offers": {
"@type": "Offer",
"url": "https://acmecorp.com/products/headphones-pro",
"priceCurrency": "USD",
"price": "149.99",
"availability": "https://schema.org/InStock",
"seller": {
"@type": "Organization",
"name": "Acme Corp"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "1842",
"bestRating": "5"
}
}
</script>
BreadcrumbList Schema
Replaces the raw URL in Google search results with a readable navigation path (e.g., Home › Blog › Schema Markup). Helps users understand page hierarchy before clicking, which improves trust and CTR.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://acmecorp.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://acmecorp.com/blog"
},
{
"@type": "ListItem",
"position": 3,
"name": "Schema Markup Guide",
"item": "https://acmecorp.com/blog/schema-markup"
}
]
}
</script>
LocalBusiness Schema
Critical for any business with a physical location. Provides structured address, phone, opening hours, and coordinates to Google — supporting your Google Business Profile and local pack eligibility. Use a more specific sub-type if applicable (e.g., Restaurant, MedicalClinic, AutoRepair).
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Acme Coffee House",
"description": "Specialty coffee shop serving single-origin espresso and pastries.",
"url": "https://acmecoffee.com",
"telephone": "+1-555-012-3456",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 30.2672,
"longitude": -97.7431
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "07:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Saturday", "Sunday"],
"opens": "08:00",
"closes": "16:00"
}
],
"priceRange": "$",
"image": "https://acmecoffee.com/storefront.jpg"
}
</script>
4. How to Add Schema Markup
There are three practical ways to implement schema markup on your site. The right method depends on your technical setup and how much control you need.
Manually in <head>
Copy the JSON-LD block and paste it between your <head> tags. Most precise control. Best for developers or static sites. Works with any CMS or framework.
WordPress Plugin
Install RankMath or Yoast SEO. Both auto-generate Article, BreadcrumbList, Organization, and product schemas from your content. Zero-code setup. Best for most WordPress sites.
Google Tag Manager
Create a Custom HTML tag with your JSON-LD script. Trigger it on specific pages or all pages. Doesn't require CMS access — great for marketing teams managing schema on existing sites.
Adding Schema Manually (Step by Step)
- Write or generate your JSON-LD code (use the examples above as a starting point).
- Wrap it in
<script type="application/ld+json">and</script>. - Paste the block inside your page's
<head>section — before the closing</head>tag. - You can include multiple JSON-LD blocks on the same page (e.g., Article + FAQPage + BreadcrumbList).
- Validate using the tools in the next section before deploying.
💡 Pro tip: You can include multiple separate <script type="application/ld+json"> blocks on a single page. This is perfectly valid and is often cleaner than combining all types into one block.
WordPress Plugin Setup (RankMath)
- Install and activate RankMath from the WordPress plugin directory.
- Run the setup wizard — it will configure Organization schema with your site details automatically.
- For each post/page, open the RankMath sidebar panel and select the Schema tab.
- Choose the schema type (Article, FAQPage, HowTo, Product, etc.) and fill in the fields.
- For FAQ schema specifically: use RankMath's FAQ block in the Gutenberg editor — it generates valid FAQPage JSON-LD automatically.
Google Tag Manager Method
- Open your GTM container → Tags → New.
- Select "Custom HTML" as the tag type.
- Paste your complete
<script type="application/ld+json">...</script>block into the HTML field. - Set the trigger: "All Pages" for sitewide schema (Organization), or a specific page URL pattern for page-level schema.
- Submit and publish the container.
5. How to Test Your Schema Markup
Always validate your schema before considering the job done. Syntax errors, missing required fields, or mismatched properties can silently prevent your rich results from appearing.
Google Rich Results Test
URL: search.google.com/test/rich-results
Google's official testing tool. Paste your URL (or code snippet) and see exactly which rich results are eligible, any errors or warnings, and a preview of how your schema will be interpreted. This is your primary validation tool — if it passes here, Google can generate rich results from your page.
Schema.org Validator
URL: validator.schema.org
The official Schema.org validation tool checks your JSON-LD against the full Schema.org vocabulary. It catches type mismatches, unknown properties, and structural errors that Google's tool might overlook. Run both tools together.
SharePreview — OG + Structured Data in One Check
🔍 Check Your Page's Structured Data →
SharePreview checks your Open Graph tags, Twitter Cards, and structured data simultaneously — one URL, one complete diagnostic. See how your page appears across all social platforms while verifying your schema is correctly implemented. Pair it with the Rich Results Test for complete coverage.
Check Structured Data Free →Google Search Console — Long-Term Monitoring
After deployment, Google Search Console's Enhancements section shows live data from Google's crawling of your site:
- Valid items — pages where rich results are eligible and active
- Items with warnings — minor issues that may limit rich results
- Items with errors — critical issues preventing rich results
Search Console is the ground truth — it reflects what Google actually sees when crawling your live site, which may differ from the testing tools if your site uses JavaScript rendering or conditional logic.
6. Schema Markup Mistakes to Avoid
- ❌ Mistake 1: Schema content that doesn't match page content Google's guidelines explicitly prohibit marking up content that isn't visible on the page. Adding 5-star ratings to a page that has no reviews, or FAQs that don't appear in the actual content, is considered spam. This can result in a manual penalty and loss of all rich results across your domain.
-
❌ Mistake 2: Missing required properties
Each schema type has required and recommended properties. Product schema without
offerswon't produce price-enhanced rich results. FAQPage withoutacceptedAnswerwill fail validation. Always check Schema.org's documentation for required fields for each type you use. - ❌ Mistake 3: Invalid JSON syntax A single missing comma, unclosed bracket, or unescaped quote can silently break your entire JSON-LD block. Google will ignore invalid JSON. Always run your code through a JSON validator (jsonlint.com) before adding it to your site.
- ❌ Mistake 4: Using Microdata when you meant JSON-LD Older tutorials and CMS templates sometimes use Microdata attributes in HTML. Mixing Microdata and JSON-LD for the same entity type on one page can confuse parsers. Pick one approach per entity and stick with it — preferably JSON-LD.
- ❌ Mistake 5: Adding schema and never checking Search Console Schema errors surface in Google Search Console's Enhancements reports, sometimes weeks after deployment. Many teams add schema once and never verify it's working. Check Search Console monthly — schema requirements change, and what was valid last year may generate errors today.
7. Frequently Asked Questions
Schema markup is not a direct ranking factor — Google has confirmed this. However, it enables rich results (star ratings, FAQ dropdowns, HowTo steps) which dramatically improve click-through rates. Higher CTR means more traffic, which indirectly signals quality to Google. Studies show rich results can increase CTR by 20–30%.
Structured data is the broader concept — any standardized format for providing information about a page to machines. Schema markup is the specific vocabulary (from Schema.org) used to write that structured data. JSON-LD, Microdata, and RDFa are the formats; Schema.org types like Article, Product, and FAQPage are the vocabulary. Most people use the terms interchangeably.
You don't need it to rank in Google — but you need it to unlock rich results. If your competitors have star ratings and FAQ dropdowns in search results and you don't, they will get more clicks even at the same position. For e-commerce, local businesses, recipe sites, and any page with FAQs or how-to content, schema markup is essentially mandatory for competitive SEO.
The easiest no-code options are WordPress plugins: RankMath and Yoast SEO both generate schema markup automatically based on your content type. For non-WordPress sites, Google Tag Manager lets you inject JSON-LD without touching your codebase. Schema markup generators (including share-preview.com's schema generator) can create the JSON-LD code you paste into your page.
Google supports rich results for: Article, Book, Breadcrumb, Carousel, Course, Dataset, Event, FAQ, HowTo, Job Posting, Local Business, Logo, Movie, Product, Recipe, Review Snippet, Software App, and Video. FAQPage, HowTo, Product, and Recipe tend to produce the most visually prominent rich results with the highest CTR impact.
✅ Check Your Page's Structured Data →
Paste your URL into share-preview.com and verify your schema markup alongside your Open Graph and Twitter Card tags — one complete diagnostic for all your metadata.
Check Structured Data Free →See How Your Page Looks When Shared
Test your OG tags across Twitter, LinkedIn, Facebook, Slack, and WhatsApp instantly.
Test Share Preview Free →