Structured Data Guide: How to Use Schema Markup for SEO
Learn how to implement structured data (schema markup) to help search engines understand your content and enable rich results in search.
- •Structured data helps search engines understand your content better
- •Schema.org markup can enable rich results and improve click-through rates
- •JSON-LD is the recommended format for structured data
- •Test all structured data with Google's Rich Results Test before deploying
- •Common schema types: Article, Product, LocalBusiness, FAQ, HowTo
What is Structured Data?
Structured data (also called "schema markup") is code you add to your website that provides specific information about your content in a standardized format that search engines can easily understand.
Think of it this way: if your HTML tells browsers how to display your content, structured data tells search engines what your content is about. It's like adding labels to your content so search engines know "this is a product," "this is a recipe," or "this is a local business."

Photo by Christina Morillo on Pexels
Why Structured Data Matters for SEO
1. Rich Results
- Structured data can enable rich snippets in search results
- Rich snippets show extra information like ratings, prices, images
- Rich results often have higher click-through rates
- Examples: star ratings, product prices, event dates, FAQ accordions
2. Better Understanding
- Helps search engines understand your content more accurately
- Reduces ambiguity about what your page is about
- Can help with voice search and AI-powered search features
- Supports Google's Knowledge Graph
3. Competitive Advantage
- Not all sites implement structured data
- Rich snippets make your listing stand out
- Can improve click-through rates significantly
- Shows your site is well-optimized
Important note: Structured data is not a direct ranking factor. Google has explicitly stated this. However, it can indirectly help SEO by:
- Improving click-through rates (which can signal quality to Google)
- Helping search engines understand content better
- Enabling features that make listings more attractive
How Structured Data Works
The Schema.org Vocabulary
Structured data uses a standardized vocabulary from Schema.org—a collaborative project by Google, Microsoft, Yahoo, and Yandex to create a common set of schemas for structured data.
Key concepts:
- Types: Categories like "Article," "Product," "LocalBusiness"
- Properties: Attributes like "name," "price," "datePublished"
- Values: The actual data (text, numbers, URLs, dates)
Formats for Structured Data
There are three main formats, but Google recommends JSON-LD:
1. JSON-LD (Recommended)
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Use Structured Data",
"author": {
"@type": "Organization",
"name": "DMV Web Guys"
},
"datePublished": "2026-01-05"
}
</script>
Why JSON-LD is best:
- Clean and easy to maintain
- Can be placed in
<head>separate from HTML - Less prone to errors
- Recommended by Google
2. Microdata
- Embedded directly in HTML
- Uses HTML attributes
- More difficult to maintain
- Can clutter your HTML
3. RDFa
- Similar to microdata
- Uses HTML attributes
- Less commonly used
- More complex syntax
Recommendation: Use JSON-LD for all structured data implementation.

