SEO & GEO

What Is Schema Markup, and Which Types Do You Need?

Schema markup is structured data that helps search and AI understand your pages. Here are the key schema.org types to use and how to add and validate them.

StackOptic Research Team21 Apr 20268 min read
Schema markup and structured data types explained

Search engines and AI models read your page as text, and text is ambiguous. Is "Apple" the company or the fruit? Is "4.8" a price, a rating, or a version number? Schema markup removes that ambiguity by labelling what the things on your page actually mean. In short: schema markup is structured data, written with the shared schema.org vocabulary and usually delivered as JSON-LD, that tells machines precisely what your content is — an organisation, an article, a product, a review — so they can display it richly and understand it correctly. This guide explains what schema markup is, the difference between the terms people confuse, the key types most websites need, and how to add and validate them.

It is the backbone of machine-readable content, so it sits alongside GEO and the more specific FAQ schema guide.

What schema markup is

Schema markup is a way of adding structured data to a web page so that search engines and other machines understand the content's meaning, not just its words. It uses schema.org, a shared vocabulary created collaboratively by Google, Microsoft, Yahoo and Yandex, which defines hundreds of "types" (like Product, Article, Organization) and the "properties" each type can have (like price, author, name). When you mark up a page, you are essentially attaching invisible labels that say "this is a product, its name is X, its price is Y, it has a rating of Z."

Crucially, schema markup does not change what your visitors see. It is metadata for machines, sitting in the page's code. What it changes is what machines can do with your content: display enhanced results, understand entities and relationships, and — increasingly — extract and attribute your information in AI-generated answers.

Schema.org, structured data, JSON-LD: untangling the terms

These three words get used interchangeably, which causes confusion. They are not the same thing:

  • Structured data is the general idea — any markup that gives content machine-readable meaning.
  • Schema.org is the specific vocabulary — the agreed-upon list of types and properties that the major search engines support.
  • JSON-LD is the format (syntax) you write it in. JSON-LD stands for JSON for Linking Data, and Google recommends it over the older inline formats (Microdata and RDFa) because it lives in a single, self-contained script block rather than being woven through your HTML.

A simple way to remember it: schema.org is the dictionary, JSON-LD is the way you write the sentences, and structured data is what you end up with on the page.

Why schema markup matters

Schema markup earns its place for two distinct reasons, and the second is growing fast.

The first is rich results. Structured data can make a page eligible for enhanced search appearances — star ratings, FAQ drop-downs, breadcrumb trails, product details, recipe cards, event listings and more. These take up more space, draw the eye, and typically lift click-through, because the result simply looks more useful before anyone clicks. Eligibility is not a guarantee Google will show the rich result, but without the markup you are not even in the running.

The second is machine understanding, which matters for both classic search and AI. Clear structured data tells engines exactly what your page contains and how its parts relate, reducing the guesswork. For AI answer engines, that clarity makes content easier to parse, quote and attribute accurately — which is why structured data is a recurring theme in GEO. Google has been clear that structured data is not a direct ranking factor by itself, but the combination of rich-result eligibility and improved understanding makes it one of the highest-value technical investments available.

The schema types most websites need

You do not need hundreds of types. A focused set covers the vast majority of sites. Here is a practical map of type to use case to the rich result or benefit it can unlock:

Schema typeUse it forBenefit / rich result
OrganizationYour homepage / brand identityKnowledge panel signals, logo, name, contact
WebSiteThe site as a whole (homepage)Sitelinks search box eligibility, site name
Article / BlogPostingNews, blog and editorial pagesHeadline, author, date in results; clear authorship
BreadcrumbListNavigational hierarchy on any pageBreadcrumb trail in the SERP
ProductE-commerce product pagesPrice, availability, product details
Review / AggregateRatingReviews and rated itemsStar ratings (within Google's policies)
FAQPageGenuine question-and-answer contentMachine-readable Q&A; rich result on eligible sites
LocalBusinessBusinesses with a physical locationLocal pack signals, hours, address, phone
EventEvents with dates and venuesEvent listings with date, location, tickets

A sensible default for almost any site is Organization and WebSite on the homepage, BreadcrumbList across the site, and Article or BlogPosting on content pages. From there, add the types that match what you genuinely publish.

Organization and WebSite

These establish your identity. Organization describes your business — name, logo, URL, social profiles and contact points — and feeds the entity Google associates with your brand. WebSite describes the site itself and can declare your site name and make you eligible for the sitelinks search box. Both belong on the homepage and are foundational for how engines recognise you.

Article and BlogPosting

For any editorial content, Article (or its more specific BlogPosting and NewsArticle subtypes) marks up the headline, author, publish and modified dates, and publisher. This helps engines understand authorship and freshness — both of which matter for trust and, in AI contexts, for attribution.

Product, Review and AggregateRating

For e-commerce, Product carries the name, description, image, brand, price and availability, while Review and AggregateRating express individual and averaged ratings. Note that Google enforces specific policies on review markup (for instance, restrictions on self-serving reviews), so follow the guidance rather than marking up ratings indiscriminately.

FAQPage, LocalBusiness and Event

FAQPage marks up genuine Q&A and is a strong GEO move in its own right — covered in depth in how to add FAQ schema. LocalBusiness is essential for any business with a physical presence, declaring address, hours and phone; it ties directly into local SEO. Event marks up events with dates, venues and ticket information so they can surface as event listings.

How to add schema markup

The recommended approach is JSON-LD in a script tag. Here is the shape of a minimal Organization block to illustrate the pattern:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Acme Analytics",
  "url": "https://acme.example",
  "logo": "https://acme.example/logo.png",
  "sameAs": [
    "https://www.linkedin.com/company/acme",
    "https://twitter.com/acme"
  ]
}
</script>

