Skip to main content

Structured Data & Rich Results

Structured data (schema markup) helps search engines understand the content and context of your pages. It enables rich results in SERPs — enhanced displays that can improve CTR and visibility.

Learning Focus

After this lesson you can implement and validate Organization, Article, Product, Breadcrumb, FAQ, and LocalBusiness schema, then verify rich result eligibility in Google Search Console.

This lesson covers the eight schema areas (leaves 3.8.1–3.8.8): Organization schema, Article schema, Product schema, Breadcrumb schema, FAQ schema, LocalBusiness schema, schema validation, and rich result eligibility review.

Why This Matters

Core Concept
  • Rich results (review stars, FAQ accordions, product prices, breadcrumbs, events) stand out in SERPs, improving visibility and CTR.
  • Structured data helps search engines understand your content more accurately, which may improve relevance signals (not a direct ranking factor, but supports entity understanding). Structured data enables rich results and entity recognition but does not directly improve rankings.
  • Schema markup enables eligibility for emerging features (Google AI Overviews may use structured data for citations).

Organization Schema

Organization schema provides Google with structured information about your business entity.

Properties marked as Required are mandated by Schema.org specification. Properties marked as Google-required are needed for specific rich result eligibility. Properties marked as Recommended are optional but improve completeness.

Required properties:

PropertyDescriptionExample
nameOrganization name"Acme Corporation"
urlOfficial website URL"https://www.acme.com"
logoURL to the organization's logo"https://www.acme.com/logo.png"

Recommended properties:

PropertyPurpose
sameAsLinks to official social profiles (Facebook, LinkedIn, Twitter/X, Instagram, YouTube, Wikipedia)
descriptionBrief description of the organization
contactPointContact information (phone, email)
addressPhysical address (for businesses with a physical location)
foundingDateYear founded
numberOfEmployeesEmployee count (for larger organizations)

Organization schema implementation:

organization-schema.json
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Corp",
"url": "https://www.example.com",
"logo": "https://www.example.com/logo.png",
"sameAs": [
"https://www.facebook.com/examplecorp",
"https://www.linkedin.com/company/examplecorp",
"https://twitter.com/examplecorp"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-800-555-0199",
"contactType": "customer service"
}
}

Article Schema

Article schema (and its subtypes NewsArticle, BlogPosting) provides structured information about article content.

Properties marked as Schema.org are mandated by specification. Properties marked as Google are required for Article rich result eligibility (Top Stories, AMP). Properties marked as Recommended are optional.

Required properties:

PropertyRequirementDescription
headlineSchema.orgThe article title
datePublishedSchema.orgPublication date in ISO 8601 format
authorSchema.org (at minimum author.name)Author information (Person or Organization)
imageGoogle (for rich results)Article featured image URL — required for Top Stories and AMP article rich results
dateModifiedGoogle (for rich results)Last modification date in ISO 8601
publisherGoogle (for AMP/Top Stories)Publishing organization with name and logo — required for certain rich result types

Recommended properties:

PropertyPurpose
descriptionArticle excerpt or description
mainEntityOfPageCanonical URL of the article
wordCountArticle word count

Article schema note for AMP: If using AMP with Article schema, ensure properties follow AMP requirements. For standard pages, JSON-LD format is sufficient.

Product Schema

Product schema provides detailed product information for rich results and Google Shopping.

Properties marked as Schema.org are mandated by specification. Properties marked as Google are required for Product rich result eligibility (product snippets in SERPs). Properties marked as Recommended are optional.

Required properties:

PropertyRequirementDescription
nameSchema.orgProduct name
offersSchema.orgOffer details including price and availability

Offer sub-properties (within offers):

PropertyRequirementDescription
priceSchema.org + GoogleProduct price — required by both Schema.org spec and Google for rich results
priceCurrencySchema.org + GoogleCurrency code (ISO 4217) — required by both
availabilitySchema.org + Googlehttps://schema.org/InStock or https://schema.org/OutOfStock — required by both
urlGoogle (recommended)Direct product URL
itemConditionGoogle (recommended)NewCondition, UsedCondition, RefurbishedCondition

