Schema Markup SEO: Types and Setup

Schema markup adds standardized labels to page content so search engines can understand what it describes. According to Google’s structured data introduction, supported markup can also enable rich results: search listings with additional information or enhanced presentation. Google’s structured data guidelines make clear that correct markup does not guarantee those results will appear.

schema markup SEO: a product display stand and matching entity filing cabinet side by side, search lens, validation shield, release folder, paper clips, potted succulent

For SEO, the useful starting point is the page itself: identify its main content, choose a supported type, supply accurate properties, and check the implementation. The sections below explain which types to use, how JSON-LD works, and how to distinguish a code problem from a search feature that Google has chosen not to display.

What is schema markup?

Schema.org provides a shared vocabulary for describing entities, their properties, and their relationships. An article, product, organization, and business location can each have a different description because they represent different kinds of information.

Three terms describe different parts of the implementation:

  • Structured data is the machine-readable information.
  • Schema.org supplies the vocabulary, including type and property names.
  • JSON-LD, Microdata, and RDFa are formats for putting that information into a page.

Google’s vocabulary and format guidance distinguishes the broader Schema.org vocabulary from the properties Google uses for its search features. A valid Schema.org type does not automatically have a corresponding Google rich result.

Which schema types should you use for SEO?

Start with Google’s supported structured data gallery. It links to the current guide for each supported feature, including its implementation requirements. Select the guide that matches the content being described.

Page contentRelevant markupWhat Google’s documentation supports
A news, sports, or blog articleArticle, NewsArticle, or BlogPostingArticle markup can help Google understand the article and improve title, image, and date information in search results.
Product informationProduct, with the applicable offer or review informationProduct markup supports product snippets and merchant listings, with different requirements for each experience.
A breadcrumb trailBreadcrumbListBreadcrumb markup describes a page’s position in the site hierarchy; Google’s breadcrumb search feature is available on desktop.
Organization information on the home pageOrganizationOrganization markup helps Google distinguish the organization and can influence details such as its logo.
A local business locationLocalBusiness or an applicable subtypeLocal business markup supplies business details, including opening hours and information about departments.

The gallery also includes content-specific features for recipes, videos, events, and job postings. Use their individual guides to determine whether the page fits and which properties it needs.

For products, Google’s product guide distinguishes merchant listings for pages where customers can purchase from the merchant from product snippets, which also support pages where visitors cannot buy directly. Product-related content therefore needs a more specific decision than simply adding Product to every page that mentions an item.

Requirements vary by type. Google’s Article guide lists recommended properties and no required properties, while other features have required fields. Read the chosen guide before treating a missing property as either an error or an optional improvement.

Check whether the search feature still exists

Older tutorials can describe features Google has retired. Google’s documentation changelog records that FAQ rich results stopped appearing on May 7, 2026, and that the FAQ feature documentation was removed in June 2026. Its HowTo retirement announcement confirms that HowTo rich results were also discontinued.

These changes concern Google’s search presentation. They do not mean that every vocabulary term in an older tutorial has disappeared. Check current feature support before choosing markup to obtain a particular search display.

Which format is best: JSON-LD, Microdata, or RDFa?

Google’s format guidance supports all three formats and generally recommends JSON-LD because it is easier to implement and maintain. JSON-LD stores the description in a script block; Microdata and RDFa use HTML attributes within the page.

Use JSON-LD for a new implementation unless the existing site already has a reliable implementation in another supported format. A format change alone does not establish a new search benefit. The important checks are whether the data is correct and whether it satisfies the selected feature’s requirements.

How to add schema markup

1. Map the page’s content to the selected properties

List the facts the page presents and match them to the chosen feature guide. For an article, Google’s recommended properties include the headline, author, publication and modification dates, and representative images.

Record where each value comes from in the content system. Before adding a field, confirm that it applies to the page and that its value can be kept accurate. Keep unsupported or unknown values out of the implementation.

2. Create the JSON-LD block

This minimal block uses this article’s title to show the structure of an Article description:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Schema Markup SEO: Types and Setup"
}
</script>

Here, @context identifies the vocabulary, @type identifies the kind of content, and headline supplies the article title. The structure follows the JSON-LD example in Google’s Article documentation. For a complete implementation, add the recommended properties that apply to the actual page, including its verified author, dates, and image URLs.

