Schema Markup for AI Search: What Works, With a Test to Prove It
Schema markup for AI search is not a proven citation lever. Google says no special schema is needed and a vendor study found no citation gain, so keep markup accurate.
By Harjot Chopra, Co-Founder · Updated 9 Oct 2026

Key takeaways
- 01Schema markup is not a proven lever for AI citations. Google states that appearing in its AI features needs no special schema, and a vendor study of 1,885 pages found no meaningful citation change after schema was added.
- 02In live retrieval tests, AI tools read visible text; none found a price that existed only in JSON-LD. Put every fact you want cited in visible text first.
- 03Keep a small, accurate stack (Organization, article, author, breadcrumb, and product where you sell). Skip FAQPage, which Google stopped showing on May 7, 2026.
- 04To test the effect on your own pages, use 5 to 10 test and 5 to 10 control pages and plan at least 60 days: 30 days of baseline, then 30 days after the change. The result is a screening signal, not proof.
In this article
- 1Does schema markup for AI search increase your citations?
- 2Do AI tools read the JSON-LD on your page?
- 3Which structured data types are worth adding in 2026?
- 4What are the most common schema markup mistakes?
- 5How do you write JSON-LD that matches your page?
- 6How do you check that your markup matches the visible page?
- 7How do you test whether schema changes your AI citations?
- 8Frequently asked questions
Pages that AI tools cite are almost three times as likely to carry JSON-LD (JavaScript Object Notation for Linked Data), the script-tag format Google recommends for schema markup, as pages that are not cited, according to a May 2026 Ahrefs analysis of 6 million page addresses. Schema markup is code that labels what a page contains, such as a product, an author or a price.
That gap is where the advice to add schema to win citations comes from, and it is a correlation. Well-run sites tend to have clean markup and tend to be cited, which cannot show that the markup does the work. Ahrefs, which sells AI-visibility software, also ran a before-and-after test. Studies like it come from vendors and await independent replication, so they are evidence, not settled fact.
This page covers what Google's documentation settles, the markup stack worth keeping, a template and a script that keep markup matching the page, and a test you can run on your own pages. A fair test takes at least 60 days.
Does schema markup for AI search increase your citations?
Google says no special schema is needed, and the one large before-and-after test described here found no gain. Google states there is "no special schema.org structured data that you need to add" to appear in AI Overviews (the generated summaries above results) or AI Mode (its conversational search). A page only has to be indexed and eligible to show in Search with a snippet (Google Search Central).
Ahrefs' own study tracked 1,885 pages that added JSON-LD between August 2025 and March 2026, alongside 4,000 comparison pages. It compared citations in the 30 days before and after (Ahrefs, May 11, 2026). Citations changed by −4.6% in AI Overviews, +2.4% in AI Mode and +2.2% in ChatGPT. The AI Mode and ChatGPT changes are indistinguishable from zero. The AI Overviews decline is statistically significant. Ahrefs sells AI-visibility tooling, and the study has not been independently replicated, so read it as one vendor's evidence.
Its limits matter. Every page was already heavily cited, all schema types were pooled, the window was 30 days, and only JSON-LD was tested. It says nothing about brand-new pages or about one schema type on its own.
Our reading of the AI Overviews drop: Ahrefs did not establish that schema caused it, and a design like this cannot show cause. It is a reason not to expect gains in AI Overviews. It is not a reason to remove accurate markup that supports Google features.
John Mueller of the Google Search team, answering this question on Reddit in a personal capacity and not as official guidance, wrote that the short answer is "yes, no, and it depends". Features such as Shopping depend on structured data; elsewhere it mostly enriches results. Microsoft Bing's Fabrice Canel said at SMX Munich in March 2025 that schema helps Microsoft's large language models (LLMs, the systems that write AI answers) understand content (Search Engine Roundtable). That concerns understanding, not a measured citation gain.
Do AI tools read the JSON-LD on your page?
In the one controlled test published, they did not read it during live fetches. searchVIU, an SEO monitoring vendor, tested five AI systems on October 30, 2025 and published the results on December 2, 2025. No system found a price that existed only in JSON-LD (searchVIU).
Google's policy points the same way: "Don't mark up content that is not visible to readers of the page" (Google structured data policies). Markup is meant to mirror the page, not carry facts the page lacks.
The test used eight versions of one price across different formats. Of the three live-fetch systems, Gemini found 4 of 8 prices (it was the only one to run JavaScript), ChatGPT found 3 and Claude found 0. Google AI Mode (2) and Perplexity (1) found prices only after indexing. searchVIU did not test AI Overviews or Microsoft Copilot, and it did not examine indexing or training, where schema may still matter.
Our recommendation follows: write each fact you want quoted as plain visible text, answer first, and use schema as a mirror of that text. The page-level work that moves citations is covered in how to optimize your website for AI search and how to rank in Google AI Overviews.
Which structured data types are worth adding in 2026?
Add Organization, article, person and breadcrumb markup everywhere, add product markup where you sell products, and skip FAQPage and anything sold as AI-specific schema. A rich result is an enhanced search listing, such as a product with a price. Google's gallery lists 31 supported features as of June 15, 2026 (Google).
| Type | What it does | Evidence | Verdict |
|---|---|---|---|
| Organization | Names the business, logo, official profiles | In Google's gallery | Add sitewide |
| Article / BlogPosting | States headline, dates, author | Article is in Google's gallery | Add to every post |
| Person (author) | Ties a post to a named author | Not a Google feature; our recommendation | Add where author pages exist |
| BreadcrumbList | Shows the page's place in the site | Breadcrumb is in Google's gallery | Add |
| Product + Offer | Price and availability | Shopping features depend on it | Add if you sell; values must match the page |
| FAQPage | Nothing in Google since May 7, 2026 | Skip | |
| "AI schema" or AI-only files | Nothing | Google: no new machine-readable files or markup needed | Skip |
What are the most common schema markup mistakes?
The most common mistake is markup that disagrees with the page. Google requires that structured data be "a true representation of the page content". A structured data issue can cause a manual action, which removes a page's eligibility for rich results, and inaccurate markup can "possibly cause it to be marked as spam" (Google).
Four more follow from the documents:
Marking up what visitors cannot see.
Prices, ratings or answers that appear only in the code break Google's visible-content rule.Keeping FAQPage for a display that ended.
Google stopped showing FAQ rich results on May 7, 2026.Treating a passing test as proof.
The Rich Results Test checks Google eligibility; the Schema Markup Validator checks schema.org vocabulary. Valid syntax does not make markup accurate.Letting templates break it.
Google warns markup "might break after deployment due to templating or serving issues", which is why it points to Search Console's rich result status reports (Google).
One of ours: change dateModified only when the visible page changes.
How do you write JSON-LD that matches your page?
Copy the template below, replace every value with text that appears on the page, and delete anything that does not. Headline equals the visible H1, author equals the visible byline, dates equal the dates shown. Google recommends JSON-LD as the easiest format to maintain at scale (Google).
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "Example Co",
"url": "https://example.com/",
"logo": "https://example.com/logo.png",
"sameAs": ["https://www.linkedin.com/company/example"]
},
{
"@type": "Person",
"@id": "https://example.com/authors/jane-doe#person",
"name": "Jane Doe",
"url": "https://example.com/authors/jane-doe",
"worksFor": { "@id": "https://example.com/#organization" }
},
{
"@type": "BlogPosting",
"headline": "Exact H1 of the page",
"datePublished": "2026-10-09",
"dateModified": "2026-10-09",
"author": { "@id": "https://example.com/authors/jane-doe#person" },
"publisher": { "@id": "https://example.com/#organization" },
"mainEntityOfPage": "https://example.com/blog/post-slug"
},
{
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/" },
{ "@type": "ListItem", "position": 2, "name": "Blog", "item": "https://example.com/blog" },
{ "@type": "ListItem", "position": 3, "name": "Exact H1 of the page" }
]
}
]
}
On a product page, add a Product node whose price matches the visible price. The Rich Results Test lists the required and recommended fields.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Exact product name on the page",
"offers": {
"@type": "Offer",
"price": "299.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://example.com/product"
}
}
Add no ratings, reviews or FAQ blocks unless they are on the page. For this stack you do not need a generator, but ours is free: the JSON-LD Schema Generator and Structured Data Tester are among our free tools. A generator or content management system (CMS) plugin earns its place when you template hundreds of product pages, and its output needs the same checks.
How do you check that your markup matches the visible page?
Run two checks: one for syntax, one for honesty. For syntax, use Google's Rich Results Test and the Schema Markup Validator. After launch, watch Search Console's rich result status reports.
The honesty check is the script below. It reads a URL, pulls the name, headline, text and price values from its JSON-LD, and flags any that do not appear in the page's visible body text.
import html, json, re, sys, urllib.request
KEYS = {"name", "headline", "text", "price"}
def get(url):
req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
return urllib.request.urlopen(req, timeout=25).read().decode("utf-8", "ignore")
def clean(s):
s = html.unescape(re.sub(r"<[^>]+>", " ", str(s)))
return re.sub(r"\s+", " ", s).strip().lower()
def values(node):
if isinstance(node, dict):
for k, v in node.items():
if k in KEYS and isinstance(v, (str, int, float)):
yield k, clean(v)
else:
yield from values(v)
elif isinstance(node, list):
for v in node:
yield from values(v)
page = get(sys.argv[1])
blocks = re.findall(r'<script[^>]*application/ld\+json[^>]*>(.*?)</script>', page, re.S | re.I)
body = re.sub(r"<head.*?</head>|<(script|style).*?</\1>", " ", page, flags=re.S | re.I)
visible = clean(body)
fails = 0
for block in blocks:
try:
data = json.loads(block)
except ValueError:
fails += 1
print("INVALID JSON-LD:", block.strip()[:80])
continue
for key, val in values(data):
if len(val) > 2 and val[:60] not in visible:
fails += 1
print("NOT VISIBLE:", key, "=", val[:80])
print("PASS" if fails == 0 else f"FAIL: {fails} problem(s)")
Pass means zero problems. Fail means each flagged value is either added to the visible page or deleted from the markup, and each invalid block is repaired. The script reads raw HTML, so text a page injects with JavaScript is flagged wrongly; run it on rendered HTML in that case.

