OnlineTextLab
Esc

Structured Data in 2026: JSON-LD, Live Rich Results and Testing

Updated 6 min read How we check our guides

Structured data is machine-readable information you add to a page so search engines can tell what it’s about: this is a recipe, this is its rating, this is the price. Valid markup can make a page eligible for a rich result, and that’s all it does. Google says it doesn’t guarantee one will appear. Before you add any, check that the feature still exists, because Google has removed many of them, including FAQ rich results in 2026, and a lot of older advice still recommends them.

JSON-LD basics

Google supports three formats, JSON-LD, Microdata and RDFa, and recommends JSON-LD. It sits in a script tag, separate from your HTML, so you can add it without touching the page layout:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to Descale a Kettle",
  "datePublished": "2026-03-14T08:00:00+00:00",
  "dateModified": "2026-09-02T10:30:00+00:00",
  "author": {
    "@type": "Person",
    "name": "Jordan Example",
    "url": "https://example.com/authors/jordan"
  },
  "image": "https://example.com/images/kettle.jpg"
}
</script>

The parts to recognize:

  • @context says the vocabulary is schema.org.
  • @type says what the thing is.
  • Properties describe it. Each type has its own list, and values can be nested objects with their own @type, as author is here.

Keep two ideas apart. Schema.org is the shared vocabulary, with hundreds of types. Google’s rich results are a much smaller list of features, each with its own required properties. Markup can be perfectly valid schema.org and not qualify for anything in Google. Other consumers may still use it, so it isn’t necessarily wasted, but don’t expect a visual change from it.

Which rich results still exist

We checked Google’s search gallery and documentation update log on 3 November 2026. The gallery listed these 25 features:

GroupFeatures
Content and mediaArticle, Video, Image metadata, Speakable, Subscription and paywalled content, Carousel
Site and identityBreadcrumb, Organization, Profile page
Commerce and localProduct, Review snippet, Local business, Vacation rental, Software app, Employer aggregate rating
Food, events, filmRecipe, Event, Movie
Jobs and learningJob posting, Course list, Education Q&A, Math solver
CommunityQ&A, Discussion forum
DataDataset

Google’s documentation notes that Dataset markup is now used only by Dataset Search and not by Google Search itself.

What has been removed

Here’s the part older guides get wrong, taken from Google’s update log and blog:

FeatureWhat happened
How-toRemoved from mobile in August 2023, then deprecated entirely in September 2023
FAQLimited in August 2023 to well-known government and health sites. Deprecated in May 2026, and documentation removed in June 2026
Sitelinks search boxDocumentation removed November 2024
Course info, Estimated salary, Learning video, Special announcement, Vehicle listingDocumentation removed by September 2025
Practice problemDocumentation removed January 2026

Google says these removals don’t affect ranking, and it told sites in 2023 that there was no need to proactively remove FAQ markup. So you don’t need to rush to strip it out. But you shouldn’t add it expecting expandable questions under your listing, and you shouldn’t advise clients to.

Our position is that this list makes a strong argument against chasing rich results as a strategy. Pick the ones that describe what your pages are, and treat anything else as a bonus that may go away.

What is worth adding

Almost any site: Organization on the home page, which feeds Google’s understanding of your logo and details, and BreadcrumbList on inner pages.

Publishers: Article. It isn’t required for appearing in Search, but helps Google get dates, headlines and authors right.

Shops: Product with price and availability. Of everything on the list, this one most directly changes how a listing looks, and it’s worth keeping accurate.

Local businesses, recipes, events, job listings: use the matching type. For these pages, rich results are often a large part of how competitors appear, so being absent is noticeable.

Pages that don’t match any of those: skip it. A tool page or an opinion piece gains nothing from markup just for the sake of having it.

How to test

Use more than one tool, since they answer different questions.

  1. Rich Results Test. This is Google’s own check on whether a page is eligible for its features. It also renders JavaScript, so it can see markup that’s injected by script. It’s the final word on eligibility, as it’s maintained along with the features.
  2. Schema Markup Validator at validator.schema.org. It checks against the whole schema.org vocabulary and doesn’t care about Google’s features. Use it when your markup is meant for other consumers.
  3. Search Console. Rich result reports show errors and valid items across the site once Google has crawled them. URL Inspection shows what was detected on one page. This is the only view of what Google has really seen, and it’s how you spot a template breaking across thousands of pages.

Once it’s live, watch the Search results performance report filtered by search appearance. That tells you whether the rich result is being shown and whether it gets clicks.

What gets you penalized

Google’s structured data guidelines allow for a manual action on pages that break them. The effect is narrower than people fear. The page “loses eligibility for appearance as a rich result”. Google’s documentation says it doesn’t affect ranking in web search, but losing stars across a whole shop can still hurt traffic badly. You’d see it in Search Console’s Manual Actions report.

These are the things that trigger trouble:

  • Marking up content people can’t see. Everything in the markup must be on the page. Review stars in JSON-LD with no visible reviews is the classic case.
  • Fake or misleading data. Invented reviews, wrong prices, event markup on a page that isn’t an event.
  • Self-serving reviews. Google’s review snippet documentation restricts ratings that a business writes about itself for LocalBusiness and Organization.
  • Markup that doesn’t represent the page. Rules say it must be “a true representation of the page content”. Marking up a category page as a single Product is a typical mistake.
  • Blocking the page. Google can’t use markup on a page blocked by robots.txt or marked noindex. See robots.txt versus noindex.
  • Missing required properties. This doesn’t incur a penalty. The item just isn’t eligible.

Even when everything’s right, Google lists reasons you may see no rich result: it chose a different feature or a plain result, or the page fails some other guideline. Valid markup is a ticket to enter, nothing more.

Using our tools

Our Schema Markup Generator builds JSON-LD from a form. The Schema Markup Checker reads every JSON-LD block on a live URL, and the Structured Data Validator checks pasted markup against required and recommended properties.

They are useful for catching syntax errors and missing fields quickly, without waiting on a crawl. They also label types such as FAQPage and HowTo as retired, because the markup can be valid and still earn nothing. Our list of what’s retired was last checked on the date of this article, however, and Google can change it at any time. The checks on properties cover JSON-LD. Microdata and RDFa are detected by type only. And these tools aren’t Google. Before you ship, confirm with Google’s Rich Results Test.

Mistakes that are easy to make

Stale data. Prices and availability in markup that don’t match the page, usually because they come from separate caches. Generate both from the same source.

Invalid JSON. A trailing comma or an unescaped double quote in a value breaks the whole block with no visible sign on the page. Build it with JSON.stringify or an equivalent from your server language, not with string concatenation.

Unescaped </script>. A user review containing that text can end your script block early. Escape < as < when you embed user content.

Dates without time zones. Google’s documentation for Article recommends ISO 8601 with a time zone, as in the example above. Without one, Google has to make assumptions.

Multiple conflicting blocks. A plugin and a theme can each output Article with different data. View the rendered source to check.

Adding markup instead of fixing the problem. Structured data doesn’t bring an unindexed page into the index. If that’s the issue, read why your page isn’t indexed.