Back to SEO

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.

Updated January 4, 2026
DMV Web Guys
TL;DR
  • 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."

Structured data schema markup code showing JSON-LD format

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.

Schema markup showing different structured data formats

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:

  1. Write it manually (for simple schemas)
  2. Use Schema.org's examples (modify as needed)
  3. Use Google's structured data markup helper (generates code)
  4. 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

Testing structured data with Google Rich Results Test

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