How do you test whether schema changes your AI citations?
Run a controlled test on your own pages: add schema to a test group, leave a control group alone, and compare citation rates before and after. Ahrefs suggests 5 to 10 test and control pages with existing citations and at least 30 days after the change (Ahrefs). With a 30-day baseline, the total is at least 60 days. Our recommended steps:

Pick pages.
Choose 5 to 10 test and 5 to 10 control pages of the same type, each already cited for at least one tracked prompt, with similar baseline citation levels. A step-by-step AI visibility audit shows how to find which pages are cited today.
Record a 30-day baseline.
Citation rate is answers citing the page divided by answers sampled. Sample every tracked prompt at least weekly.Measure natural swing.
Look at the control pages' week-to-week changes during the baseline. A later change must beat the largest weekly swing you saw to count.Change one thing.
Add the template to the test pages only. Change no copy, links or titles.Wait 30 more days,
then recompute both groups.Apply the rule.
Pass: the test group's change minus the control group's change exceeds the natural swing, on more than one engine. Fail: anything less.
Five to ten pages per group is a low-powered test. A pass is a signal to repeat on more pages, not proof; a fail rules out a large effect on those pages only.
You can get a free baseline with our free tools, including the AI Overview Checker and ChatGPT Visibility Checker, before committing to a plan. For ongoing tracking, we record the sources each AI answer cites for the buyer prompts you choose, so baseline and follow-up use one prompt set; our citation tracking standard explains how to keep that comparison clean. Launch, Growth and Enterprise plans run $299 to $1,499 a month as of October 2026 (pricing).
Our Content Engine tunes headings, answer blocks and schema, and ships pages to your domain after your approval. We treat the schema there as hygiene, not as the citation driver. To plan a test on your own pages, Book a demo.
Plan a schema citation test on your own pages
Frequently asked questions
Sources
- 1.We Tracked 1,885 Pages Adding Schema. AI Citations Barely Moved. (Ahrefs, May 11, 2026; vendor study)
- 2.Schema Markup and AI in 2025: What ChatGPT, Claude, Perplexity & Gemini Really See (searchVIU; tests run October 30, 2025, published December 2, 2025; vendor study)
- 3.AI features and your website (Google Search Central)
- 4.General structured data guidelines (Google Search Central)
- 5.Structured data search gallery (Google Search Central)
- 6.Introduction to structured data (Google Search Central)
- 7.Deprecating the FAQ rich result feature (Google Search Central changelog, May 2026)
- 8.Does extensive Schema markup actually help LLMs understand your entity better? (r/TechSEO, January 2026)
- 9.John Mueller (Personally) On If Schema Helps With LLMs & Google (Search Engine Roundtable, January 2, 2026)
- 10.Schema Helps Microsoft's LLMs (Copilot) Understand Your Content (Search Engine Roundtable, March 2025)
- 11.Rich Results Test (Google)
- 12.Schema Markup Validator (schema.org)
- 13.PageLens.ai pricing
- 14.PageLens.ai free tools