You have three practical routes to add markup like this:

  • By hand from a template. Copy a validated example for the type you need, swap in your real values, and paste the script into the page's HTML. Fine for a homepage Organization block or a handful of pages.
  • With a generator. Free schema generators build the JSON-LD from a short form. Useful for one-off, more complex types.
  • From your CMS or plugin. Most modern platforms and SEO plugins emit common schema types automatically from your content — the best option at scale, because the markup is generated from the same data your visitors see, so the two stay in sync.

Whichever route you use, the non-negotiable rule is that the markup must describe content that is genuine and visible on the page. Marking up data that is not present, or fabricating ratings and reviews, violates Google's structured-data policies and can lead to manual actions.

How to validate your structured data

Never trust schema you have not tested. Two tools do the job:

  • Google's Rich Results Test checks whether your markup is valid and which rich results the page is eligible for, reporting errors and warnings line by line. This is the one to use when your goal is a Google rich result.
  • The Schema.org Validator (formerly the Structured Data Testing Tool) confirms your markup is well-formed against the broader schema.org vocabulary, regardless of whether Google supports a rich result for it.

Both accept a live URL or a pasted code snippet. After you publish, Google Search Console also reports on structured data it finds across your site and flags errors at scale — the right tool for monitoring rather than one-off testing. Re-validate whenever you change the underlying content so the markup never drifts out of sync.

Common mistakes to avoid

  • Marking up invisible or fabricated content — the fastest route to a policy problem.
  • Choosing the wrong type, or over-nesting types that do not fit the page.
  • Leaving required properties out, which can make a page ineligible for the rich result you wanted.
  • Never validating, then shipping broken JSON-LD that silently does nothing.
  • Adding markup speculatively on pages where the type does not genuinely apply.

Schema markup and AI search

Structured data has taken on a second life with the rise of AI answers. When a generative engine assembles a response, content whose meaning is explicitly labelled is easier to interpret, trust and attribute than prose it has to parse from scratch. An Article with a clear author and date, a Product with an unambiguous price, an FAQPage with discrete questions and answers — these give an engine clean, structured facts rather than text to guess at. That is why schema markup features so heavily in any serious GEO audit, and why it is worth checking whether your site is ready for AI search. The same markup that wins a rich result in Google quietly helps the next generation of answer engines understand and cite you correctly.

A quick checklist

  • Add Organization and WebSite to your homepage.
  • Add BreadcrumbList for navigation and Article/BlogPosting to content.
  • Add Product, Review/AggregateRating, FAQPage, LocalBusiness or Event where they genuinely apply.
  • Implement as JSON-LD, generated from your content where possible.
  • Mark up only genuine, visible content.
  • Validate with the Rich Results Test and Schema.org Validator.
  • Monitor structured data in Google Search Console over time.

Go deeper

Want to see which schema your pages emit — and which types you are missing? Analyse any URL with StackOptic — structured data, SEO and AI-readiness in one free report.

Frequently asked questions

What is schema markup?

Schema markup is structured data added to a web page using the schema.org vocabulary, a shared standard created by Google, Microsoft, Yahoo and Yandex. It labels the meaning of content, identifying that a block of text is a product, an article, an organisation or an event, so machines understand it rather than guessing. Implemented usually as JSON-LD, it powers rich search results and helps AI engines interpret your pages accurately.

What is the difference between schema.org, structured data, and JSON-LD?

Structured data is the general concept of marking up content so machines understand it. Schema.org is the specific shared vocabulary that defines the types and properties you use, such as Product, Article and FAQPage. JSON-LD is the recommended format, or syntax, for writing that vocabulary into a page, as a JSON script block. In short: schema.org is the dictionary, JSON-LD is the way you write it, structured data is the result.

Which schema types does my website need?

Almost every site benefits from Organization and WebSite markup on the homepage, BreadcrumbList for navigation, and Article or BlogPosting on content pages. Beyond that, add types that fit your content: Product with Review or AggregateRating for stores, FAQPage for genuine Q&A, LocalBusiness for businesses with a physical location, and Event for events. Match the type to what the page actually is rather than adding markup speculatively.

How do I add schema markup to my site?

Add a JSON-LD script block to the page's HTML describing the relevant schema.org type and its properties. You can hand-write it from a template, use a generator, or rely on a CMS or SEO plugin that emits it from your content automatically. The markup must describe content that is genuinely present and visible on the page. After adding it, validate with the Rich Results Test before relying on it.

Does schema markup improve rankings?

Google has said structured data is not a direct ranking factor on its own, but it makes pages eligible for rich results that can dramatically improve visibility and click-through, and it helps engines understand your content. For AI search, clear structured data makes pages easier to parse and attribute. So the benefit is real and substantial, just indirect rather than a simple ranking boost.

Analyse any website with StackOptic

Get the full technology stack, performance, security and SEO report in seconds — free.

Analyse a website

Related articles