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.
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 type | Use it for | Benefit / rich result |
|---|---|---|
| Organization | Your homepage / brand identity | Knowledge panel signals, logo, name, contact |
| WebSite | The site as a whole (homepage) | Sitelinks search box eligibility, site name |
| Article / BlogPosting | News, blog and editorial pages | Headline, author, date in results; clear authorship |
| BreadcrumbList | Navigational hierarchy on any page | Breadcrumb trail in the SERP |
| Product | E-commerce product pages | Price, availability, product details |
| Review / AggregateRating | Reviews and rated items | Star ratings (within Google's policies) |
| FAQPage | Genuine question-and-answer content | Machine-readable Q&A; rich result on eligible sites |
| LocalBusiness | Businesses with a physical location | Local pack signals, hours, address, phone |
| Event | Events with dates and venues | Event 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
Organizationblock 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
OrganizationandWebSiteto your homepage. - Add
BreadcrumbListfor navigation andArticle/BlogPostingto content. - Add
Product,Review/AggregateRating,FAQPage,LocalBusinessorEventwhere 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
- The most actionable type: how to add FAQ schema.
- The strategy behind it: what is GEO?
- For local businesses: what is local SEO and how to improve it.
- The full audit: how to check if your site is ready for AI search.
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 websiteRelated articles
How to Optimize a Blog Post for SEO and AI Search (GEO)
One workflow that serves Google and AI engines at once: intent, answer-first intros, scannable structure, schema, E-E-A-T, cited stats and freshness.
How to Handle Pagination for SEO
Pagination done wrong hides content from Google. The modern best practice: self-referencing canonicals, crawlable links, and view-all vs paginated.
How to Improve Your Click-Through Rate in Search
Ranking is half the battle — people still have to click. How to lift search CTR with better titles, meta descriptions, rich results and intent matching.