Schema Markup
Last updated
Schema markup is structured data that explicitly declares the meaning of content on a page to search engines and AI systems. It uses the vocabulary at schema.org, maintained jointly by Google, Microsoft, Yahoo, and Yandex. Implemented well, it earns rich results in search, improves AI-system parsing, and reinforces topical signals.
Why schema markup matters
Rich results. Star ratings, FAQ accordions, recipe cards, event details, product pricing, and similar enhanced SERP features are driven by schema. They expand the visual space your result occupies and consistently lift CTR.
AI extraction. AI Overviews, Perplexity, and ChatGPT Search use structured data as one signal for parsing content. Pages with valid Article, FAQ, and HowTo schema are easier to extract from accurately than pages relying purely on HTML structure.
Entity reinforcement. Person, Organization, and Product schema with stable @id properties reinforce entity recognition across the web. This is especially valuable for personal brands, organisations, and products that haven’t yet established Wikipedia or Wikidata presence.
Disambiguation. Schema makes implicit information explicit. A page about “Mercury” can declare itself as being about the planet (Place), the chemical element (ChemicalSubstance), or the band (MusicGroup), removing ambiguity for parsers.
Format: JSON-LD vs Microdata vs RDFa
Three formats are valid. Use JSON-LD. It is Google’s recommended format, sits in a separate <script> block (so it doesn’t entangle with HTML), and is easier to maintain than the alternatives.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Schema Markup",
"author": {
"@type": "Person",
"name": "Liam Hayward"
},
"datePublished": "2026-04-25"
}
</script>
Microdata and RDFa work but are harder to maintain at scale. There is no SEO benefit to using them over JSON-LD.
Schema types that consistently produce results
Article / NewsArticle / TechArticle. Apply to editorial content. Provides headline, author, publish/modified dates, publisher. The foundation for most editorial sites.
FAQPage. Apply to pages with a genuine FAQ section. Eligible for FAQ rich results when the page meets quality criteria (Google narrowed eligibility in 2023; FAQs on commercial pages are often suppressed).
HowTo. For pages with sequential instructional content. Each step gets a name, text, and optional image. Eligible for HowTo rich results in search.
Product. Essential for e-commerce. Includes name, image, description, price, availability, and (when applicable) review and aggregateRating. Drives product rich results, including price displays in image search.
LocalBusiness. For businesses with a physical presence or service area. Combined with Google Business Profile, supports local pack visibility.
Recipe. For cooking and food sites. Strongly visual rich result with image carousels, ingredients, cooking time, ratings.
Person. For author pages, about pages, and personal sites. Combined with sameAs links to social profiles, builds entity authority.
Organization. For company sites. Logo, founding date, contact, sameAs. Often drives knowledge panel content.
BreadcrumbList. Replaces the URL with a breadcrumb path in search results. Universally applicable to sites with hierarchical structure.
WebSite (with SearchAction). Enables a sitelinks search box for branded queries. One-time setup; persistent benefit.
VideoObject. For pages featuring video content. Eligible for video rich results in search and Discover.
Implementation patterns
Single Schema component, called per page. Build a reusable schema component (Astro, React, Vue, whatever your framework supports) that takes a JSON object and emits it as a <script type="application/ld+json">. Each page builds its own schema object based on its content.
Use the @id graph pattern. Cross-reference entities across pages using @id. The Person on the homepage and the author of every Article should share the same @id. The WebSite entity should be referenced by every WebPage. This builds an explicit graph structure that AI systems and Google parse directly.
Validate every schema block. Use Google’s Rich Results Test and the Schema Markup Validator to catch errors before they ship. Invalid schema either does nothing or actively misleads parsers.
Match schema to visible content. Schema must accurately reflect what’s on the page. FAQ schema for questions not actually visible on the page is a guidelines violation that has resulted in manual actions. The general rule: if a user can’t see it, don’t mark it up.
Common mistakes
| Mistake | Effect |
|---|---|
| Schema not matching visible content | Manual action risk |
| Multiple Article schemas on the same page | Indexing confusion |
| Missing required properties (e.g. Article without headline) | Schema invalid; ignored by Google |
| Identical schema across all pages | Wasted opportunity; sometimes flagged |
| Schema for pages no one will ever see (admin, login) | Low priority; better to focus elsewhere |
Schema and AI search
AI engines parse JSON-LD natively. The information declared in structured data is treated as authoritative metadata about the page, often more reliably than the same information inferred from HTML. For pages targeting AI citation, accurate, comprehensive Article schema with author, dateModified, and publisher details measurably improves citation accuracy.
The @id graph approach is particularly effective for AI systems. When a Person @id is referenced consistently across every article they author, the AI builds a stronger model of which content is associated with which expert.
Frequently asked questions
Does schema markup improve rankings directly? No. Google has been clear that schema is not a direct ranking signal. The indirect effects (rich results, better CTR, clearer topic signals) are what move rankings.
How much schema is too much? Schema should describe the page accurately and completely. There is no penalty for comprehensive markup, provided every schema block reflects real on-page content.
Should I add schema to every page?
At minimum: Article schema on editorial content, Product schema on product pages, BreadcrumbList on pages with hierarchical placement. Pages that don’t fit a schema type (about pages, contact pages) can use generic WebPage schema with appropriate @type and properties.