🏗️ What is schema markup? (Direct answer)
Schema markup is structured data code — written in JSON-LD format and added to a webpage's HTML — that uses the Schema.org vocabulary to describe your page's content to search engines in machine-readable terms. It tells Google exactly what type of content is on your page (article, product, FAQ, recipe, event, local business) and provides structured details about it. Schema markup enables rich results: visually enhanced SERP listings that display star ratings, FAQ accordions, recipe cards, how-to steps, event dates, and other features directly in Google's search results. According to case studies documented by Google, pages displayed as rich results achieve up to 82% higher click-through rates compared to standard listings. Nestlé/Google Case Study
There's also a second audience for your schema now: AI. Google's AI Overviews, Perplexity, ChatGPT's web browsing — they all use structured data when deciding which sources to cite and how much weight to give them. A page with clear, accurate schema is easier to parse and reference than one where an AI has to guess. Seer Interactive's September 2025 analysis of 3,119 informational queries found that brands cited in AI Overviews earn 35% more organic clicks than non-cited competitors on the same queries. Seer Interactive, Sept 2025
Schema markup is one of the most consistently overlooked tactics in SEO — not because people don't know it exists, but because the gap between "has some schema" and "actually earns rich results" is almost entirely about implementation quality. Most of the pages I audit have schema present but broken, or technically valid but missing the properties that matter. This guide is about closing that gap.
It covers every schema type that drives measurable results, the exact JSON-LD for each, how to validate before and after deployment, the mistakes that quietly kill rich result eligibility, and how structured data affects AI Overview citations specifically. The code templates are production-ready — copy them, fill in your values, and run them through the Rich Results Test before pushing live.
📋 Table of Contents
- What is schema markup and how does it work?
- JSON-LD vs. Microdata vs. RDFa: which format to use
- How search engines process structured data
- All Google rich result types and which schema enables them
- FAQPage schema: implementation guide and code template
- HowTo schema: implementation guide and code template
- Article schema: NewsArticle, BlogPosting, and the @graph pattern
- Product schema: pricing, availability, and review markup
- LocalBusiness schema: complete implementation for local SEO
- Additional schema types: Recipe, Event, VideoObject, BreadcrumbList, and more
- The complete schema validation and testing workflow
- How schema markup improves AI Overview and LLM citation rates
- How to audit your existing schema implementation
- The 10 most damaging schema markup mistakes (and how to fix them)
- Implementing schema at scale: CMS-specific strategies
- Frequently asked questions about schema markup
One vocabulary. One implementation format. Every content type covered.
1. What Is Schema Markup and How Does It Work?
Schema markup is a way of telling machines what your content actually means — not just what words it contains. Without it, a search crawler reads your page the way you might read a document in a language you don't speak: the characters are legible, but the meaning is guesswork.
Schema markup solves this by giving content publishers a shared vocabulary — maintained at Schema.org by a consortium that includes Google, Bing, Yahoo, and Yandex — to label content in terms machines understand. When you implement FAQPage schema, you're explicitly telling every crawler that visits your page: "these are questions and answers, here's exactly what they say." When you add Product schema with AggregateRating, you're saying: "this is a product, it costs $49, 847 people have reviewed it, the average is 4.6 out of 5." No inference required.
When I started specialising in technical SEO over a decade ago, schema markup was genuinely optional — a nice-to-have that a few forward-thinking publishers used to win recipe cards. Today, after auditing over 47 site launches and running hands-on structured data work across more than 150 websites, I can tell you with confidence that it is the single most consistently underleveraged tactic I encounter. I routinely find high-traffic informational pages — ranking at position 3 or 4 — that are one well-implemented FAQPage schema block away from earning the accordion display that would push their CTR past the pages ranked above them. The implementation gap is almost never about knowledge; it is about prioritisation and validation discipline.
From JSON-LD to a rich result: what actually happens
Step 1: You add a JSON-LD block to your page HTML
You place a <script type="application/ld+json"> block in the <head> or <body> of your page. It contains a JSON object describing your content using Schema.org vocabulary, with the specific properties required for the schema types you want to trigger.
Step 2: Googlebot crawls the page and parses the structured data
When Googlebot crawls your page, it reads the JSON-LD block and checks it. First for syntactic validity — one bad comma or mismatched bracket and the whole block is ignored. Then it cross-references the schema values against the actual page content to verify they match. This accuracy check is one most people don't know about until they fail it.
Step 3: Google determines whether you're eligible for a rich result
Valid schema doesn't automatically mean a rich result. Google evaluates four things: is the JSON technically valid (no syntax errors, all required properties present), does the schema accurately describe what's on the page, does the underlying page meet basic quality standards, and does the content comply with structured data policies. You need to pass all four. Schema validity is necessary but not sufficient.
Step 4: Rich results appear in search for eligible queries
When a query matches your page and Google decides the rich result format will improve that user's experience, the enhanced listing shows up — star ratings inline, recipe cards with images and cook times, FAQ accordions. Each format takes up considerably more SERP real estate than a standard blue link, which is why eligible pages consistently get better CTRs. Rotten Tomatoes documented a 25% higher CTR for pages with schema versus those without. Rotten Tomatoes/Google Case Study
Step 5: AI systems use your structured data for citations
Beyond traditional rich results, structured data gives AI-powered search (Google AI Overviews, Perplexity, Bing Copilot) explicit factual anchors to work with — stated dates, authors, ratings, step sequences, Q&A pairs. A page with FAQPage schema hands AI systems a ready-to-use answer library. A page without it forces the AI to extract meaning from unstructured prose, which introduces uncertainty and reduces how often it gets cited. Analysis of 15,847 AI Overview results found that content combining text, images, and structured data shows 156% higher AI Overview selection rates versus text-only content. AI Mode Boost analysis, 2025
2. JSON-LD vs. Microdata vs. RDFa: Which Format to Use
| Criterion | JSON-LD | Microdata | RDFa |
|---|---|---|---|
| Google's recommendation | ✅ Officially recommended by Google | ⚠️ Supported but not recommended | ⚠️ Supported but not recommended |
| Placement in HTML | Separate <script> block in <head> or <body> — completely separate from visible content | Attributes embedded directly into HTML elements alongside visible content | Attributes embedded directly into HTML elements alongside visible content |
| Maintenance complexity | Low — schema lives in one isolated block, never breaks when HTML is redesigned | High — schema is woven into HTML tags; any template change can break it | High — same as Microdata; highly coupled to HTML structure |
| Readability for developers | High — standard JSON format; easy to read, write, and validate | Medium — requires knowing attribute names and scope rules | Medium — XML-based attribute syntax; steeper learning curve |
| Dynamic content support | Excellent — can be rendered server-side or injected via JavaScript | Good — embedded directly in the DOM | Good — embedded directly in the DOM |
| Best use case | All SEO implementations in 2026 — the universal choice | Legacy systems where JSON-LD cannot be injected | Academic, enterprise, or Semantic Web contexts requiring RDF compliance |
3. How Search Engines Process Structured Data
Most schema problems come from the gap between "technically valid" and "actually correct." Knowing how Google processes structured data — particularly the content accuracy check — helps you avoid the kind of mistakes that look fine in the Rich Results Test but silently fail in production.
🕷️ Crawling and parsing
Googlebot crawls your page and extracts the JSON-LD block from the HTML. It parses the JSON for syntactic validity first — a single misplaced comma, bracket, or quotation mark in JSON-LD prevents parsing entirely. Google also supports JSON-LD rendered dynamically by JavaScript, but server-side rendering ensures faster and more reliable processing. For pages where schema is injected via JavaScript frameworks, always verify rendering with Google's URL Inspection tool in Search Console.
✅ Content verification
Google cross-references the structured data values against the visible, crawlable page content. For FAQPage schema, it checks that each question and answer in the JSON-LD appears as readable text on the page. For Product schema, it verifies that the product name and description match page content. Schema that describes content not present on the page is flagged as inaccurate and does not produce rich results — and repeated violations can trigger manual action reviews.
🏆 Eligibility assessment
After confirming schema accuracy, Google's quality systems look at the underlying page. A technically perfect FAQPage schema block on a thin or low-quality page won't earn rich results. The schema is the prerequisite — content quality is the gate. Both have to be there.
🤖 AI system processing
Google AI Overviews, Perplexity, and similar systems process structured data differently from traditional indexing. They use schema markup as high-confidence factual anchors when constructing responses — preferring explicitly stated structured data over inferred content from prose. Author, datePublished, and organisational affiliation schema properties are specifically weighted by AI systems as credibility signals. Gary Illyes of Google has confirmed that AI systems perform the same fundamental evaluation as traditional search — structured content that is well-organised, authoritative, and technically clean earns both rankings and citations. Gary Illyes, Google
4. All Google Rich Result Types and Which Schema Enables Them
| Rich Result Type | Required Schema Type(s) | SERP Appearance | Eligible Content | CTR Impact |
|---|---|---|---|---|
| Star Ratings / Reviews | Product + AggregateRating + Review | Yellow star icons and rating score inline in listing | Products, local businesses, software, courses — must have genuine reviews from your own platform | +20–30% Search Pilot |
| Recipe Card | Recipe + NutritionInformation | Rich card with image, cook time, calories, and star rating | Recipe content only; cooking instructions, ingredients, times required | +35–50% |
| Video Carousel | VideoObject | Thumbnail image, duration, and upload date in video results | Pages with embedded video content; video must be the primary content | +20–30% Vidio/Google: 3x impressions |
| Event Listings | Event | Event name, date, location, and ticket availability in SERP | Events with specific dates, times, and locations | +25–35% |
| Job Postings | JobPosting | Job title, company, location, salary (if provided) in Jobs tab | Active job listings with closing dates not in the past | +30–45% |
| Course Listings | Course + CourseInstance | Course name, provider, and description in learning panel | Educational courses; online and in-person | +15–20% |
| Breadcrumb Trail | BreadcrumbList | Replaces URL in SERP with clean category path (Home › Blog › Article) | All pages with a clear site hierarchy | +5–10% |
| Sitelinks Search Box | WebSite + SearchAction | Search input field displayed beneath homepage listing in branded queries | Domain homepage only; site must have significant brand search volume | +5–10% |
| Article / Top Stories | Article, NewsArticle, or BlogPosting | Image, headline, and publisher in Top Stories carousel (primarily mobile) | News, blog posts, and editorial content with defined authors and publish dates | +20–35% |
| Product Snippet | Product + Offer | Price range and availability beneath product listing | E-commerce product pages; product schema delivering 4.2x higher Google Shopping visibility Industry case studies, 2025 | +10–20% |
| FAQPage Accordion | FAQPage + Question + Answer | ⚠️ Deprecated for general web in 2023 — remains highly valuable for AI Overview citations | Publisher-authored Q&A content; single authoritative answer per question | High AI citability value |
| HowTo Steps | HowTo + HowToStep | ⚠️ Deprecated for general web in 2023 — remains valuable for AI structured response extraction | Tutorial and instructional content with clear sequential steps | High AI citability value |
5. FAQPage Schema: Implementation Guide and Code Template
FAQPage is probably the most underused schema type on content-heavy sites, and the most misunderstood since Google's 2023 deprecation of the FAQ accordion in standard search results. People saw the deprecation announcement and stopped implementing it. That was the wrong takeaway. The FAQ accordion in the SERP is gone for most sites — but FAQPage schema is still one of the clearest signals to AI systems that your page has direct, structured answers to specific questions. For informational content, that matters a lot right now.
One of the most common FAQPage errors I encounter during audits is answers hidden behind JavaScript toggles or accordion elements that require a user click to expand. In a a software client audit I ran in late 2025, we found 14 pages with FAQPage schema where every single answer was loaded via a JavaScript accordion — none visible as crawlable HTML text. Those pages had carried the schema for over five months with zero rich result eligibility. After migrating the FAQ section to visible HTML (keeping the visual accordion via CSS, not JavaScript), 9 of those 14 pages showed valid schema in Google's Rich Results Test within a week, and organic impressions from FAQ-related queries measurably increased over the following 6 weeks. Visible HTML is non-negotiable.
📋 FAQPage schema eligibility requirements
For FAQPage schema to be valid and eligible: (1) the page must contain a FAQ section with questions and answers that are fully visible as HTML text on the page — not hidden behind JavaScript toggles or tabs requiring user interaction; (2) each question must have exactly one authoritative answer written by the page publisher; (3) the page must not be a forum, community, or user-generated Q&A platform — those qualify for Q&APage schema instead; (4) all schema values must match the visible on-page content precisely; (5) the page's overall content must meet Google's quality guidelines.
// Place inside <script type="application/ld+json"> in your page <head> { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "[Your question exactly as it appears on the page?]", "acceptedAnswer": { "@type": "Answer", "text": "[Your complete answer — 50–300 words. Can include HTML like <strong>, <ul>, <li>. Must match visible page text.]" } }, { "@type": "Question", "name": "[Second question?]", "acceptedAnswer": { "@type": "Answer", "text": "[Second complete answer text.]" } }, { "@type": "Question", "name": "[Third question?]", "acceptedAnswer": { "@type": "Answer", "text": "[Third complete answer text.]" } } // Add as many Question objects as your FAQ section contains// Recommended: 5–10 questions per FAQPage schema block ] }
FAQPage schema in an @graph block (recommended pattern)
The recommended approach for most pages is to include FAQPage schema alongside other applicable schema types in a single @graph array. This avoids multiple <script> blocks and allows Google to understand the relationships between schema types on your page.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Article",
"@id": "https://yoursite.com/your-article-url#article",
"headline": "[Your Article Title]",
"datePublished": "2026-02-03T08:00:00+00:00",
"dateModified": "2026-02-03T08:00:00+00:00",
"author": {
"@type": "Person",
"name": "[Author Name]",
"url": "https://yoursite.com/author/author-name"
},
"publisher": {
"@type": "Organization",
"name": "[Your Organisation Name]",
"logo": {
"@type": "ImageObject",
"url": "https://yoursite.com/logo.png"
}
}
},
{
"@type": "FAQPage",
"@id": "https://yoursite.com/your-article-url#faq",
"mainEntity": [
{
"@type": "Question",
"name": "[Question 1?]",
"acceptedAnswer": { "@type": "Answer", "text": "[Answer 1]" }
},
{
"@type": "Question",
"name": "[Question 2?]",
"acceptedAnswer": { "@type": "Answer", "text": "[Answer 2]" }
}
]
},
{
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://yoursite.com/" },
{ "@type": "ListItem", "position": 2, "name": "Blog", "item": "https://yoursite.com/blog/" },
{ "@type": "ListItem", "position": 3, "name": "[Current Page Title]", "item": "https://yoursite.com/your-article-url" }
]
}
]
}✅ FAQPage schema implementation checklist
- Every question in the JSON-LD appears as visible, crawlable HTML text on the page
- Every answer in the JSON-LD matches the corresponding on-page answer text (exactly or very closely)
- The page has only ONE FAQPage schema block — not duplicated across multiple script tags
- There is one authoritative answer per question (not multiple competing answers)
- The FAQ section is authored content — not user-generated community responses
- Questions are complete question sentences ending with "?"
- Answers are at least 2 sentences (20+ words) and fully self-contained
- JSON syntax is valid — no trailing commas, no unclosed brackets, all strings in double quotes
- Validated with Google's Rich Results Test (0 errors required)
- Answers must NOT be hidden behind JavaScript toggles — they must be visible as raw HTML without user interaction
- Do not implement FAQPage schema for forum content, community Q&A, or pages where multiple user-generated answers exist per question
6. HowTo Schema: Implementation Guide and Code Template
HowTo schema is in the same situation as FAQPage — the traditional rich result display was deprecated for general websites in 2023, but the schema still does real work. Specifically for AI Overviews and tools like Perplexity, structured step sequences are much easier to extract and present than prose tutorials. When someone asks "how to do X," an AI system prefers a page that has already organised its instructions as discrete, labelled steps. That's exactly what HowTo schema provides.
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "[Title — e.g., How to Implement Schema Markup in WordPress]",
"description": "[1–3 sentence description of what this process achieves and who it is for]",
"totalTime": "PT30M", // ISO 8601: PT15M = 15 mins, PT2H = 2 hours, PT1H30M = 1.5 hours"estimatedCost": {
"@type": "MonetaryAmount",
"currency": "USD",
"value": "0"
},
"tool": [
{ "@type": "HowToTool", "name": "Google Search Console" },
{ "@type": "HowToTool", "name": "Google Rich Results Test" }
],
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "[Short step title — 3–8 words, e.g., 'Install Rank Math SEO plugin']",
"text": "[Full step instruction — 1–3 sentences explaining exactly what to do]",
"url": "https://yoursite.com/your-page#step-1",
"image": {
"@type": "ImageObject",
"url": "https://yoursite.com/images/step-1-screenshot.jpg"
}
},
{
"@type": "HowToStep",
"position": 2,
"name": "[Step 2 title]",
"text": "[Step 2 full instruction text]",
"url": "https://yoursite.com/your-page#step-2"
},
{
"@type": "HowToStep",
"position": 3,
"name": "[Step 3 title]",
"text": "[Step 3 full instruction text]",
"url": "https://yoursite.com/your-page#step-3"
}
// Include a HowToStep object for every step in your process// Minimum: 3 steps. Recommended: 5–12 steps for AI citability.
]
}name property for each HowToStep should be a concise action phrase (verb + object) that AI systems can display as the step label. The text property should contain the full instructional content. Adding step-specific images via ImageObject significantly increases the richness and extractability of your instructional content. Analysis of 15,847 AI Overview results found that content combining text, images, and structured data shows 156% higher AI Overview selection rates — HowTo schema with step images directly serves this multimodal preference. AI Mode Boost analysis, 20257. Article Schema: NewsArticle, BlogPosting, and the @graph Pattern
Article schema tells Google that your page is editorial content with a named author, a publisher, and a publication date. That sounds basic, but it has a meaningful downstream effect: it's the primary credibility layer that AI systems check when deciding whether a source is worth citing. Named authorship with verifiable credentials — especially when the Person schema includes jobTitle, worksFor, and sameAs links to professional profiles — is consistently one of the strongest signals I see correlated with early AI Overview citations on new sites.
I have tracked AI citation patterns across 47 new-site launches since Google AI Overviews expanded globally in May 2024. One consistent finding: sites that implemented Article schema with a complete Person entity for their primary author — including jobTitle, worksFor, and knowsAbout properties — started appearing in AI Overview citations for their core topic clusters measurably faster than sites with anonymous or incomplete author markup. On one B2B SaaS publishing project, completing the Person schema for two named authors and linking their author bio pages using sameAs to their professional profiles correlated with the site's first AI Overview citations appearing within 11 weeks of launch — faster than any comparable site in my tracking set that lacked complete author markup.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Article", // Use "NewsArticle" for news; "BlogPosting" for blog posts"@id": "https://yoursite.com/your-article#article",
"headline": "[Your article's H1 / page title — max 110 characters]",
"description": "[Your meta description — 150–160 characters]",
"datePublished": "2026-02-03T08:00:00+00:00", // ISO 8601 — set to actual publish date"dateModified": "2026-02-03T08:00:00+00:00", // Update this on every meaningful content revision"author": {
"@type": "Person",
"name": "[Author full name]",
"url": "https://yoursite.com/author/author-slug",
"jobTitle": "[Author's professional title]",
"worksFor": { "@type": "Organization", "name": "[Employer/Publication]" },
"knowsAbout": ["[Topic 1]", "[Topic 2]", "[Topic 3]"],
"sameAs": [ // Links to author's verifiable external profiles"https://www.linkedin.com/in/author-profile"
]
},
"publisher": {
"@type": "Organization",
"name": "[Your Organisation / Publication Name]",
"url": "https://yoursite.com",
"logo": {
"@type": "ImageObject",
"url": "https://yoursite.com/logo.png",
"width": 600, "height": 60
}
},
"image": { // Required for Top Stories eligibility"@type": "ImageObject",
"url": "https://yoursite.com/images/article-featured-image.jpg",
"width": 1200, "height": 630
},
"mainEntityOfPage": { "@type": "WebPage", "@id": "https://yoursite.com/your-article" },
"articleSection": "[Category, e.g., SEO, Marketing, Technology]",
"keywords": "[comma-separated keyword list]",
"wordCount": 3500,
"inLanguage": "en-US"
},
{
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://yoursite.com" },
{ "@type": "ListItem", "position": 2, "name": "[Category Name]", "item": "https://yoursite.com/category/" },
{ "@type": "ListItem", "position": 3, "name": "[Article Title]", "item": "https://yoursite.com/your-article" }
]
}
]
}Article as the default for most long-form editorial content and guides. Use NewsArticle for timely news reporting — this is required for Top Stories carousel eligibility and needs a datePublished that's actually recent. Use BlogPosting for personal blog posts and informal editorial writing. All three are subtypes of Article with the same required properties. In practice, Article works well as the safe default for most informational and how-to content.8. Product Schema: Pricing, Availability, and Review Markup
For e-commerce and SaaS sites, Product schema is where structured data directly affects revenue. A complete implementation — including Offer (pricing and availability) and AggregateRating (star ratings) — puts that information directly in organic SERP listings before anyone clicks. A Search Pilot controlled test found that adding Review schema to product pages increased organic traffic by 20%. Search Pilot study Industry case studies from 2025 have documented product schema delivering up to 4.2x higher Google Shopping visibility in specific client accounts. Industry case studies, 2025
✍️ From My Experience
The AggregateRating policy is the area where I see the most serious, most consequential mistakes — specifically, clients importing review scores from third-party platforms and marking them up as AggregateRating on their own product pages. Google's structured data policy is explicit: the rating data displayed in the markup must match the rating data visible on the page, and it must be collected from users who have direct experience with the product or service.
I've seen manual actions issued specifically for AggregateRating policy violations. The recovery process is time-consuming and the impact on rich result visibility during that period is significant. Before implementing any star rating markup, verify three things: that the reviews are from genuine purchasers or users, that the rating calculation shown in schema matches what's visible to users, and that the reviews are hosted on your own domain rather than imported from a third party. — Rohit Sharma
{
"@context": "https://schema.org",
"@type": "Product",
"name": "[Product name — must match H1 and visible product title on page]",
"description": "[Product description — 50–300 characters. Must match on-page description.]",
"image": [
"https://yoursite.com/images/product-image-1.jpg",
"https://yoursite.com/images/product-image-2.jpg"
],
"sku": "[YOUR-SKU-001]",
"brand": { "@type": "Brand", "name": "[Brand name]" },
"offers": {
"@type": "Offer",
"url": "https://yoursite.com/product-page",
"priceCurrency": "USD",
"price": "49.99", // Must match visible price on page"priceValidUntil": "2026-12-31", // Required for rich result eligibility"availability": "https://schema.org/InStock", // InStock | OutOfStock | PreOrder | Discontinued"itemCondition": "https://schema.org/NewCondition",
"seller": { "@type": "Organization", "name": "[Your Organisation Name]" }
},
"aggregateRating": { // Only include if genuine reviews from YOUR platform"@type": "AggregateRating",
"ratingValue": "4.7", // Average rating — must match on-page display"reviewCount": "384", // Total number of reviews — must match on-page count"bestRating": "5",
"worstRating": "1"
},
"review": [
{
"@type": "Review",
"reviewRating": { "@type": "Rating", "ratingValue": "5", "bestRating": "5" },
"author": { "@type": "Person", "name": "[Reviewer Name]" },
"reviewBody": "[Review text — must match review visible on page]",
"datePublished": "2026-01-15"
}
]
}⚠️ Critical AggregateRating policy
Google's review snippet policy is strict. You may only use AggregateRating schema for reviews collected on your own platform from genuine customers of your product. You cannot aggregate or import ratings from third-party platforms (Google Maps, Trustpilot, Yelp, Amazon) into your Product schema. Doing so is a structured data spam policy violation that can result in manual actions. The rating value and review count in your schema must match the values visibly displayed on the page — and must update automatically when new reviews are added. Always automate this sync between your review system and your schema output.
9. LocalBusiness Schema: Complete Implementation for Local SEO
If your business has a physical location or a defined service area, LocalBusiness schema should be on every page that's meant to drive local traffic — not just the homepage. It gives Google a structured, authoritative source for your NAP data (name, address, phone), business hours, and service categories. That directly reinforces the consistency signals that matter for local pack rankings. In 2026, the sameAs links in LocalBusiness schema also serve as entity-resolution signals — they help AI systems connect your business to verified records in external directories, which feeds into how confidently those systems can cite you.
{
"@context": "https://schema.org",
"@type": ["LocalBusiness", "[Specific type, e.g., Restaurant, DentalClinic, LegalService]"],
// Use both the generic LocalBusiness and the specific subtype for maximum relevance"name": "[Business legal name — must match exactly on GBP, website, and all citations]",
"description": "[2–3 sentence business description. Include primary service and location.]",
"url": "https://yourbusiness.com",
"telephone": "+1-555-867-5309", // E.164 format with country code"email": "[email protected]",
"address": {
"@type": "PostalAddress",
"streetAddress": "[Street number and name]",
"addressLocality": "[City]",
"addressRegion": "[State/Province code, e.g., CA]",
"postalCode": "[ZIP/Postal code]",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 37.7749,
"longitude": -122.4194
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00", "closes": "17:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "10:00", "closes": "14:00"
}
],
"image": "https://yourbusiness.com/images/storefront.jpg",
"logo": "https://yourbusiness.com/logo.png",
"priceRange": "$$", // $ = budget, $$ = mid-range, $$$ = premium, $$$$ = luxury"sameAs": [ // Links to all official business profiles — entity-resolution signals for AI"https://www.google.com/maps/place/your-business-id",
"https://www.facebook.com/yourbusiness",
"https://www.yelp.com/biz/your-business"
],
"hasMap": "https://maps.google.com/?q=your+business+name+city",
"areaServed": { "@type": "City", "name": "[Primary city served]" }
}LocalBusiness in an array — like "@type": ["LocalBusiness", "Restaurant"] — gives stronger relevance signals than using either alone. Schema.org has hundreds of subtypes: DentalClinic, AutoRepair, LegalService, RealEstateAgent, Gym, and many more. Full list at schema.org/LocalBusiness. For service-area businesses without a public address, use areaServed with city or region objects instead.10. Additional Schema Types: Recipe, Event, VideoObject, BreadcrumbList, and More
🍳 Recipe Schema
Marks up cooking recipes for recipe card rich results — one of the most visually prominent formats in Google's SERP, showing image, cook time, prep time, total time, calorie count, and star ratings. Recipe schema consistently shows strong CTR improvements, typically in the 35–50% range for publishers who get it right. If you publish recipes and aren't using this, it's a straightforward win.
📅 Event Schema
Marks up events — concerts, conferences, webinars, festivals — for listings that show date, time, location, and ticket availability directly in SERP. Supports virtual and hybrid events via the eventAttendanceMode property. Useful for event-heavy sites and for picking up visibility on time-specific queries like "events in [city] this weekend."
🎬 VideoObject Schema
Marks up video content for video carousel rich results, displaying a thumbnail, video title, duration, and upload date. For pages where video is the primary content, VideoObject schema is essential for video search visibility. A Vidio/Google case study documented videos using VideoObject markup seeing a 3x increase in impressions and 2x increase in clicks within a year of implementation. Vidio/Google Case Study
📚 Course Schema
Marks up educational courses for listings in Google's learning panel. Requires CourseInstance for scheduling details. Relevant for online education providers, certification programs, and professional development content. Course schema is one of the less commonly implemented types, which means less competition for the learning panel placement for sites that do use it correctly.
💼 JobPosting Schema
Marks up job listings for Google Jobs. Complete implementations — with salary range, employment type, and benefits — consistently outperform minimal ones in the Jobs panel. Salary data in particular is correlated with higher click-through. If you're hiring and not using this, you're missing candidates who search Google Jobs directly before ever hitting your careers page.
🌐 WebSite + SearchAction
Marks up your domain homepage for the sitelinks search box — a search input field displayed beneath your homepage listing in branded SERP queries. Particularly valuable for large e-commerce sites, SaaS products, and publishers where users want to search within a specific site from the SERP.
👤 Person Schema
Marks up individual people — authors, professionals, public figures — with name, job title, employer, credentials, and external profile links. Person schema on author bio pages is one of the clearest E-E-A-T signals available, and AI systems specifically use it to verify who wrote something before deciding whether to cite it. For YMYL content especially, filling in alumniOf, hasCredential, and award where applicable gives the credibility assessment more to work with. Multiple 2025 best-practices analyses
🏢 Organization Schema
Marks up your company or publication entity — name, logo, contact information, and external authority links. The sameAs property is the key one here: linking to your Wikipedia page, LinkedIn, Wikidata, and Crunchbase lets AI systems confirm they're looking at a real, verifiable organisation. That entity-resolution step is one of the clearest signals of source authority in how AI citation systems assess sites. Every website's homepage should have Organization (or Corporation) schema as a baseline.
11. The Complete Schema Validation and Testing Workflow
Validation is the step most people skip, and skipping it is how you end up with schema that looks fine on the page but silently earns nothing. A schema block that fails Google's parser — for a reason as minor as a trailing comma — provides zero SEO benefit. Validate every implementation before deployment, and re-validate whenever something on the page or in your CMS changes.
Step 1: Write and syntactically validate your JSON-LD
Before testing against Google's tools, validate your JSON for syntactic correctness using a JSON validator (JSONLint.com or the built-in validator in VS Code). A single misplaced comma, unclosed bracket, or unescaped quote will invalidate the entire JSON block. Paste your JSON-LD into a validator and resolve all syntax errors before proceeding.
Step 2: Test with Google's Rich Results Test
Go to search.google.com/test/rich-results. Paste either the page URL (for live pages) or your HTML code directly. The tool analyses the structured data, reports errors (which prevent rich results) and warnings (which may reduce eligibility), and shows which rich result types your schema qualifies for. All errors must be resolved before publishing. Warnings should be addressed where feasible.
Step 3: Test with Schema.org Validator
Run your schema through validator.schema.org for a broader compliance check that goes beyond Google's rich result eligibility requirements. It catches spec violations that Google's tool may not flag — particularly useful for less common schema types like MedicalEntity, FinancialProduct, or SpecialAnnouncement.
Step 4: Deploy and request indexing
Push the validated schema to your live page. In Google Search Console, use URL Inspection to request indexing. This prompts Google to re-crawl the page sooner rather than waiting for its regular crawl schedule — and can shave days or weeks off the time between implementation and your first rich result impressions.
Step 5: Watch the Rich Results Status report in Search Console
In GSC, go to Enhancements to find type-specific rich result reports (Products, Events, Videos, etc.). Each report shows valid pages, pages with warnings, and pages with errors — including specific error descriptions. Check these weekly for the first month after any major schema rollout.
Step 6: Measure CTR impact in the Performance report
After 4–8 weeks, compare CTR for your schema-implemented pages against their pre-implementation baseline in GSC's Performance report. Filter by those specific pages and compare 30-day periods before and after deployment. A clear CTR lift on the same queries is the confirmation that rich result display is working. Rakuten documented a 2.7x increase in organic traffic and 1.5x longer session duration after implementing structured data across their product catalog. Rakuten/Google Case Study
12. How Schema Markup Improves AI Overview and LLM Citation Rates
Structured data used to have one audience: Google's traditional search index. That's still true, but there's a second audience now — the AI systems constructing generated responses — and they use schema markup differently enough that it's worth understanding on its own terms.
The scale of the AI Overview challenge has become hard to ignore. Semrush's analysis of over 10 million keywords from January to November 2025 found AI Overviews peaked at nearly 25% of queries in July 2025 before settling at around 16% of desktop searches by November. Semrush, November 2025 For informational queries specifically — where schema-rich content competes most directly — AI Overviews appear on 88% of results according to separate analysis. Published analysis, 2025
🤖 How AI systems actually use your schema
There are two ways AI Overviews and similar systems pull from structured data. The first is as direct content: explicitly stated facts in schema (product prices, event dates, Q&A pairs, step-by-step instructions) are treated as high-confidence claims that AI systems prefer when constructing factual responses. A FAQPage schema block is essentially a ready-made answer set the AI can reference without having to parse prose. The second is as source credibility signals: Article schema with a named author, datePublished, and publisher tells an AI system how to weigh the source. Person schema with credentials and professional profile links, Organization schema with sameAs pointing to Wikipedia or Wikidata — these help AI systems confirm they're looking at a real, verifiable source rather than an anonymous page.
A development worth tracking closely: BrightEdge research published in February 2026 found the overlap between top-10 organic rankings and AI Overview citations dropped from around 76% in mid-2025 to as low as 17–38% by early 2026. BrightEdge & Ahrefs, February 2026 That's a significant shift. Strong organic rankings no longer automatically translate to AI Overview visibility — structured data, content authority, and semantic clarity have become independent citation factors.
The AI Overview citation gap is real and measurable. Across the 47 site launches I have tracked since May 2024, the sites that invested in complete Article + Person schema — with full author credentials, knowsAbout arrays, and sameAs entity links — consistently appeared in AI Overview citations faster and for broader topic coverage than sites relying on content quality alone. Equally important: I have found that AI systems appear to weight dateModified freshness signals heavily. Sites that updated their schema's dateModified field consistently on every meaningful content revision saw their AI Overview appearances correlate with content freshness in ways that made the signal very visible in tracking data.
| Schema Type | GEO / AI Overview Value | Why AI Systems Use It | Implementation Priority |
|---|---|---|---|
| FAQPage | Very High | Pre-formatted Q&A pairs are directly extractable as answers to conversational queries — the exact format AI Overviews use | Immediate |
| Article + Author (Person) | Very High | Named author with credentials, datePublished, and publisher are the primary credibility signals AI systems use to determine citation worthiness | Immediate |
| HowTo | High | Structured step sequences are used by AI systems when constructing how-to and instructional responses | Immediate for tutorial content |
| Organization + sameAs | High | sameAs links to Wikipedia, Wikidata, and Crunchbase allow AI systems to resolve your organisation to a known entity — increasing citation confidence | Immediate for homepage |
| Product + AggregateRating | High | AI shopping and comparison responses draw structured product data, pricing, and review aggregates directly from Product schema | Immediate for e-commerce |
| Dataset | Very High | Original research data marked up as Dataset schema is a high-value AI citation target — explicitly signals original data with citable source | High for data journalism |
| Speakable | Medium | Marks specific sections as suitable for audio and voice responses — used by some AI voice systems when constructing spoken answers | Secondary priority |
| BreadcrumbList | Low | Provides site structure context but minimal direct value for AI content citability | Include as baseline |
13. How to Audit Your Existing Schema Implementation
Most sites I audit have some schema already — but "some schema" and "schema that works" are different things. You'll usually find a mix of errors, missing properties, and outdated implementations from before current best practices. The audit's job is to find which pages have no schema at all, which have errors, and which have valid-but-weak implementations worth upgrading.
In GSC, go to Enhancements in the left sidebar. Each rich result type Google has detected on your site (Products, Events, Videos, etc.) gets its own report showing valid pages, warnings, and errors — with specific error descriptions and example URLs. This is where most audits should start. It shows you exactly where Google is finding problems and what those problems are.
In Screaming Frog, use Configuration → Custom → Extraction to pull all <script type="application/ld+json"> blocks from a full site crawl. Export and review to identify pages with no schema, pages with multiple JSON-LD blocks (potential duplicate schema issues), and the distribution of schema types across the site. The GSC report tells you about errors; this tells you about gaps.
For your 20–30 highest-traffic pages (find them in GSC Performance data), run each URL through Google's Rich Results Test manually. This surfaces errors on individual high-value pages that may not stand out in the aggregate GSC report. Focus on pages that already have schema present but carry errors — fixing one or two missing properties is typically a fast path to eligibility.
In every schema audit I run on sites with 100+ pages, I find the same three categories of overlooked issues: (1) Article schema blocks missing dateModified — stale dates that undermine freshness signals; (2) BreadcrumbList schema absent from 60–80% of interior pages despite being present on the homepage; and (3) at least one instance of AggregateRating referencing third-party review scores. The third category is the one I address immediately with the client, because it carries real manual-action risk. The first two are high-value wins that require only template-level fixes to deploy at scale.
🔍 Schema audit priority checklist
- Run GSC Enhancements report — document all schema types detected, error counts, and warning counts
- Crawl site with Screaming Frog — extract all JSON-LD blocks and identify pages with zero schema
- Identify the top 20 pages by organic impressions with no schema — these are the highest-priority implementation opportunities
- Identify pages with schema errors in GSC — fix errors on highest-traffic pages first
- Check for duplicate schema types (two FAQPage blocks on one page) — consolidate into single @graph
- Verify Article schema on all blog posts includes author name, jobTitle, and datePublished — critical for E-E-A-T and AI citability
- Verify BreadcrumbList is implemented on all interior pages — baseline structured data often missing
- Check all Product pages for AggregateRating — verify rating values match on-page displays exactly
- Verify
dateModifiedis current on all Article schema — stale dates undermine freshness signals for AI systems - Pages with FAQPage schema where FAQ answers are hidden behind JavaScript accordions that require user clicks to expand — Google may not crawl this content; migrate to visible HTML
- Any AggregateRating schema referencing reviews from third-party platforms — remove immediately to avoid manual action risk
14. The 10 Most Damaging Schema Markup Mistakes (and How to Fix Them)
These are the ten failures I encounter most often across audits. Some are technical slip-ups, some are policy issues that carry real penalty risk, and most have a straightforward fix once you know what to look for. The severity ratings reflect actual impact: CRITICAL items can wipe out all rich result eligibility or trigger manual actions sitewide; MEDIUM items quietly reduce performance without showing obvious symptoms.
| Mistake | Impact | Severity | Fix |
|---|---|---|---|
| Invalid JSON syntax (trailing commas, missing brackets) | Entire JSON-LD block is ignored by Google. Zero rich result eligibility. | CRITICAL | Validate JSON with JSONLint.com before deployment. Use a code editor with JSON syntax highlighting. Always validate with Rich Results Test on the live URL post-deployment. |
| Schema for content not visible on the page | Google flags as inaccurate/misleading structured data. No rich results. Risk of manual action for repeated violations. | CRITICAL | Every value in your schema must correspond to content visible as crawlable HTML text on the page. FAQ schema answers must appear in the page HTML. Never describe content that is not on the page. |
| Aggregating third-party review scores in AggregateRating | Structured data spam policy violation. Risk of manual action and loss of rich result eligibility site-wide. | CRITICAL | Only include AggregateRating for reviews collected on your own platform. Remove any schema that aggregates scores from Google Maps, Yelp, Trustpilot, or similar third-party sources. |
| Missing required properties for schema type | Schema may be technically valid JSON but not eligible for rich results. GSC reports errors. | HIGH | Cross-reference your schema against Google's developer documentation (developers.google.com/search/docs/appearance/structured-data) for each type. Every required property must be present and populated. |
| FAQPage schema on forum/community Q&A pages | Incorrect schema type. No FAQPage rich results. These pages qualify for Q&APage schema instead. | HIGH | Use FAQPage only for publisher-written, single-answer Q&A. For forum content or pages with multiple user-submitted answers, use Q&APage schema with suggestedAnswer objects. |
| Not updating dateModified on content revisions | Stale dateModified tells AI systems and crawlers the content has not been updated — reducing freshness signals for both rankings and AI citations. | MEDIUM | Update dateModified in your Article schema every time you make meaningful content changes. Automate this in your CMS where possible — most WordPress SEO plugins handle this automatically. |
| Using Microdata instead of JSON-LD | Higher maintenance cost, higher error risk, no functional advantage. Schema breaks silently when HTML templates change. | MEDIUM | Migrate Microdata to JSON-LD as part of your next schema audit or site rebuild. JSON-LD is easier to maintain, validate, and update at scale. |
| Implementing the same schema type in multiple separate script blocks | Duplicate schema confuses Google's parser. Unpredictable which block is used for rich result assessment. | MEDIUM | Consolidate all schema for a page into a single JSON-LD @graph block. One script tag, all schema types in the @graph array. |
| Outdated schema type names or deprecated properties | Schema.org evolves — deprecated types are still parsed but may not qualify for rich results. Missing recommended properties reduces rich result quality. | MEDIUM | Review your schema against current Google developer documentation annually. Schema.org version updates are logged at schema.org/docs/releases.html. Update deprecated types when discovered. |
| Never re-validating after site migrations or CMS updates | Platform updates can silently break JSON-LD output — character encoding issues, template changes, or plugin conflicts corrupt schema without any visible page changes. | MEDIUM | After every major CMS update or site migration, re-run Rich Results Test spot-checks on 10–20 key pages. Set a quarterly calendar reminder to spot-check schema across page types. |
15. Implementing Schema at Scale: CMS-Specific Strategies
When you're dealing with hundreds or thousands of pages, manually writing JSON-LD for each one isn't realistic. The answer is template-level schema — configured once at the CMS or framework level, then inherited automatically across page types. Each platform has a different path to get there. Schema App's case study of Marshfield Clinic Health System found an 80% increase in traffic after scaling structured data comprehensively across 50+ sites — that kind of result is what systematic, template-driven implementation makes possible. Schema App, 2025
🔧 WordPress
The primary schema implementation method for WordPress is via SEO plugins: Yoast SEO, Rank Math, and SEOPress all generate Article, BreadcrumbList, and Organisation schema automatically. Rank Math has the most comprehensive built-in schema support, including Product, FAQPage, HowTo, Recipe, Event, and JobPosting as per-post/page additions. For complex or custom schema, use the custom JSON-LD field to inject bespoke schema alongside auto-generated blocks.
🛒 Shopify
Shopify auto-generates basic Product and BreadcrumbList schema. For AggregateRating and full rich result eligibility, supplement with apps like JSON-LD for SEO or SEO King — or inject custom schema directly into the product.liquid and article.liquid theme templates using Liquid's variable system to pull dynamic product data (price, name, description, inventory) into the JSON-LD block automatically.
📝 Webflow
Webflow's native schema support is limited. The recommended approach for Webflow is to use CMS Collection fields to store schema values (FAQ questions, HowTo steps, etc.) and inject them into a custom code component that outputs JSON-LD using Webflow's CMS variable syntax. This allows schema to scale across Collection pages without manual maintenance per page.
⚡ Next.js / React
For Next.js and React applications, use the next-seo library or the schema-dts TypeScript library to generate and inject JSON-LD. next-seo provides React components for all major schema types that accept data as props — making it easy to pass dynamic data from your API or CMS into schema components server-side for maximum crawlability and AI system accessibility.
🏢 Drupal
Drupal has strong native schema support via the Schema.org Blueprints module, which maps Drupal content types directly to Schema.org types and generates JSON-LD automatically based on field mappings. The Metatag module handles Article and breadcrumb schema. Enterprise Drupal implementations should configure Schema.org Blueprints as the primary schema layer for maintainability.
🔵 Headless CMS (Contentful, Sanity, Strapi)
For headless CMS architectures, implement schema generation in your front-end rendering layer using data from the CMS. Create a schema-generation utility function that accepts structured content fields and outputs valid JSON-LD. Store schema-specific fields (FAQ pairs, HowTo steps, product data) as structured CMS fields — not free-text blocks — to enable programmatic schema generation at scale.
I've tested Rank Math Pro against Yoast Premium across multiple client sites specifically for schema output quality. Rank Math generates more complete JSON-LD for content-specific schema types like FAQPage, HowTo, and Recipe — fewer missing required properties out of the box. That said, both plugins need manual configuration per post for schema types beyond Article and BreadcrumbList. For content-driven WordPress sites publishing more than 20 posts a month, it's worth setting up Rank Math's schema templates at the post-type level. Do it once properly and every new post inherits the right schema structure automatically — the per-post overhead drops to near zero.
16. Frequently Asked Questions About Schema Markup
What is schema markup?
Schema markup is structured data code — written in JSON-LD and added to a webpage's HTML — that uses the Schema.org vocabulary to describe your content to search engines in terms they can parse directly. Instead of a crawler inferring that a page is about a product, or guessing which text is the price, schema states it explicitly: this is a Product, it costs $49, it's in stock. That explicitness is what enables rich results — the SERP enhancements like star ratings, FAQ accordions, and recipe cards that show up before anyone clicks your listing. Pages displayed as rich results achieve up to 82% higher CTR than standard listings, according to case studies documented by Google. Nestlé/Google Case Study
Does schema markup directly improve search rankings?
No — Google has confirmed schema markup is not a direct ranking factor. But the indirect effects are real and measurable. Rich results increase CTR by 20–40% on average Schema App, January 2025 QBR; industry analysis, which improves the engagement signals Google tracks. Schema also makes content eligible for featured snippets and AI Overview citations, and it sharpens Google's understanding of what your page is about and how it relates to other entities on the web. The ranking benefit, when it comes, comes through those channels — not from schema as a direct algorithmic input.
What is the difference between JSON-LD, Microdata, and RDFa?
All three are valid formats for implementing structured data, but they work differently and have different maintenance costs. JSON-LD lives in a separate <script> block — completely isolated from your page's visible HTML. That means you can update schema without touching templates, and a template redesign won't silently break your markup. Microdata and RDFa both embed attributes directly into HTML elements, tightly coupling your schema to your code. Any template change can break them, often without any visible error. Google has recommended JSON-LD for years, and in May 2025, Google, Microsoft, and ChatGPT each published guidance reinforcing its importance specifically for AI search. Schema App, May 2025 Use JSON-LD. There's no good reason not to.
Which schema types produce rich results in Google in 2026?
The types with active rich result support are: Product + AggregateRating (star ratings and pricing), Recipe (full recipe cards), Event (date, location, ticket info), JobPosting (Google Jobs), Course (learning panel), VideoObject (video carousels), Article/NewsArticle (Top Stories carousel), BreadcrumbList (breadcrumb path in the URL), and LocalBusiness (business info panel). FAQ and HowTo rich results were deprecated for general web content in 2023 — but both schema types are still worth implementing for AI Overview citations. One thing to keep in mind: meeting the technical requirements makes your page eligible, not guaranteed. Google decides on a query-by-query basis whether to show the rich result format. Eligibility also requires that the page itself meets Google's content quality standards — clean schema on a thin page won't earn a rich result.
How do I validate schema markup?
Start with Google's Rich Results Test at search.google.com/test/rich-results — paste in a URL or your raw HTML. It shows which rich result types your schema qualifies for, lists errors (which block eligibility) and warnings (which reduce it), and previews how rich results would look. For a broader spec compliance check, also run it through Schema.org's Validator at validator.schema.org — this catches issues Google's tool doesn't flag. Both are free. After deploying, keep an eye on Search Console's Enhancements reports, which track rich result eligibility across your whole site. And re-validate any time you do a CMS update or site migration — platform changes can silently corrupt JSON-LD output without any visible sign on the front end.
Can schema markup help with AI Overviews and LLM citations?
Yes, meaningfully. FAQPage schema hands AI systems a pre-formatted set of questions and answers they can pull from directly. Article schema with a named author, publication date, and publisher gives AI systems the credibility signals they check before deciding whether to cite a source. Organization schema with sameAs links to Wikipedia and Wikidata lets AI systems verify they're looking at a real, established entity rather than an anonymous site. Seer Interactive's September 2025 analysis of 3,119 queries found that brands cited in AI Overviews earn 35% more organic clicks than non-cited competitors on the same queries. Seer Interactive, September 2025 For informational content, FAQPage and Article + Author schema are the highest-impact implementation priorities right now.
How many schema types can I use on one page?
No limit — and most pages should have more than one. A blog post might carry Article, BreadcrumbList, and FAQPage together. A product page might have Product, AggregateRating, Offer, and BreadcrumbList. The recommended way to do this is a single JSON-LD block with all types inside a @graph array, rather than multiple separate script tags. Multiple script blocks can confuse Google's parser and produce unpredictable results. The one firm rule: every schema type on the page must describe content that's actually there as visible, crawlable HTML. Schema for content that isn't on the page is a policy violation — and Google actively checks for it.
What is the most common schema markup mistake?
Implementing schema for content that isn't visible on the page. This comes up constantly with FAQPage — someone marks up questions and answers in JSON-LD, but the actual answers on the page are hidden inside JavaScript accordions that require a click to expand. Google can't reliably crawl that content, so the schema describes text that, from Google's perspective, doesn't exist. The fix is making FAQ answers visible as rendered HTML (you can still have the visual accordion behaviour via CSS). Beyond that, the other mistakes I see repeatedly: invalid JSON syntax from a stray comma or missing bracket, missing required properties that prevent rich result eligibility, and AggregateRating referencing scores from third-party platforms like Trustpilot — which is a spam policy violation that can trigger a manual action. All of these are caught by running the Rich Results Test before every deployment.
Where Schema Fits in Your Broader SEO and GEO Work
Schema markup doesn't operate in isolation. It works alongside content quality, topical authority, and AI search optimisation — and understanding how those pieces connect is what turns good schema into consistently better SERP performance. The guides below go deeper on each area.
Every rich result format schema markup can trigger — with the eligibility requirements, implementation priorities, and CTR data behind each one.
Read the full guide →The full GEO strategy for AI Overview and LLM citation rates — structured data is one piece; this covers the rest.
Read the full guide →Article and Person schema are direct E-E-A-T signals. This guide covers the full framework and how authorship and publisher markup feed into it.
Read the full guide →Structured data is one layer of the technical SEO stack. This covers the rest — crawlability, indexing, Core Web Vitals, and site architecture.
Read the full guide →Includes exact prompts for generating JSON-LD schema for FAQPage, HowTo, Article, Product, and LocalBusiness in minutes.
Read the full guide →The sameAs property connects your content to the Knowledge Graph. This guide covers entity optimisation strategy in full.
📚 Sources & Research References
- Schema App — The Semantic Value of Schema Markup in 2025 (January 2025 Quarterly Business Reviews). Published September 22, 2025. schemaapp.com
- Schema App — Why Schema Markup Should Be in Your 2026 Digital Budget. Published December 2025. schemaapp.com
- Search Pilot — Controlled test: adding Review schema to product pages increased organic traffic by 20%. Published via Sixth City Marketing compilation, November 2025.
- Nestlé/Google Case Study — Pages showing as rich results saw 82% higher CTR vs. non-rich result pages. Google Search Central documentation.
- Rotten Tomatoes/Google Case Study — 25% higher CTR for pages with schema vs. without. Google Search Central documentation.
- Rakuten/Google Case Study — 2.7x organic traffic increase and 1.5x session duration after structured data implementation. Google Search Central documentation.
- Vidio/Google Case Study — VideoObject markup: 3x impressions and 2x clicks within a year. Google Search Central documentation.
- Seer Interactive — AI Overviews CTR Analysis: 3,119 informational queries, 42 organisations. September 2025. dataslayer.ai summary.
- Semrush — AI Overviews Study: 10 million keywords, January–November 2025. Published December 16, 2025. searchengineland.com.
- BrightEdge — AI Overview citation top-10 overlap dropped to 17% by February 2026. Published February 12, 2026. Cited in ALM Corp analysis.
- Ahrefs — AI Overview citation analysis, July 2025 and February 2026 datasets. Cited in ALM Corp summary.
- AI Mode Boost — Analysis of 15,847 AI Overview results: multimodal content + structured data shows 156% higher selection rates. 2025.
- Industry case studies (2025) — Product schema delivering up to 4.2x higher Google Shopping visibility. Multiple documented client accounts cited via ALM Corp and Tonic Worldwide.
- Schema App — Marshfield Clinic Health System: 80% traffic increase after scaling Schema Markup across 50+ sites. 2025.
- Gary Illyes, Google — Confirmation that AI systems use the same fundamental evaluation signals as traditional search. Public statement via Passionfruit analysis.