Recommended properties:

PropertyPurpose
descriptionProduct description
imageProduct image URL (multiple allowed)
brandBrand name
aggregateRatingProduct rating (if reviews available)
reviewProduct review
skuStock keeping unit
gtinGlobal Trade Item Number (GTIN-8, GTIN-12, GTIN-13, GTIN-14)
mpnManufacturer part number

Product schema implementation:

product-schema.json
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Widget Pro 2000",
"description": "A high-quality widget for professional use.",
"image": "https://www.example.com/widget-pro-2000.jpg",
"brand": {"@type": "Brand", "name": "ExampleBrand"},
"offers": {
"@type": "Offer",
"price": "199.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://www.example.com/widget-pro-2000"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "120"
}
}

BreadcrumbList schema generates breadcrumb rich results in SERPs, showing users where a page sits in the site hierarchy.

Implementation:

breadcrumb-schema.json
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.example.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Products",
"item": "https://www.example.com/products"
},
{
"@type": "ListItem",
"position": 3,
"name": "Widgets",
"item": "https://www.example.com/products/widgets"
}
]
}

Breadcrumb schema notes:

  • item is optional for the last breadcrumb (the current page).
  • Use absolute URLs for item.
  • Maintain breadcrumb order from homepage to current page.
  • Breadcrumb schema works independently of UI breadcrumbs — but they should match.

FAQ Schema

Important — As of 2024, Google has significantly restricted FAQ rich results. They now primarily appear only for well-known, authoritative government and health websites. For most sites, FAQ schema will not produce rich results. Implement it only if your site qualifies and you want to provide structured content understanding to search engines.

FAQ schema provides structured Q&A markup for pages with frequently asked questions.

Requirements:

RequirementDescription
Minimum questionsWhen FAQ rich results were widely available, Google required at least 2 Q&A pairs. As of 2024, FAQ rich results are heavily restricted to authoritative government/health sites only.
Content visibleQuestions and answers must be visible to users on the page
One FAQPage per pageDo not combine multiple FAQPage sections on one page
No FAQ within FAQNesting is not supported
Answer can include basic HTMLText, lists, images are acceptable

Implementation:

faq-schema.json
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is your return policy?",
"acceptedAnswer": {
"@type": "Answer",
"text": "We accept returns within 30 days of delivery."
}
},
{
"@type": "Question",
"name": "Do you ship internationally?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, we ship to over 50 countries worldwide."
}
}
]
}

When to use FAQ schema:

  • Your site qualifies as a well-known, authoritative government or health website (primary FAQ rich result eligibility as of 2024).
  • On qualifying sites: service pages, product pages, help center pages.
  • For most sites, FAQ rich results are heavily restricted and unlikely to appear.

LocalBusiness Schema

LocalBusiness schema (and subtypes: Restaurant, Dentist, Store, etc.) provides location-specific business information.

Properties marked as Schema.org are mandated by specification. Properties marked as Google are required for Local Business rich result eligibility. Properties marked as Recommended are optional.

Required properties:

PropertyRequirementDescription
nameSchema.orgBusiness name
addressSchema.org + GooglePhysical address (PostalAddress) — required by both
telephoneSchema.org + GoogleBusiness phone number — required by both

Recommended properties:

PropertyPurpose
geoLatitude and longitude coordinates
openingHoursSpecificationBusiness hours
priceRangePrice indicator ($, $$, $$$)
imageBusiness photos
urlBusiness website
aggregateRatingCustomer rating
sameAsSocial profiles
PropertyPurpose
geoLatitude and longitude coordinates
openingHoursSpecificationBusiness hours
priceRangePrice indicator ($, $$, $$$)
imageBusiness photos
urlBusiness website
aggregateRatingCustomer rating
sameAsSocial profiles

Multi-location implementation:

For businesses with multiple locations, each location gets its own LocalBusiness schema. Use a parentOrganization property or Organization schema as a wrapper.

Schema Validation

