Structured Data and Rich Snippets Guide
When Google shows star ratings, FAQ dropdowns, or recipe cards in search results, that’s structured data at work. It gives search engines explicit context about your content, which they can use to create enhanced “rich snippets.”
Structured data doesn’t directly boost rankings, but it makes your results more visible and clickable—which often matters more than moving up a position or two.
What Structured Data Does
Structured data is machine-readable markup that describes your content. Instead of making search engines infer what your page is about, you tell them explicitly:
- This is an article written by this author on this date
- This product costs $50 and has 4.5 stars from 120 reviews
- These are FAQs with these questions and answers
Search engines use this to:
- Understand content: More accurate classification
- Create rich snippets: Enhanced search result displays
- Power features: Knowledge panels, voice search answers, etc.
JSON-LD: The Preferred Format
Three formats exist for structured data:
- JSON-LD: JavaScript notation in a script tag (recommended)
- Microdata: HTML attributes throughout your content
- RDFa: Another HTML attribute approach
Google recommends JSON-LD because it’s:
- Separate from your HTML (easier to manage)
- Easier to generate dynamically
- Less likely to break when content changes
JSON-LD goes in your page’s <head>:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Structured Data Guide",
"author": {
"@type": "Organization",
"name": "Corco Labs"
}
}
</script>
Common Schema Types
Article / BlogPosting
For blog posts and news articles:
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Structured Data Guide",
"description": "Learn how to implement structured data.",
"image": "https://example.com/image.jpg",
"datePublished": "2026-02-14",
"dateModified": "2026-02-14",
"author": {
"@type": "Organization",
"name": "Corco Labs",
"url": "https://corcolabs.com"
}
}
FAQPage
For FAQ sections (can appear as dropdowns in search results):
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is structured data?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Structured data is machine-readable markup that describes your content."
}
},
{
"@type": "Question",
"name": "Does structured data help SEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "It enables rich snippets which can improve click-through rates."
}
}
]
}
Product
For e-commerce product pages:
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Widget Pro",
"description": "The best widget for professionals.",
"image": "https://example.com/widget.jpg",
"offers": {
"@type": "Offer",
"price": "49.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "120"
}
}
LocalBusiness
For physical business locations:
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Corco Labs",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94102"
},
"telephone": "+1-555-123-4567",
"openingHours": "Mo-Fr 09:00-17:00"
}
BreadcrumbList
For navigation breadcrumbs:
{
"@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"
}
]
}
Organization
For company/brand information:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Corco Labs",
"url": "https://corcolabs.com",
"logo": "https://corcolabs.com/logo.png",
"sameAs": ["https://twitter.com/corcolabs", "https://linkedin.com/company/corcolabs"]
}
Rich Snippet Eligibility
Not all structured data triggers rich snippets. Google must:
- Support the type: Not all schema types have rich result features
- Trust your site: New or spammy sites may not get rich snippets
- Find it useful: Google decides what to display
Common rich snippet types:
| Schema Type | Rich Snippet |
|---|---|
| Product | Price, rating, availability |
| FAQPage | Expandable Q&A |
| Recipe | Image, rating, cook time |
| HowTo | Step-by-step with images |
| Article | Author, date, image |
| Event | Date, location, tickets |
| Review | Star rating |
Implementation Best Practices
Match Content to Markup
Only use schema types that accurately describe your content. Marking a blog post as a Product is spam and can result in manual actions.
Include Required Properties
Each schema type has required and recommended properties. Check schema.org or Google’s documentation.
Keep Data Current
Outdated prices, incorrect ratings, or old dates mislead users and can lose rich snippet eligibility.
One Primary Type Per Page
While you can have multiple schemas (Article + BreadcrumbList + Organization), each page should have one “main” type that matches its purpose.
Generating Structured Data
Manual Creation
Writing JSON-LD by hand works for simple cases but is error-prone.
Our Schema Generator
Our Schema Generator makes it easy:
- Choose from common schema types
- Fill in your content details
- Get valid, copy-paste-ready JSON-LD
- No coding required
It supports Article, FAQPage, Product, LocalBusiness, Organization, and BreadcrumbList schemas.
CMS Plugins
Most CMS platforms have plugins:
- WordPress: Yoast SEO, Rank Math, Schema Pro
- Shopify: Built-in for products, apps for others
- Squarespace: Automatic for common types
Validating Structured Data
Invalid structured data doesn’t trigger rich snippets and may cause errors in Search Console.
Common Errors
- Missing required properties: Each type has must-have fields
- Invalid JSON: Syntax errors, missing commas
- Wrong types: Number as string, array as object
- URL issues: Invalid or broken URLs
Testing Tools
Google Rich Results Test: Shows how Google interprets your structured data and which rich results are eligible.
Schema.org Validator: Validates against the schema.org specification.
Our Schema Validator: The Schema Validator checks any URL for:
- All detected schema types
- Missing or invalid properties
- Rich result eligibility
- Specific recommendations
Monitoring in Search Console
Google Search Console’s “Enhancements” section shows:
- Valid structured data by type
- Errors and warnings
- Historical trends
- Specific pages with issues
Check this regularly—errors can appear when content changes or Google updates its requirements.
Structured Data Strategy
Start with the Basics
- BreadcrumbList: Every site with navigation should have this
- Organization: Your homepage should declare who you are
- Article/BlogPosting: For content pages
Add Based on Content Type
- E-commerce: Product, Offer, AggregateRating
- Service business: LocalBusiness, Service
- Events: Event
- Recipes: Recipe
- How-to content: HowTo
Don’t Overdo It
Adding every possible schema type doesn’t help. Focus on types that:
- Accurately describe your content
- Have rich result features you want
- Provide value to users
Take Action
- Use our Schema Generator to create structured data for your pages
- Validate with our Schema Validator
- Monitor in Search Console for errors
If you need help with structured data implementation or SEO strategy, reach out.