Schema markup for SEO: what it is and how to check it

Alexandre Silva Anjos
Alexandre Silva Anjos · Founder of SEOWrench

Seventeen years building software, now applied to SEOWrench.

Structured data, usually called schema markup, is a description of your page written for machines to read. Instead of leaving Google to work out that a number is a price, that a name belongs to the author or that a block of text is a recipe, you state it in a format it can read without guessing.

This post is about structured data for SEO: the markup that lives inside your site's HTML. If you came looking for the difference between structured and unstructured data in data science, that is a different topic.

You will see what it is, what it still earns you in Google Search in 2026, what is actually known about how AI uses it, and how to check the markup on your own site. If you would rather start at the end, the free SEO check shows which structured data types your page declares, with no sign-up.

Contents

  1. What structured data is
  2. JSON-LD, Microdata and RDFa
  3. What it earns you in Google Search
  4. What changed: FAQ and HowTo left Search
  5. The types most sites need
  6. What AI does with structured data
  7. The mistakes that cost the most
  8. How to test your site's structured data
  9. If your site runs on WordPress
  10. Where to start

What structured data is

A product page has a name, a price, a photo and a stock status. A person takes all of that in at a glance. A machine sees loose text and has to guess what each piece is. Structured data removes the guessing. It is a block of code, invisible to visitors, that says "this is a product, this is its name, this is its price".

The vocabulary comes from schema.org, a project run by the major search engines so that everyone uses the same words. That is why so many people simply call it "schema". Product, Article, Organization and BreadcrumbList are type names from that vocabulary, and each type has its own properties. An Article has headline, author and datePublished. A Product has name and offers, and the price goes inside the offer.

Here is the most common format, for a blog post:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Schema markup for SEO: what it is and how to check it",
  "datePublished": "2026-10-02",
  "dateModified": "2026-10-02",
  "author": { "@type": "Person", "name": "Jane Smith" },
  "publisher": { "@type": "Organization", "name": "Your Company" }
}
</script>

The block changes nothing the visitor sees. It is there for the crawler.

JSON-LD, Microdata and RDFa

There are three ways to write structured data into HTML. JSON-LD is a separate block, like the example above. Microdata and RDFa are attributes attached to the page's own tags, mixed in with the visible text.

Google accepts all three and recommends one: "In general, Google recommends using JSON-LD for structured data if your site's setup allows it, as it's the easiest solution for website owners to implement and maintain at scale." The practical reason is that JSON-LD sits in one place. You can change the page layout without breaking the markup, and you can review all of it by reading one block.

How to check. Open the page source (Ctrl+U in Chrome) and search for application/ld+json. Each match is a JSON-LD block. If there is none, the page may use Microdata (search for itemtype) or have no structured data at all.

The best-known payoff is the rich result, the search result that shows more than a title and a description: a product's price and availability, a recipe's rating and cooking time, an event's date and venue. To be eligible, the markup has to include the properties Google requires for that type.

Eligible does not mean guaranteed. Google's guidelines say it "does not guarantee that your structured data will show up in search results, even if your page is marked up correctly according to the Rich Results Test." The algorithm decides, page by page and query by query.

The other part of the payoff is less visible. The markup removes doubt about what the page is. A page that states in code that it is an article, written by this person, published on this date, does not depend on the search engine getting that right from the text.

Plenty of structured data guides still tell you to mark up your FAQs with FAQPage to get the question box under your result. That advice has expired. Since 2023 the box had been limited to well-known government and health sites. In May 2026 Google stopped showing it altogether, and in June it took the documentation down.

The step-by-step result (HowTo) went the same way and is no longer on the list of features Google Search supports. In 2025 other little-used types went too, such as course info, estimated salary and vehicle listing.

The lesson is not to stop marking up. FAQPage is still valid schema.org vocabulary, and other machines can read it. The lesson is to check that list before spending hours on a type, because what shows up in Search changes, and it changes without telling the people who already did the work.

The types most sites need

Schema.org lists hundreds of types. For most sites, half a dozen cover it:

Type Where it goes, and what it is for
Organization The home page. Says who the company is, with its logo, and with sameAs ties the site to its official profiles.
WebSite The home page. Gives the site name Google shows in the result.
BreadcrumbList Pages with a breadcrumb trail. Shows where the page sits in the site's hierarchy.
Article or BlogPosting Posts and news. Title, image, author and dates, without guessing.
Product A single product's page. Price and availability, which can show in the result.
LocalBusiness A business with an address. Address, phone number and opening hours.

Two details Google spells out in its documentation, and many people miss. The WebSite markup that gives the site name has to be on the home page, not on any page. And product rich results only support pages that focus on a single product, or its variants. A category page with a list of products is not the place for Product.

How to check. The free SEO check lists every type it found on the page under "Structured data (Schema)". If it found none, the item says "No JSON-LD". It is the quickest way to see whether your home page has Organization and your posts have Article.

What AI does with structured data

This is where the internet promises more than the evidence delivers. The line you will read most is that structured data gets ChatGPT or Gemini to cite your site. Here is what is actually known, with the source for each side:

  • Google says nothing special is needed. In its guide to optimizing for generative AI features in Search, from July 2026, it writes: "Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add." It adds that it is still worth using, because it helps a page become eligible for rich results.
  • Microsoft says it helps Bing understand. In March 2025, Fabrice Canel, a principal product manager at Bing, said at a conference that schema markup helps Microsoft's language models understand content. Understanding is not the same as citing.
  • When measured, no citation effect showed up. Ahrefs tracked 1,885 pages that added JSON-LD against 4,000 that did not, from August 2025 to March 2026. The conclusion was that adding schema produced no major uplift in citations on any platform.

