Back to Blog
Guides#Schema Markup#SEO#Technical

Schema Markup for AI Visibility: A Practical Guide

By Liwaa BeainiFebruary 10, 20265 min read
Guide article cover for “Schema Markup for AI Visibility: A Practical Guide” — 99Visibility

Schema markup for AI visibility is the most-sold recommendation in Generative Engine Optimization, and the least supported. We used to sell it too. This guide is the corrected version: what Google actually says, what the one controlled experiment found, what schema is still good for, and the single check that does matter — every fact in your JSON-LD must also be in your visible text.

What the Evidence Says

Google, in its AI features guidance (updated 2026-07-10): "Structured data isn't required for generative AI search, and there's no special schema.org markup you need to add." That is the operator of the largest AI surface saying the markup is not a requirement and no AI-specific type exists.

Ahrefs ran the only matched-control test we know of (published 2026-05-11): 1,885 pages that added schema, three matched controls each, tracked August 2025 to March 2026. Result: no uplift on any platform, and AI Overview citations fell 4.6% — statistically significant. Their boundary condition matters: every page already had 100+ AI Overview citations, so whether schema helps a page enter the set is untested, not refuted.

Wrong pricing is still the number-one hallucination category we see in audits. The plausible cause is not missing markup. It is your own site stating the price two different ways — a table says $49, an FAQ says $59, the footer says "from $41" — and no engine documents reading a fact that exists only in JSON-LD to break the tie.

Which Schema Types Still Do Something

1. FAQ Schema (FAQPage) — retired

Google deprecated FAQ rich results on 2026-05-07 and removed the FAQPage documentation on 2026-06-15. The markup no longer produces anything in Google Search. Google says leaving existing markup in place does no harm, so there is no need to rip it out — but there is nothing to gain by adding it. Keep the questions and answers as visible text; drop the expectation that the markup does work.

Where it used to go: Pricing page, product pages, homepage. The example below is kept for reference only.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is 99Visibility?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "99Visibility is a GEO tool that audits how AI platforms like ChatGPT, Perplexity, and Google AI describe your brand, then gives you specific recommendations to fix inaccuracies and improve visibility."
      }
    },
    {
      "@type": "Question",
      "name": "How much does 99Visibility cost?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Plans start at $49/month for Starter, $99/month for Growth, and $149/month for Pro. A free trial is available."
      }
    }
  ]
}
</script>

2. Organization Schema — disambiguation

Organization schema states your name, URL, logo and social profiles in one place. Google uses it for knowledge-panel and brand-name disambiguation in Search. That is the honest use: if your brand name is also a common word, this is where you say which one you are. It does not make AI more likely to cite you, and every field in it must match your visible About page.

Where to add it: Homepage (site-wide via layout).

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "99Visibility",
  "url": "https://www.99visibility.com",
  "logo": "https://www.99visibility.com/logo.png",
  "description": "GEO tool that audits and improves how AI platforms describe your brand.",
  "sameAs": [
    "https://www.linkedin.com/company/99visibility/",
    "https://x.com/9Visibilit27960",
    "https://www.facebook.com/people/99Visibility/61568011761123/",
    "https://www.youtube.com/@99Visibility"
  ]
}
</script>

3. Product Schema — still a Google rich result

Product schema still powers product snippets and merchant listings in Google Search. That is a real, current reason to have it. For AI answers the useful part is parity: the price in the Offer must be the same price a crawler reads in your raw HTML. If they disagree, you have published a contradiction, and a contradiction is the one thing you can be sure an engine cannot resolve correctly.

Where to add it: Pricing page, individual product/plan pages.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "99Visibility Growth Plan",
  "description": "AI visibility auditing and recommendations for growing brands.",
  "offers": {
    "@type": "Offer",
    "price": "99.00",
    "priceCurrency": "USD",
    "priceValidUntil": "2026-12-31",
    "availability": "https://schema.org/InStock"
  }
}
</script>

4. HowTo Schema — retired

Google removed HowTo rich results in September 2023. There is no AI engine that documents reading it. Write the steps as a numbered list in visible text and skip the markup.

Where to add it: Nowhere new.

Testing Your Schema

  1. Google Rich Results Test: Validates that your schema is syntactically correct and eligible for rich results.
  2. Schema.org Validator: Checks compliance with schema.org specifications.
  3. Parity check: Extract every fact from the JSON-LD and confirm each one appears in the page's raw HTML with JavaScript disabled. A fact that is only in the schema is invisible to every crawler except Google's.

Common Schema Mistakes

  1. Adding schema but with outdated data. Schema with last year's pricing is worse than no schema — it reinforces wrong information.
  2. Facts that live only in the schema. An aggregate rating, a founding year or a price that appears in the JSON-LD and nowhere in the visible text is a fact no AI crawler will ever read — and Google's guidelines require markup to reflect what users see.
  3. Adding schema to move an AI score. It will not. The best available test found a small negative. Add it for the Google rich results that still exist, and for nothing else.
  4. Forgetting to update after changes. Launched a new plan? Changed pricing? Updated your team page? Update the schema too.
  5. Invalid JSON-LD syntax. A missing comma breaks the entire schema block. Always validate after implementation.

For deeper guidance on schema strategy, visit our academy schema module. You can also use our schema generator tool to create valid JSON-LD without writing code.

Check Parity, Not Presence

The question is no longer "do you have schema" but "does your schema agree with your page." Sign up for 99Visibility and run an audit. We show you which facts are in your markup but not in your visible text, and where your own pages contradict each other.

Share

Ready to see what AI says about your brand?

Run your first audit free. Get visibility scores, detect hallucinations, and get specific fixes.

Start Free Audit

Related Articles

Schema Markup for AI Visibility: Practical Guide | 99Visibility