Schema.org Markup: The Complete Guide to Rich Results in 2026
July 7, 2026 · 9 min read
Schema.org Markup: The Complete Guide to Rich Results in 2026
Structured data is one of the few SEO investments that pays off in two ways simultaneously: it tells Google what your content means — not just what it says — and it earns you visual real estate in SERPs that competitors without markup simply cannot claim. Studies from Google's own case studies put the average CTR lift from rich results at 20–30% for FAQ snippets and up to 40% for product listings with visible star ratings. Schema markup is not optional for competitive search in 2026; it is table stakes. This guide covers every major schema type with working JSON-LD you can copy and deploy today.
What Schema Markup Actually Does
Schema markup is a structured metadata vocabulary defined at schema.org, maintained jointly by Google, Microsoft, Yahoo, and Yandex since 2011. When you annotate a page with schema, you give search engines unambiguous machine-readable data about that page's entities: a Product with a specific price and rating, an Event with a start date and venue, a Recipe with calorie count and cook time.
Google parses that data and may surface it as a "rich result" — a visually enhanced SERP listing beyond the standard blue link. The word "may" matters: schema markup is a signal, not a guarantee. Google decides whether to render a rich result based on quality signals, policy compliance, and relevance. Without schema at all, you get exactly zero chance of a rich result.
Three serialization formats exist: JSON-LD, Microdata, and RDFa. JSON-LD is Google's recommended format because it lives in a <script> block completely separate from your HTML. You can inject or update it without touching your visible DOM, making it safe to deploy across a CMS, a React app, or a static site generator. Microdata and RDFa require annotating inline HTML attributes — painful to maintain and easy to break on a redesign.
Every JSON-LD schema block starts with the same boilerplate:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebPage",
"name": "Example Page"
}
</script>
The @context always points to https://schema.org. The @type is the entity type you are describing.
FAQ Schema: The Fastest CTR Win Available
FAQ schema adds a collapsible Q&A dropdown directly beneath your SERP listing. On mobile, two FAQ pairs can consume the entire above-the-fold viewport — pushing competitors several hundred pixels below the fold. Google displays up to three FAQ pairs per result, so front-load your most valuable questions first.
Google's requirements are strict: the full question and answer text must appear in the visible HTML of the page (not just in the JSON-LD), answers must not duplicate an existing featured snippet, and questions must be genuinely distinct from one another.
<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 structured data using the schema.org vocabulary that helps search engines understand the entities on a web page, enabling rich results in SERPs."
}
},
{
"@type": "Question",
"name": "Does schema markup improve rankings?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Schema markup does not directly improve organic rankings, but it improves click-through rates by enabling rich results like FAQ dropdowns, star ratings, and event cards."
}
}
]
}
</script>
Use the FAQ Schema Generator to produce this markup for any number of Q&A pairs without writing JSON by hand.
Product Schema: Stars, Prices, and Availability
Product schema is the most commercially valuable rich result type for e-commerce. When implemented correctly, Google renders star ratings, price range, and in-stock status directly in the SERP — before the user clicks. A/B data from large retailers consistently shows 15–30% CTR lifts for product listings with visible star ratings versus plain blue links.
The minimum required properties for a Product that Google will render as a rich result are name, image, description, and at least one of offers, review, or aggregateRating.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Wireless Noise-Cancelling Headphones",
"image": "https://example.com/headphones.jpg",
"description": "Over-ear headphones with 30-hour battery and active noise cancellation.",
"sku": "WH-1000XM5",
"brand": {
"@type": "Brand",
"name": "AudioPro"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "2843"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/headphones",
"priceCurrency": "USD",
"price": "279.00",
"availability": "https://schema.org/InStock"
}
}
</script>
The availability field must use the full schema.org URI — valid values include InStock, OutOfStock, PreOrder, Discontinued, and LimitedAvailability. Using a plain string like "in stock" will cause the field to be ignored. Build complete product markup at the Product Schema Generator.
Article and Breadcrumb Schema for Content Sites
Article schema signals to Google that a page is editorial content with a defined author and publish date — key inputs for the E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) framework that governs how Google ranks informational content. Use NewsArticle for journalism, BlogPosting for blog content, and the base Article type for anything else editorial.
Breadcrumb schema is arguably the best ROI schema type per implementation minute. It replaces the raw URL slug in your SERP listing with a readable path hierarchy, which consistently improves CTR by 5–10% even with no other changes — users trust a visible path over an opaque URL.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://example.com/blog/"
},
{
"@type": "ListItem",
"position": 3,
"name": "Schema Markup Guide",
"item": "https://example.com/blog/schema-markup-guide/"
}
]
}
</script>
For article schema, the key properties are headline (max 110 characters), author, datePublished, dateModified, and image (minimum 1200px wide for AMP compatibility). Generate breadcrumb markup at the Breadcrumb Schema Generator and article markup at the Article Schema Generator.
Local Business Schema for Physical and Service Businesses
Local business schema feeds a different SERP surface than standard web results — it powers Google's Knowledge Panel and Maps results. For local service businesses (plumbers, dentists, law firms), correctly implemented local business schema correlates strongly with appearing in the Local Pack: the map plus three business listings that dominate geo-modified queries and capture the majority of clicks.
The LocalBusiness type has over 40 subtypes — from Dentist to AutoRepair to LodgingBusiness. Always use the most specific subtype available. Google uses type specificity to understand the category of business; Plumber will outperform LocalBusiness for plumbing-related queries.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Plumber",
"name": "Fast Flow Plumbing",
"image": "https://example.com/plumber-logo.png",
"telephone": "+1-555-867-5309",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"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": "08:00",
"closes": "18:00"
}
],
"priceRange": "$$"
}
</script>
Generate complete local business markup — including auto-populated geo coordinates — using the Local Business Schema Generator.
Recipe and Event Schema
Recipe schema produces the most visually rich SERP result of any schema type: a card with recipe image, total cook time, calorie count, and aggregate star rating rendered inline before a single click. Google also surfaces recipe-marked pages in the "Recipes" filter tab on mobile and in Google Discover. Required fields are name, image, recipeIngredient, and recipeInstructions — missing any of these disqualifies the page from the recipe rich result entirely.
Event schema drives listings in Google's dedicated event search surface, which appears as a full carousel above organic results when users search for events by city or topic. Required properties are name, startDate, and location.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "JavaScript Conference Austin 2026",
"startDate": "2026-09-14T09:00:00-05:00",
"endDate": "2026-09-15T18:00:00-05:00",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"eventStatus": "https://schema.org/EventScheduled",
"location": {
"@type": "Place",
"name": "Austin Convention Center",
"address": {
"@type": "PostalAddress",
"streetAddress": "500 E Cesar Chavez St",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701",
"addressCountry": "US"
}
},
"offers": {
"@type": "Offer",
"price": "399",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}
</script>
Generate recipe markup at Recipe Schema Generator and event markup at Event Schema Generator.
Testing, Validating, and Monitoring Your Schema
Shipping schema without validation first is the most common implementation mistake. Google's Rich Results Test (search.google.com/test/rich-results) is the authoritative validator — it shows exactly which properties Google detected, which required fields are missing, and whether the page currently qualifies for each rich result type. Schema.org's validator (validator.schema.org) is stricter and flags properties that are technically valid JSON-LD but use deprecated or mismatched types.
Four errors that break rich results silently:
- Missing required fields. Google will not render a rich result if any mandatory property is absent. The Rich Results Test lists required vs. recommended properties per type.
- Markup-content mismatch. If your schema claims
ratingValue: 4.8but the page displays no ratings in visible HTML, Google ignores or demotes the markup. Every schema field must reflect visible content on the page. - Incorrect
@typenesting. Embedding aProductinside aFAQPagewithout a valid connecting property produces parser errors. Each entity should be its own<script>block or connected via a defined schema.org property. - Duplicate
@typeon one page with conflicting values. If twoProductblocks exist with different prices, Google's behavior is undefined. UseItemListto mark up multiple items of the same type on a single page.
After deployment, monitor schema performance in Google Search Console under the "Enhancements" section. Each implemented schema type gets its own report — impression counts, click data, errors, and warnings tracked over time. Set up email alerts for new errors; unlike 500-level HTTP errors, schema validation failures produce no server log noise and routinely go undetected for weeks.
Conclusion
Schema markup is not a one-time deployment — it is a living layer of your site's technical foundation that must be maintained as content changes. Start with the highest-ROI types for your use case: FAQ schema for informational content, Product schema for e-commerce, Local Business schema for geo-targeted service businesses. Validate every implementation before pushing to production, monitor Search Console weekly, and update markup whenever the underlying page content changes.
The generators throughout this guide eliminate the tedious work of hand-authoring JSON-LD: FAQ Schema Generator, Product Schema Generator, Breadcrumb Schema Generator, Article Schema Generator, Local Business Schema Generator, Recipe Schema Generator, and Event Schema Generator. Each produces valid, paste-ready markup in under a minute — there is no excuse for shipping a page without structured data in 2026.
Try these free tools
Free & private — all tools run in your browser, nothing uploaded.