Schema validation ensures your markup is syntactically correct, complete with required properties, and eligible for rich results.

Validation tools:

ToolPurposeBest For
Google Rich Results TestTests if a page is eligible for rich resultsRich result eligibility check
Schema Markup Validator (formerly Structured Data Testing Tool)Validates schema syntax and property correctnessFull schema validation
GSC Enhancements reportsShows schema validation status for indexed pagesOngoing monitoring
Schema.org validatorValidates against schema.org vocabularyTechnical schema validation

Validation workflow:

  1. Test a sample page in the Rich Results Test.
  2. Check for errors (required properties missing, incorrect types) and warnings (recommended properties missing).
  3. Fix errors and re-test.
  4. Deploy to production.
  5. Monitor GSC Enhancements reports for validation issues.

Common validation errors:

ErrorCauseFix
Missing required propertyRequired field not presentAdd the required property
Incorrect property typeValue format does not match expected typeCheck schema.org definition for correct type
Unrecognized propertyProperty name is misspelled or not part of the schema typeUse correct vocabulary from schema.org
Missing or invalid URLURL is relative, malformed, or returns 4xxUse absolute URL, verify URL is valid
Item not reviewedGoogle has not yet reviewed the markupWait for recrawl, or submit updated sitemap

Rich Result Eligibility Review

Not all schema types produce rich results. Eligibility review identifies which pages can qualify for enhanced SERP display.

Rich result types and schema requirements:

Rich Result TypeSchema TypeGSC Enhancement Report
Review snippetReview, AggregateRatingReview Snippet
Recipe cardRecipeN/A
ProductProductProduct
FAQFAQPageFAQ (restricted to authoritative government/health sites as of 2024)
How-ToHowToHow-to
EventEventEvent
Job postingJobPostingJob Posting
Local businessLocalBusinessLocal Business
BreadcrumbBreadcrumbListBreadcrumbs
Sitelinks search boxWebSite (with potentialAction)Sitelinks Search Box

Eligibility checklist:

CheckQuestion
Schema type matches Google's rich result documentationIs the schema type listed in Google's rich result gallery?
All required properties are presentDoes the schema include all required properties for the rich result type?
Content is visible to usersIs the marked-up content visibly displayed on the page?
Page content matches schemaDoes the text content on the page match the values in the schema?
No prohibited practicesIs there any cloaking, invisible content, or misleading schema?

Workflow

  1. Identify schema opportunities: For each page type, determine which schema types are applicable (Product for product pages, FAQ for qualifying authoritative government/health sites, etc.).
  2. Implement schema: Add JSON-LD to the <head> or body of each page.
  3. Validate: Test with Rich Results Test before deployment.
  4. Deploy: Roll out schema changes to production.
  5. Monitor: Check GSC Enhancements reports regularly for validation issues.
  6. Iterate: Add new schema types as content types evolve.

Common Mistakes

warning

Adding schema markup for content not visible to users: This violates Google guidelines and can result in manual action.

  • Using schema types that do not match the page content: A blog post should not have Product schema; a product page should not have Article schema.
  • Missing required properties for rich result eligibility: Adding Product schema without price and availability will not produce product rich results.
  • Combining multiple schema types incorrectly: Use @graph or nested types properly; avoid conflicting properties.
  • Not monitoring GSC Enhancement reports: Schema errors can persist for months if not monitored.

Checklist

  • Organization schema is implemented with name, URL, logo, and sameAs.
  • Article schema is on all article/blog pages with headline, datePublished, author.
  • Product schema is on all product pages with name, price, availability, brand.
  • BreadcrumbList schema is on all relevant pages.
  • FAQPage schema is on pages with FAQ content (minimum 2 Q&A), noting that FAQ rich results are restricted to authoritative government/health sites as of 2024.
  • LocalBusiness schema is on location/city pages.
  • Schema validates in Rich Results Test with no errors.
  • GSC Enhancements reports show no errors or warnings.
  • Schema content matches visible page content.
  • Schema is consistently implemented across all relevant pages.

What's Next

References