Schema Markup: 6 Schema Types That Boost Rich Results
Which schema markup types actually drive rich results in Google: FAQ, HowTo, Product, Recipe, Article, LocalBusiness. Examples, validation, and what to skip.
Schema.org has over 800 defined types. Google supports rich results for about 30 of them. In practice, six schema types drive 90%+ of the actual rich-result opportunities you will encounter on a typical site. This post covers what each one does, who should use it, what it looks like in code, and the validation steps every team skips.
Generate any of these schemas instantly with our Schema Markup Generator — it produces valid JSON-LD ready to paste into your <head>.
What rich results actually are (and aren't)
Rich results are the enhanced search-result formats Google renders for pages that include structured data. Stars under a recipe link, FAQ accordions under an article, product pricing under a shopping result, breadcrumb trails above the URL — all of these are rich results triggered by schema markup.
Schema is NOT a ranking factor on its own. Adding schema does not move you from position 8 to position 3. What schema DOES do is change how your existing result renders. A position-3 result with a rich result attracts substantially higher CTR than the same position-3 result without one. We have seen CTR uplift of 30-80% on tested pages after adding the right schema, with the position itself unchanged.
So the right mental model is: schema is a CTR optimization layer that compounds with whatever organic ranking you already have.
1. FAQPage
What it does: turns a <details>-style FAQ section on your page into an accordion directly in the search result. Users see and can expand the questions without clicking through.
When to use: any page that genuinely answers multiple distinct questions. Most product pages, service pages, comparison guides, and long-form articles qualify. Do NOT use it on category landing pages or articles that don't have real Q&A content — Google's spam team has been aggressive about manual actions on fake FAQ markup since 2023.
Minimal JSON-LD:
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is FAQ schema?",
"acceptedAnswer": {
"@type": "Answer",
"text": "FAQ schema is structured data..."
}
}
]
}
Gotchas:
- Every question in the schema MUST be visibly on the page in the same words. Google compares against on-page text.
- Don't use FAQ schema if the answers are also rendered as separate pages — duplication risk.
- 3-8 questions is the sweet spot. Fewer than 3 looks thin; more than 8 dilutes per-question impact.
2. HowTo
What it does: renders the steps of a how-to article directly in search results, sometimes with images per step. Highly visual rich result.
When to use: instructional content with discrete sequential steps. Cooking, DIY, software setup, fitness routines, craft projects. Do NOT use for general advisory content ("how to think about X") — must be actual numbered procedural steps.
Minimal JSON-LD:
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to set up X",
"step": [
{"@type": "HowToStep", "name": "Step 1", "text": "Do this..."},
{"@type": "HowToStep", "name": "Step 2", "text": "Then this..."}
]
}
Gotchas:
- Google deprecated HowTo rich results for mobile in 2023, then partially restored them in 2024. Current support is uneven by query/device. Add the schema anyway — it costs nothing and may help when Google re-enables broader support.
- Each step should have its own image for the visual variant of the rich result.
3. Product
What it does: adds price, availability, rating stars, review count under product search results. The single highest-CTR rich result type for ecommerce.
When to use: product detail pages on ecommerce sites, app store listings, software product pages with pricing.
Minimal JSON-LD:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Wireless Headphones",
"image": "https://example.com/img.jpg",
"offers": {
"@type": "Offer",
"price": "199.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.6",
"reviewCount": "847"
}
}
Gotchas:
- AggregateRating triggers Google's spam reviews enforcement aggressively. Only include real ratings from real reviews actually shown on the page. Fake/seeded ratings risk manual action.
- Price must match the on-page price exactly. Outdated schema causes "structured data mismatch" errors in Search Console.
- The Offer must be a real, purchasable price — placeholders like "0.00" trigger validation errors.
4. Recipe
What it does: renders the most visual and competitive rich result on Google: hero image, star rating, cook time, ingredients carousel. Recipe sites live and die by this schema.
When to use: food recipe pages with ingredients and instructions.
Minimal JSON-LD:
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "Chocolate Chip Cookies",
"image": "https://example.com/cookies.jpg",
"recipeIngredient": ["2 cups flour", "1 cup butter", ...],
"recipeInstructions": [
{"@type": "HowToStep", "text": "Preheat oven to 350°F..."}
],
"cookTime": "PT15M",
"prepTime": "PT20M",
"recipeYield": "24 cookies"
}
Gotchas:
- Times are in ISO 8601 duration format (
PT15M= 15 minutes,PT1H30M= 1h 30min). Common source of validation errors. - Recipe schema is heavily reviewed by Google's spam team because every fly-by-night recipe-scraper site tried to game it in the 2010s. Original content, real images, full instructions — anything less risks penalty.
- The image should be 1200×1200 or larger for the carousel slot.
5. Article (and NewsArticle / BlogPosting)
What it does: signals the page is a news, blog, or magazine-style article. Eligible for Top Stories carousel, Discover surface, and Article rich result.
When to use: every blog post and news article. There's no downside.
Minimal JSON-LD:
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Article Title",
"image": "https://example.com/hero.jpg",
"datePublished": "2026-05-28T08:00:00Z",
"dateModified": "2026-05-28T08:00:00Z",
"author": {
"@type": "Person",
"name": "Author Name",
"url": "https://example.com/author/name"
},
"publisher": {
"@type": "Organization",
"name": "Publication Name",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
}
}
Gotchas:
- Author should link to a real author page with bio (E-E-A-T signal).
- dateModified updating WITHOUT real content changes is a known spam pattern Google penalizes. Only update when content actually changes.
- For Google News inclusion, use
NewsArticlesubtype instead of plainArticle.
6. LocalBusiness
What it does: powers the local pack and map results for location-based queries. Combined with Google Business Profile, drives most local-search visibility.
When to use: any business with a physical location customers visit. Restaurants, retail, services, professional offices.
Minimal JSON-LD:
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Joe's Pizza",
"image": "https://example.com/storefront.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "Brooklyn",
"addressRegion": "NY",
"postalCode": "11201",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 40.6938,
"longitude": -73.9913
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "11:00",
"closes": "22:00"
}
]
}
Gotchas:
- Use the most specific subtype (Restaurant, MedicalBusiness, AutoRepair, etc.) — not plain
LocalBusiness. Specificity helps Google route the right rich-result format. - NAP (Name, Address, Phone) must match Google Business Profile and other directories exactly. Inconsistencies hurt local ranking.
- Opening hours must reflect reality. Wrong hours in schema lead to bad-review penalties.
Schema types that LOOK valuable but mostly aren't
- WebSite + SearchAction — supposedly triggers the sitelinks search box. In practice, Google has narrowed this to only the largest sites with strong brand queries. Not worth optimizing for unless you're already getting brand searches.
- Organization — basic info about your company. Useful for Knowledge Panel but does not trigger SERP rich results directly.
- BreadcrumbList — does render in search results but provides marginal CTR uplift versus the other six above. Worth adding (zero cost), but won't move metrics on its own.
- Event — useful for actual event pages but very narrow use case.
- VideoObject — Google increasingly relies on video content itself rather than schema metadata for video rich results. Worth adding if you publish videos, low ROI versus the other six.
How to validate before publishing
Three tools to run, in order:
- Google's Rich Results Test — paste the URL or raw HTML. Shows exactly which rich results Google detects and any validation errors.
- Schema.org Validator — checks compliance against the full schema.org spec (Google ignores some warnings, but the spec is the authoritative source).
- Search Console → Enhancements — Google reports detected schema across your site, with error counts and impressions of each rich result type. Check weekly after first deploy.
A common mistake: adding schema, never validating, and discovering months later via Search Console that the markup has been broken since deploy. Run the Rich Results Test on at least one page per template after every schema change.
Generate the markup in 30 seconds
Use our Schema Markup Generator to produce valid JSON-LD for any of the six types above. The generator handles the boilerplate ($context, $type, nested objects) so you focus on the field values specific to your content. Output is copy-paste ready for the <head> of your page or your CMS's structured-data field.
Related tools and reading
- Schema Markup Generator — generate the markup
- Meta Tags Checker — verify other on-page SEO signals
- SEO Tools Hub — full pre-launch technical SEO workflow
- Robots.txt Generator — control which pages Google crawls
Recommended tools for this topic
Explore focused tools and use-case pages related to this article.