Structured Data and Rich Snippets Guide

seo structured data schema.org json-ld rich snippets
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:

  1. Understand content: More accurate classification
  2. Create rich snippets: Enhanced search result displays
  3. 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"
}

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:

  1. Support the type: Not all schema types have rich result features
  2. Trust your site: New or spammy sites may not get rich snippets
  3. Find it useful: Google decides what to display

Common rich snippet types:

Schema TypeRich Snippet
ProductPrice, rating, availability
FAQPageExpandable Q&A
RecipeImage, rating, cook time
HowToStep-by-step with images
ArticleAuthor, date, image
EventDate, location, tickets
ReviewStar 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

  1. BreadcrumbList: Every site with navigation should have this
  2. Organization: Your homepage should declare who you are
  3. 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

  1. Use our Schema Generator to create structured data for your pages
  2. Validate with our Schema Validator
  3. Monitor in Search Console for errors

If you need help with structured data implementation or SEO strategy, reach out.