Schema markup
Structured data added to a web page (typically as JSON-LD) that helps search engines understand the content's meaning and context.
Also known as: structured data, schema.org, JSON-LD
Schema markup is structured data added to a web page that explicitly describes the page’s content to search engines. Rather than relying on text and HTML alone to infer meaning, schema markup tells search engines: “This page is about a product priced at $25” or “This article was written by Jane Smith on March 4.”
The vocabulary used is schema.org, a collaborative project supported by Google, Microsoft, Yahoo, and Yandex. The most common format for delivering schema markup is JSON-LD, embedded in a <script> tag in the page’s HTML.
What schema markup looks like
A typical JSON-LD schema markup for a blog post:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to migrate off Squarespace",
"author": {
"@type": "Person",
"name": "Jane Smith"
},
"datePublished": "2026-04-23",
"dateModified": "2026-04-23",
"image": "https://example.com/image.jpg",
"publisher": {
"@type": "Organization",
"name": "Example Co",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
}
}
</script>
Why schema markup matters
Schema markup helps search engines:
- Understand content beyond what they can infer from text alone
- Generate rich results (enhanced search listings with extra information)
- Match queries to content more accurately
- Build knowledge graphs about entities (people, places, organizations, products)
Pages with appropriate schema markup are often eligible for rich results in Google: star ratings, recipe metadata, FAQ panels, breadcrumb trails, event listings, product prices, and more. These can significantly improve click-through rate.
Common schema types
| Type | Used for |
|---|---|
Article, BlogPosting, NewsArticle | Editorial content |
Product | Ecommerce product pages |
Recipe | Cooking content (often with rich results) |
Event | Concerts, conferences, classes |
LocalBusiness | Businesses with physical locations |
Organization | Company information |
Person | Individual people |
FAQPage | Frequently asked questions |
HowTo | Step-by-step instructions |
Review and AggregateRating | Reviews and ratings |
BreadcrumbList | Navigation breadcrumbs |
VideoObject | Embedded or hosted video |
WebSite | Site-level metadata, including site search |
A page can include multiple schema types where relevant.
Formats for delivering structured data
Three formats are recognized by Google and other search engines:
| Format | Description | Recommendation |
|---|---|---|
| JSON-LD | JSON in a script tag, decoupled from the page’s HTML | Recommended by Google; easiest to maintain |
| Microdata | Inline HTML attributes (itemscope, itemprop) | Older; works but harder to maintain |
| RDFa | Inline HTML attributes from the RDFa specification | Older; less common today |
JSON-LD is overwhelmingly the modern standard.
Where schema markup is placed
JSON-LD scripts are typically placed in the page’s <head> or near the relevant content in the <body>. Either location works for search engines.
For pages generated by a CMS or framework, schema is usually injected by:
- A theme or template
- An SEO plugin (Yoast SEO, Rank Math, RankMath in WordPress)
- A platform feature (Shopify, Webflow, Squarespace generate basic schema automatically)
- Custom code in static site generators or frameworks
Rich results
Google displays rich results when a page includes appropriate schema markup and meets the eligibility criteria:
| Rich result type | Required schema |
|---|---|
| Recipe cards | Recipe |
| Star ratings under search results | Review or AggregateRating |
| FAQ accordions | FAQPage |
| How-to step lists | HowTo |
| Product prices and availability | Product with Offer |
| Event dates and venues | Event |
| Breadcrumb navigation in results | BreadcrumbList |
| Sitelinks search box | WebSite with SearchAction |
Eligibility for a rich result type does not guarantee display; Google’s algorithm decides. Some rich result types have been deprecated or removed over time (e.g., FAQ rich results were significantly reduced in 2023).
Validating schema markup
Tools to verify schema markup is correctly implemented:
- Google Rich Results Test, checks eligibility for rich results
- Schema Markup Validator, validates against the schema.org specification
- Google Search Console → Enhancements, reports on schema implementations across the site
- Bing Webmaster Tools, markup validator
Schema markup and AI search
Structured data is helpful for AI-driven search results (Google AI Overviews, ChatGPT, Perplexity), since explicit semantics make content easier to extract and cite. While AI systems can parse unstructured content, well-structured pages with schema typically surface more reliably.
Common misconceptions
- “Schema markup directly improves rankings.” It is not a direct ranking factor, but it can improve click-through rate via rich results, which can indirectly affect performance.
- “More schema is better.” Schema should accurately describe the page’s content; over-marking or marking content that isn’t actually present can result in manual penalties.
- “Schema must be in the page body.” JSON-LD in the head works equally well.
- “All rich results are guaranteed.” Eligibility doesn’t mean display; Google decides which rich results to show for which queries.