Google’s placement guidance allows JSON-LD script blocks in the HTML head or body. For a CMS, check its structured data settings or integration options before adding custom code.

3. Generate changing values from the page’s data

Use the same content fields for the visible page and its structured data wherever possible. Google’s JavaScript implementation guide specifically warns that duplicating information in Google Tag Manager increases the risk of discrepancies and recommends extracting values from the page.

For templates, map those values once and generate the description for each page. After an edit, compare the rendered page with its markup rather than checking only the original code sample.

Google can process structured data that is available in the rendered DOM, but its dynamic markup guidance warns that dynamically generated product markup can make Shopping crawls less frequent and less reliable. This matters particularly for changing prices and availability.

How to test schema markup

Use different tools for different questions. A vocabulary check, a Google feature check, and an inspection of the indexed page provide different evidence.

Check the markup’s syntax and extracted data

The Schema.org Markup Validator extracts JSON-LD, RDFa, and Microdata, displays the resulting data graph, and identifies syntax mistakes. Use it to inspect the Schema.org data present in a URL or code snippet.

Its focus is Schema.org markup. Treat successful parsing as confirmation that the description can be read, then separately check Google’s requirements for the intended search feature.

Check Google’s supported rich result requirements

Google’s Rich Results Test accepts either a URL or a code snippet and reports detected supported types, errors, and suggestions. Expand each detected item to inspect its properties.

Correct critical errors, then review non-critical suggestions against the feature guide. For JavaScript-generated markup, Google’s testing instructions recommend testing the URL because the code-input test has JavaScript limitations.

A preview is an illustration of a possible presentation. Google’s preview explanation says the displayed layouts are not guaranteed to appear in actual search results.

Check the indexed and live versions of the page

The URL Inspection tool reports information about Google’s indexed version and also offers a live test. Compare them after a change: the indexed result can reflect an older crawl, while the live test examines the current page.

Use the rendered page and returned HTML to check that the intended markup is present. A successful live test does not establish that the current version has already been indexed.

Monitor detected items after publication

Where a report is available, Search Console’s rich result reports show valid and invalid structured data items and their issues. The counts refer to items rather than pages, and the reports provide samples rather than a complete inventory.

After changing a template, inspect representative URLs as well as the report. Do not assume that an unlisted URL has no markup.

Common schema markup errors to avoid

Google’s general guidelines require relevant, current data that represents the page’s content. They prohibit hidden or misleading content, including fake reviews, and require the properties specified for the selected rich result.

Check for these problems:

  • A type that does not describe the page’s main content.
  • Marked-up information that readers cannot find on the page.
  • Values that no longer match the visible content.
  • Missing required properties for the selected feature.

For parsing failures, consult the Rich Results Test’s error explanations, which cover malformed JSON, incorrect value types, missing punctuation, and duplicate unique properties. Check the generated output, not only the template used to create it.

Does schema markup improve rankings or click-through rate?

The documented benefits are clearer descriptions of content and eligibility for supported search features. Eligibility, actual display, and ranking position need separate checks. Google’s policy explanation illustrates this distinction: a structured data manual action removes rich-result eligibility without affecting the page’s ranking in ordinary web search.

Measure the result with Search Console’s Performance report, which provides clicks, impressions, click-through rate, and average position, with dimensions including pages, queries, devices, and search appearance.

For an implementation review, record the affected URLs and the date of the change. Compare their performance across suitable date ranges, using the same query and device groupings. Track position and click-through rate separately so a change in presentation is not automatically described as a ranking improvement.

Treat any increase as an observation to investigate. A before-and-after comparison alone cannot isolate the effect of markup from other changes. There is no defensible universal percentage increase to promise for an individual implementation.

Do AI Overviews and AI Mode need special schema?

Google’s current generative AI optimization guide states that structured data is not required for generative AI search and that there is no special Schema.org markup to add. It recommends continuing to use structured data as part of ordinary SEO for supported rich results.

Use the same selection process for these pages: describe their actual content, follow the relevant search feature guide, and verify the output. Special markup is not a documented requirement for inclusion in Google’s generative AI features.

One person. A whole marketing team.

Invite only