SEO Structured Data: How to Choose, Add, and Test It

SEO structured data is markup that helps Google understand page content and can enable rich results. Choose the appropriate schema type, encode the page’s actual information, and validate the published markup.

SEO structured data: interlocking gears, a closed folder, and a monitor showing an abstract chart arranged left to right, open laptop, closed notebook, pen, and closed calendar

What structured data, schema markup, and JSON-LD mean

These terms describe different parts of the implementation:

Google’s structured data documentation distinguishes the broader Schema.org vocabulary from Google’s supported features and directs publishers to Google feature guides for eligibility requirements.

Choose schema types that match the page

Start with the page’s main content, then consult Google’s current feature gallery. The following types cover common page purposes; each linked guide provides its own implementation rules.

Page contentAppropriate markupInformation to check
A news story or blog articleGoogle’s Article guide supports Article, NewsArticle, and BlogPosting.Headline, author, publication and modification dates, relevant images.
Navigation showing a page’s place in the siteGoogle’s Breadcrumb guide uses BreadcrumbList.The navigation trail, item names, positions, and URLs; this feature is available on desktop.
A page focused on a specific productGoogle’s Product snippet guide uses Product.Product name and the applicable offer, review, or aggregate rating information.
A home page or page describing an organizationGoogle’s Organization guide describes organization identity.Name, logo, contact information, and applicable identifiers.
Information about a physical business locationGoogle’s Local Business guide covers LocalBusiness and its subtypes.Business name, physical address, opening hours, and other applicable details.
Instructions for preparing a dishGoogle’s Recipe guide uses Recipe.Dish name, image, ingredients, preparation instructions, and relevant cooking details.
A page dedicated to one eventGoogle’s Event guide uses Event.Event name, start date and time, venue, and a unique event URL.

Google’s Product snippet requirements specify name and at least one of review, aggregateRating, or offers, on pages focused on one product or its variants. Focus implementation on individual product pages. Google’s merchant listing guidelines additionally require a page where a shopper can purchase the product, excluding pages that only link to other sellers.

Organization markup has a different placement rule. Google recommends the home page or a single page describing the organization and says it does not need to appear on every page.

Google’s guidance on multiple items allows nested or separate items when they reflect content on the page, and explains how @id can connect related descriptions.

Use JSON-LD, Microdata, or RDFa

Google’s format comparison accepts all three and recommends JSON-LD for maintenance: JSON-LD uses a script element in the HTML head or body, while Microdata and RDFa use HTML attributes.

A basic JSON-LD excerpt can use this article’s actual headline:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "SEO Structured Data: How to Choose, Add, and Test It"
}
</script>

The JSON-LD specification defines @context as the mechanism for interpreting terms and @type as the keyword for identifying a node’s type. Here, headline identifies the article title.

This excerpt shows the container, type, and headline. For production Article markup, add applicable author, date, and image properties from Google’s Article documentation. Its current Article property definitions list recommended properties and have no required properties.

Add markup to the published page

  1. Inspect existing output. Review the published HTML for existing structured data before adding an implementation. Google’s Article setup guide includes CMS plugins and JavaScript as implementation routes; the publishing system may already provide a way to generate the markup.
  2. Map properties to actual page content. Match the chosen type’s fields to the information readers can access. Google’s content guidelines require current, relevant content and prohibit misleading markup or fake reviews.
  3. Generate markup from maintained values. Reuse the values that produce the visible page. Google’s JavaScript implementation guidance specifically warns that duplicating information in Google Tag Manager increases the risk of a mismatch.
  4. Check access and rendering. Publish the markup on the URL it describes and allow Google to access the page, following its structured data access and placement rules. Review robots.txt, noindex, and login restrictions.

Google can process structured data available in the DOM when it renders the page. Its JavaScript testing instructions recommend testing the URL because pasted-code tests have JavaScript limitations. The same guide warns that dynamically generated Product markup can make Shopping crawls less frequent and less reliable, particularly for changing prices and availability.

Validate syntax, feature requirements, and page accuracy

Use the tools for their respective purposes:

CheckToolWhat the result tells you
General Schema.org markupThe Schema Markup Validator, described in Google’s testing tools comparison.Whether Schema.org-based markup validates, without Google’s feature-specific rules.
Google-supported rich result typesThe Rich Results Test, explained in its official help guide.Detected supported items, errors, warnings, and available previews.
Google’s view of a production URLSearch Console’s URL Inspection tool.Indexed-page information and a separate live test, including indexing and structured data details.

Follow the Rich Results Test’s URL testing and results instructions: enter the published URL, expand detected items, and inspect the extracted values in the rendered source. Check the headline, dates, prices, addresses, or other relevant values against the visible page.

Treat errors and warnings according to the feature guide. For example, Google’s Product snippet documentation says an offer can meet the requirement without a review or aggregate rating, although the test may report a warning. Add review fields only when the corresponding review information exists.

Use valid JSON in the final script. The Rich Results Test documentation notes that the tool ignores comments in JSON-LD blocks even though the standard does not support them, and instructs publishers to remove comments before publishing.

Troubleshoot missing rich results

No supported items detected: Check the rendered HTML for the expected markup, then confirm that the type has a supported Google feature. Google’s testing tools guidance distinguishes general Schema.org validation from validation for Google rich results.

Invalid items detected: Open the reported issue and follow the linked feature requirements. When the same error affects multiple URLs, Google’s Search Console troubleshooting guide recommends correcting the underlying template and confirming that the affected pages are fixed.

The live page is fixed but Search Console still shows the old issue: Compare the live test with the indexed information. The URL Inspection documentation explains that its default indexed results reflect Google’s most recently indexed version, which can differ from the current page.

Markup is valid but no rich result appears: Check content accuracy and the feature’s eligibility rules. Google’s general guidelines say correct markup does not guarantee display. Google lists location, device, and search history among the variables that influence search presentation. A passing test establishes technical eligibility within the test’s coverage; it does not establish a ranking improvement or an increase in clicks.

Monitor changes after publishing

Use Search Console’s relevant rich result report to identify issues across detected pages. After correcting an issue and checking affected URLs, use Validate fix, following Google’s fix and validation instructions. Continue checking output after changes to the page template or underlying content.

For performance, Google’s measurement guidance recommends a before-and-after comparison using pages with sufficient historical data, avoiding pages heavily affected by seasonality or freshness, and recording results over several months.

Search Console’s Performance report provides clicks, impressions, click-through rate, and average position, with dimensions including pages, queries, devices, and search appearance. Compare the same URLs over time and keep markup validity separate from those performance measures. Record other changes to those pages during the comparison, following Google’s measurement guidance on variable page views.

Check current feature support and AI-search requirements

Older implementation advice may describe features Google has retired. According to Google’s documentation updates, FAQ rich results stopped appearing on May 7, 2026, and the FAQ feature documentation was removed in June. Use FAQ sections to answer relevant reader questions; select markup from the currently supported features.

For AI Overviews and AI Mode, Google’s AI features guidance says there is no special Schema.org markup to add. The same guidance requires supporting pages to be indexed and eligible for a search snippet, with structured data matching visible text, and states that meeting the requirements does not guarantee inclusion.

One person. A whole marketing team.

Invite only