The honest reading is that structured data is a comprehension aid. It helps a machine be sure who wrote the page, what it is about and when it was published. It does not guarantee that an AI will cite you, and anyone who promises that is selling something nobody measures.

That is how SEOWrench scores it. In the GEO score, which measures whether AI engines can read your site, missing relevant schema counts as an opportunity and weighs little, because it helps you get cited, not read. What weighs a lot is whether the AI crawler can reach the page and find the text without running JavaScript.

And the gap is common even among the biggest sites. In our study of 32 of the world's most-visited websites, run in July 2026, 59% had no schema on the home page that would help an AI interpret it.

How to check. In the free SEO check, the item "Schema readable by AI" passes when the page has a type that helps interpretation, such as Article, BlogPosting, FAQPage, Organization or Product. On content pages of 300 words or more, the item "Author and date present" checks whether the page says who wrote it and when, in JSON-LD or in meta tags.

The mistakes that cost the most

  1. Marking up what the page does not show. It is the most quoted rule in Google's guidelines: "Don't mark up content that is not visible to readers of the page." A review that does not exist, an FAQ that is not in the text, a price that differs from the one on screen. The penalty is a manual action, which removes the page's eligibility for rich results. Google says that action does not affect how the page ranks, but all the work on the markup is gone.
  2. A block with a syntax error. One extra comma or an unclosed quote and the whole JSON becomes unreadable. The browser does not complain, the page loads as usual, and nobody notices.
  3. Markup that only appears after JavaScript. Google can read markup injected by a script, but not every crawler runs JavaScript. If the block only exists once the script has run, some crawlers never see it.
  4. Two plugins writing the same thing. On a site with a theme and an SEO plugin, it is common to end up with two Organization blocks with different details, or two Article blocks for the same post. The machine gets two versions and has to pick one.
  5. The wrong type for the page. Marking the whole home page as an Article, or a category page as if it were one product, describes the page as something it is not.

How to check. No tool catches mistake 1: you have to compare the markup with what the screen shows. Mistakes 2 and 5 show up in Google's Rich Results Test, which shows what it read and where the problem is. For mistake 3, compare the two readings. The SEOWrench free check reads the HTML as it arrives, without running JavaScript, and Google's test reads the page after it is built. If Google finds the types and the free check says "No JSON-LD", the markup depends on a script. Mistake 4 shows up as two blocks of the same type in the list from either tool.

How to test your site's structured data

Each tool answers one question, and none answers all of them:

Tool What it tells you What it does not tell you
SEOWrench free SEO check whether the page has JSON-LD, which types, whether there is a type AI can use, and whether the page states author and date whether the JSON is valid, and whether required properties are there
Rich Results Test which rich results the page is eligible for, with the errors and warnings for each types that Google Search does not use
Schema Markup Validator whether the markup follows the schema.org vocabulary, for any type whether Google will use it
Search Console rich result reports for the whole site, and URL Inspection anything about a page before it is published and crawled

The order that saves time:

  1. Run the free SEO check on the home page and on one page of each template: a post, a product, a category. In a few seconds you know where there is no markup at all.
  2. On the pages that do have markup, put the address into the Rich Results Test. Fix the errors first, because a missing required property takes the page out of eligibility.
  3. For types that Google Search does not use, check them in the schema.org validator.
  4. After publishing, follow it in Search Console. The reports show how many pages have valid markup, and that is where you see the day a new theme or plugin broke what used to work.

For the whole site at once, the free SEOWrench account audits up to 5 pages per scan.

If your site runs on WordPress

On WordPress, the structured data is usually written by the theme or by the SEO plugin, and sometimes by both at once. Before adding markup, find out who already writes it: run the check on a page and look at the types listed. If two Organization blocks show up, one of them is redundant.

The free SEOWrench plugin for WordPress shows, in the dashboard, schema coverage by content type, and which types are still missing it.

Where to start

For most sites, structured data is an afternoon's work. The order that pays off most:

  1. On the home page, Organization with the name, the logo and sameAs pointing to the official profiles, and WebSite with the site name.
  2. On posts, Article or BlogPosting with the author, the publication date and the date of the last update.
  3. Wherever the page shows a breadcrumb trail, BreadcrumbList with the same steps as the screen.
  4. On product pages, Product with the same price the visitor sees.
  5. Test each page template once, and again every time you change theme or plugin.

The expensive mistake is not skipping the markup. It is getting it wrong and not knowing. A test of a few seconds per page template takes care of the second part.

Sources

  1. Google Search Central: introduction to structured data
  2. Google Search Central: general structured data guidelines
  3. Google Search Central: structured data features Google Search supports
  4. Google Search Central: documentation updates, including the end of the FAQ rich result
  5. Google Search Central: changes to HowTo and FAQ rich results (2023)
  6. Google Search Central: simplifying the search results page (2025)
  7. Google Search Central: site names in Google Search
  8. Google Search Central: product structured data
  9. Google Search Central: optimizing for generative AI features on Search
  10. Search Engine Roundtable: schema helps Microsoft's LLMs understand your content
  11. Search Engine Roundtable: the Ahrefs study on schema and AI citations
  12. Schema.org: Schema Markup Validator
Keep reading
Audit your page for freeAnalyze →