Photo by Miguel Á. Padriñán on Pexels
Common Schema Types
Here are the most commonly used schema types for SEO:
Article Schema
Use for blog posts, news articles, and editorial content.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your Article Title",
"description": "Article description",
"image": "https://yoursite.com/image.jpg",
"author": {
"@type": "Person",
"name": "Author Name"
},
"publisher": {
"@type": "Organization",
"name": "Your Organization",
"logo": {
"@type": "ImageObject",
"url": "https://yoursite.com/logo.png"
}
},
"datePublished": "2026-01-05",
"dateModified": "2026-01-05"
}
Benefits:
- Can enable article rich results
- Shows publication dates in search
- Can appear in Google News
- Helps establish authorship
Product Schema
Use for e-commerce product pages.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Product Name",
"image": "https://yoursite.com/product.jpg",
"description": "Product description",
"brand": {
"@type": "Brand",
"name": "Brand Name"
},
"offers": {
"@type": "Offer",
"url": "https://yoursite.com/product",
"priceCurrency": "USD",
"price": "99.99",
"availability": "https://schema.org/InStock"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "120"
}
}
Benefits:
- Enables product rich results
- Shows price and availability
- Displays star ratings
- Can appear in Google Shopping
LocalBusiness Schema
Use for local businesses to improve local SEO.
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Business Name",
"image": "https://yoursite.com/business.jpg",
"@id": "https://yoursite.com",
"url": "https://yoursite.com",
"telephone": "+1-555-123-4567",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "City",
"addressRegion": "State",
"postalCode": "12345",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 40.7128,
"longitude": -74.0060
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"opens": "09:00",
"closes": "17:00"
}
}
Benefits:
- Improves local search visibility
- Shows business information in rich results
- Enables Google Maps integration
- Supports local SEO efforts
FAQ Schema
Use for pages with frequently asked questions.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [{
"@type": "Question",
"name": "What is structured data?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Structured data is code you add to your website..."
}
}, {
"@type": "Question",
"name": "Do I need structured data?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Structured data is not a ranking factor..."
}
}]
}
Benefits:
- Can enable FAQ rich results
- Shows questions and answers in search
- Improves click-through rates
- Helps answer user questions directly
HowTo Schema
Use for step-by-step guides and tutorials.
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to Implement Structured Data",
"description": "Step-by-step guide to adding schema markup",
"image": "https://yoursite.com/howto-image.jpg",
"totalTime": "PT30M",
"step": [{
"@type": "HowToStep",
"position": 1,
"name": "Choose schema type",
"text": "Select the appropriate schema type for your content",
"image": "https://yoursite.com/step1.jpg"
}, {
"@type": "HowToStep",
"position": 2,
"name": "Generate JSON-LD code",
"text": "Create the structured data code",
"image": "https://yoursite.com/step2.jpg"
}]
}
Benefits:
- Can enable HowTo rich results
- Shows steps directly in search
- Improves visibility for tutorials
- Attractive format for users
Review Schema
Use for product reviews, service reviews, and ratings.
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": {
"@type": "Product",
"name": "Product Name"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"author": {
"@type": "Person",
"name": "Reviewer Name"
},
"reviewBody": "This is an excellent product..."
}
Benefits:
- Shows star ratings in search
- Displays review content
- Can improve click-through rates
- Builds trust with potential customers
How to Implement Structured Data
Step 1: Identify What Needs Schema
Determine:
- What type of content do you have? (articles, products, local business, etc.)
- What schema types are most relevant?
- Which pages would benefit most?
Priority pages:
- Homepage (Organization or LocalBusiness)
- Product pages (Product schema)
- Blog posts (Article schema)
- Service pages (Service schema)
- FAQ pages (FAQPage schema)
- About pages (Organization schema)
Step 2: Choose the Right Schema Type
Use Schema.org to find:
- The most specific type available
- Required and recommended properties
- Examples and documentation
Common choices:
- Blog posts → Article
- Products → Product
- Local businesses → LocalBusiness
- Services → Service
- FAQs → FAQPage
- Recipes → Recipe
- Events → Event
- Organizations → Organization
Step 3: Generate the JSON-LD Code
Options:
- Write it manually (for simple schemas)
- Use Schema.org's examples (modify as needed)
- Use Google's structured data markup helper (generates code)
- Use a plugin (for CMS platforms like WordPress)
Best practices:
- Start with required properties
- Add recommended properties when relevant
- Use accurate data (don't mislead)
- Keep it simple (don't overcomplicate)
Step 4: Add to Your Pages
For JSON-LD:
- Place in the
<head>section - Can be anywhere in
<head> - Keep it separate from HTML content
- One schema block per page (or combine related schemas)
Example placement:
<head>
<title>Your Page Title</title>
<meta name="description" content="Description">
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
...
}
</script>
</head>
Step 5: Test Your Structured Data
Before deploying:
- Use Google's Rich Results Test
- Fix all errors
- Address warnings when possible
- Verify it renders correctly
Testing tools:
- Google Rich Results Test: search.google.com/test/rich-results
- Schema.org Validator: validator.schema.org
- Google Search Console (after deployment)
Common errors to fix:
- Missing required properties
- Invalid date formats
- Broken URLs
- Syntax errors
- Incorrect property values

Photo by Nataliya Vaitkevich on Pexels
Structured Data Best Practices
1. Use Accurate Data
Critical rule: Only add structured data that accurately represents your content.
Don't:
- Add fake reviews or ratings
- Include misleading information
- Add schema for content you don't have
- Exaggerate product features
Why it matters:
- Google can penalize misleading structured data
- Users lose trust when information is wrong
- Can result in rich results being removed
- Violates Google's guidelines
2. Start Simple
Begin with:
- One schema type per page
- Required properties only
- Test thoroughly before expanding
Then add:
- Recommended properties
- Multiple related schemas (when appropriate)
- More complex structures
Reason: Simpler schemas are easier to maintain and less error-prone.
3. Keep It Updated
Regularly check:
- Structured data still matches content
- All URLs are correct and working
- Dates are current
- Prices are accurate (for products)
Why: Outdated structured data can show wrong information in search results.
4. Use Specific Types
Choose the most specific schema type available:
- ✅ Restaurant (more specific)
- ❌ LocalBusiness (too general)
Benefits:
- Better rich results
- More accurate understanding
- Access to specific properties
- Better search features
5. Test Before and After
Before deployment:
- Validate syntax
- Check with Rich Results Test
- Verify all properties
After deployment:
- Monitor Google Search Console
- Check for errors
- Verify rich results appear
- Address any issues quickly
Common Mistakes to Avoid
1. Adding Schema for Content You Don't Have
Example: Adding Review schema when you don't have reviews.
Problem: Misleading structured data violates Google's guidelines.
Solution: Only add schema that accurately represents your actual content.
2. Incorrect Property Values
Example: Using "free" as a price instead of "0" or "Free".
Problem: Search engines may not recognize or display the value correctly.
Solution: Use correct data types and formats per Schema.org specifications.
3. Missing Required Properties
Example: Adding Article schema without a headline.
Problem: Required properties missing can cause errors.
Solution: Always include all required properties for your schema type.
4. Syntax Errors
Example: Missing commas, brackets, or quotes in JSON-LD.
Problem: Invalid JSON won't be processed.
Solution: Validate JSON syntax before deploying.
5. Overcomplicating
Example: Adding unnecessary nested schemas or properties.
Problem: More complex = more opportunities for errors.
Solution: Keep it simple and only add what's needed.
Monitoring and Maintenance
Google Search Console
Monitor:
- Rich results status
- Structured data errors
- Coverage issues
- Performance metrics
Check regularly:
- Weekly for errors
- Monthly for coverage
- After major site changes
Rich Results Test
Use to:
- Test new structured data
- Verify changes
- Debug issues
- Validate syntax
Best practice: Test every structured data change before deploying.
Common Issues
Errors in Search Console:
- Invalid structured data
- Missing required properties
- Disapproved structured data
- Implementation errors
Actions:
- Fix errors immediately
- Re-test after fixes
- Monitor for resolution
- Document patterns
Advanced Structured Data
Combining Multiple Schemas
You can include multiple schemas on one page:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Article",
"headline": "Article Title",
...
},
{
"@type": "Organization",
"name": "Your Organization",
...
}
]
}
</script>
When to combine:
- Related schemas (Article + Organization)
- Supporting information
- Multiple content types on one page
Nested Schemas
Embed schemas within other schemas:
{
"@type": "Article",
"author": {
"@type": "Person",
"name": "Author Name",
"sameAs": "https://twitter.com/author"
},
"publisher": {
"@type": "Organization",
"name": "Publisher Name",
"logo": {
"@type": "ImageObject",
"url": "https://site.com/logo.png"
}
}
}
Benefits:
- More detailed information
- Better understanding
- Richer results
- More context
Tools and Resources
Testing Tools
Google Rich Results Test:
- Validates structured data
- Shows how rich results will appear
- Identifies errors and warnings
- Free to use
Schema.org Validator:
- General syntax validation
- Schema.org compliance
- Helpful for debugging
- Free to use
Code Generators
Google's Structured Data Markup Helper:
- Visual tool for generating code
- Supports multiple schema types
- Generates JSON-LD
- Free to use
Schema.org Examples:
- Real-world examples
- Copy and modify
- Good starting point
- Free reference
WordPress Plugins
If using WordPress:
- Schema Pro
- Yoast SEO (includes schema)
- Rank Math (includes schema)
- All in One Schema
Recommendation: Use plugins that generate valid JSON-LD automatically.
Conclusion: Structured Data is Worth It
Structured data isn't a ranking factor, but it's still valuable for SEO:
Benefits:
- Enables rich results that stand out
- Improves click-through rates
- Helps search engines understand content
- Supports modern search features
- Competitive advantage
Implementation tips:
- Start with JSON-LD format
- Begin simple and expand gradually
- Test thoroughly before deploying
- Monitor for errors regularly
- Keep data accurate and updated
Remember: Structured data should accurately represent your content. Don't add misleading information. Focus on the schema types most relevant to your site, and test everything before going live.
For more technical SEO guidance, check out our technical SEO guide or learn about on-page SEO optimization.
Frequently Asked Questions
Structured data is code you add to your website that provides specific information about your content in a format search engines can easily understand. It uses Schema.org vocabulary to describe things like articles, products, businesses, reviews, and more.
Related Articles
Technical SEO: The Complete Guide for 2026
Master the technical foundations of SEO—site structure, crawling, indexing, speed optimization, and everything search engines need.
authority SEO Best Practices
SEO guide covering authority and how to optimize it for search engines.
How Search Engines Work: A Complete Guide for SEO
Learn how search engines crawl, index, and rank websites. Understanding how search engines work helps you optimize your site better.