Schema markup and AI answers: what actually helps (and what's myth)
Sooner or later someone files a ticket: "Add schema so we show up in ChatGPT." It sounds reasonable. Structured data is machine-readable, AI is a machine, so more markup must mean more AI visibility. It's not that simpl
Sooner or later someone files a ticket: "Add schema so we show up in ChatGPT." It sounds reasonable. Structured data is machine-readable, AI is a machine, so more markup must mean more AI visibility.
It's not that simple. Here's what the documentation actually says, what's worth shipping on a SaaS site, and which claims to push back on.
What Google says about schema and its AI features
Google's guide to AI features (AI Overviews and AI Mode) is blunt: there's no special schema.org markup you need to add to appear in them, and no special AI files either. A page has to be indexed and eligible to show with a snippet. That's the bar.
The same guide does list structured data among the usual best practices, with one condition: it should match what's visible on the page. Google's general structured-data policies say the same thing in stronger terms: don't mark up content readers can't see, and the markup must be "a true representation of the page content."
Two more points from those policies that matter here:
- Structured data makes a page eligible for a rich result. It doesn't guarantee one.
- Google doesn't describe structured data as a general ranking factor.
As for ChatGPT, Perplexity and Gemini outside Search: none of them, as far as I can find, publicly documents using schema.org markup to decide what to cite. That doesn't prove they ignore it. It means any "schema gets you cited by ChatGPT" claim is a guess.
So why bother?
Because structured data is still useful for what it was designed for:
- Rich results in Google, where a type is still supported.
- Clear entity facts: your product name, category, price and maker stated once, unambiguously, in one place.
- Consistency checks. Writing JSON-LD forces you to ask: is the price on the page the real price? Is the product name the same everywhere? Mismatches like that confuse people and machines alike.
Think of it as hygiene, not a growth hack.
What's worth shipping on a SaaS site
1. Organization on the home page
Tells search engines who you are and links your official profiles together.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Acme Invoices",
"url": "https://acme.example",
"logo": "https://acme.example/logo.png",
"sameAs": [
"https://www.linkedin.com/company/acme-invoices",
"https://www.youtube.com/@acmeinvoices"
]
}
</script>
Only list profiles you actually own and keep up to date.
2. SoftwareApplication on the product or pricing page
This is the type that can earn a software rich result in Google. Its documentation (checked October 2026) requires name, offers.price, and either aggregateRating or review. It recommends applicationCategory and operatingSystem.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Acme Invoices",
"applicationCategory": "BusinessApplication",
"operatingSystem": "Web",
"offers": {
"@type": "Offer",
"price": "19.00",
"priceCurrency": "EUR"
}
}
</script>
Notice what's missing: aggregateRating. Without real ratings this markup won't qualify for the rich result, and that's fine. Don't invent a rating to unlock it. Google's review snippet guidelines apply, ratings must be visible on the page, and breaking the guidelines can get your structured data ignored through a manual action. If you do show genuine reviews on the page, add aggregateRating that matches them exactly.
The markup is still worth having for clear entity facts, as long as the price matches the pricing table.
3. BreadcrumbList on docs and blog pages
Low effort, and it states your site's structure explicitly instead of leaving it to be guessed from URLs.
4. Article on blog posts
Author, date published, date modified. Keep dateModified honest: bumping it without changing the content is a well-known trick that helps nobody.
What to stop doing
-
FAQ markup for rich results. Google first limited FAQ rich results to authoritative government and health sites in 2023, and its Search Central changelog says the feature is no longer shown at all as of June 2026. Your FAQ section is still useful to readers; the
FAQPagemarkup won't get you a rich result. - Marking up content that isn't on the page. Hidden FAQs, ratings from somewhere else, a "price" that's really a starting price buried three clicks away. That's against the policies and tends to backfire.
- Selling schema as an AI-visibility fix. If a page isn't being cited, the likely reasons are more ordinary: the AI crawlers are blocked, the content is rendered only by JavaScript, or the page doesn't state the facts a buyer asks about.
A 10-minute checklist
[ ] JSON-LD (not microdata) in the server-rendered HTML, not injected after load
[ ] Organization on the home page, with sameAs only for profiles you control
[ ] SoftwareApplication on the product/pricing page; price matches the visible table
[ ] aggregateRating only if real reviews are visible on the same page
[ ] BreadcrumbList on docs/blog; Article with honest dates on posts
[ ] No FAQPage markup added for the sake of rich results
[ ] Validated with Google's Rich Results Test and the Schema Markup Validator
A note on the first line: if your markup is added by client-side JavaScript, crawlers that don't run JavaScript won't see it. Server-render it, or at least check the raw HTML with curl.
Where to put your energy instead
If the goal really is "show up in AI answers," three checks will tell you more than any amount of markup:
-
Can the AI crawlers fetch your key pages? Check
robots.txtand your CDN's bot settings for OAI-SearchBot, PerplexityBot and Googlebot. -
Is the important text in the HTML? Fetch the page with
curland search for your pricing and product description. - What do the engines actually say? Ask the questions your buyers ask, with search on, and look at who gets named and which pages get cited.
For the first check, we have a free AI crawler checker at Presence Scout that shows what your robots.txt allows and what your server actually returns to seven AI and search crawlers: https://presencescout.com/tools/ai-crawler-checker
Ship the schema, keep it truthful, and don't expect it to do a job it was never documented to do.
I'm Ankit, and I work on marketing at Presence Scout, which tracks how brands appear in AI answers and Google results. Sources: Google Search Central ("AI features and your website", "General structured data guidelines", "Software app structured data", Search Central changelog), read 21 October 2026.
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.