Technical Reference

JSON-LD for AEO

The schema.org JSON-LD reference filtered for Answer Engine Optimization. Six types matter, two matter most, and most of schema.org is irrelevant to AEO.

What is JSON-LD?

JSON-LD (JSON for Linked Data) is the structured-data format Google, Bing, and AI engines use to understand the entities on a webpage. You embed it in a <script type="application/ld+json"> block in the HTML and it sits invisible to humans but readable to bots.

The vocabulary comes from schema.org — a community standard with 800+ types. For AEO, you only need 6-8 of them.

Why AEO cares about JSON-LD

AI answer engines weight structured data heavily because it removes ambiguity. When ChatGPT decides whether to cite your page in an answer, structured data answers three questions in one shot:

  • What kind of entity is this? (Article, Product, Organization)
  • Who created it and when? (author, datePublished)
  • How does it relate to other things? (sameAs, isPartOf, mainEntity)
Internal data point: across our scanned sites, pages with FAQPage + Article JSON-LD are cited 2-4× more often than equivalent pages without.

Priority types for AEO

Of schema.org's 800+ types, these 6-8 are the only ones that move the AEO needle. Everything else is noise.

Type
Priority
Use on
Why
FAQPage
Highest
★★★★★
Any page with Q&A — docs, comparison, pricing FAQs.
Maps 1:1 to how AI structures answers.
Organization
Critical
★★★★★
Sitewide on homepage. The single canonical company description AI uses.
Defines who you are. Without it, AI infers identity from page content.
SoftwareApplication
High
★★★★
Homepage + product pages of any SaaS/web tool.
AEO equivalent of a product card. Includes pricing, ratings, features.
Article / TechArticle
High
★★★★
Every blog post, doc page, methodology page.
Authorship + date signals freshness and authority. TechArticle ranks higher for technical content.
BreadcrumbList
Recommended
★★★
Every non-homepage URL.
Helps AI place a page in your site's information hierarchy.
Product
Recommended
★★★
E-commerce or any sellable item with a price.
Triggers product cards in AI answers and shopping queries.
Person (founder)
Optional
★★
About page, founder bio.
Builds EEAT signals when AI looks up who's behind the company.
Review / AggregateRating
Optional
★★
Pages with verified customer reviews.
Star ratings in AI answers boost CTR.

Organization

The canonical sitewide entity describing your company. Without this, AI engines piece together your identity from page content — and often get it wrong.

Where to use: Every page that loads on your homepage subdomain. One Organization block per site is enough — Google deduplicates.
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "AIExposureTool",
  "url": "https://aiexposuretool.com",
  "logo": "https://aiexposuretool.com/logo.png",
  "description": "AI visibility audit for founders and developers. Helps your brand appear in ChatGPT, Perplexity, Claude, and Gemini answers.",
  "foundingDate": "2026-02-01",
  "sameAs": [
    "https://twitter.com/aiexposuretool",
    "https://linkedin.com/company/aiexposuretool",
    "https://github.com/aiexposuretool"
  ],
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "support",
    "email": "support@aiexposuretool.com",
    "url": "https://aiexposuretool.com/contact"
  }
}
Watch for
  • logo URL must be absolute (https://...) and resolve
  • sameAs should list every official social profile
  • contactPoint helps AI answer 'how do I contact X?' queries

SoftwareApplication

The product card. Tells AI engines pricing, category, ratings, and features in one block. Critical for SaaS and any web-based tool.

Where to use: Homepage and product/feature pages.
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "AIExposureTool",
  "url": "https://aiexposuretool.com",
  "applicationCategory": "BusinessApplication",
  "applicationSubCategory": "AI Visibility / SEO",
  "operatingSystem": "Web",
  "description": "AI visibility audit platform that scores how AI engines see your brand and generates the files needed to fix gaps.",
  "offers": [
    { "@type": "Offer", "name": "Free", "price": "0", "priceCurrency": "USD" },
    { "@type": "Offer", "name": "Starter", "price": "29", "priceCurrency": "USD" },
    { "@type": "Offer", "name": "Pro", "price": "79", "priceCurrency": "USD" },
    { "@type": "Offer", "name": "Agency", "price": "199", "priceCurrency": "USD" }
  ],
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "ratingCount": "120"
  },
  "featureList": [
    "AI Exposure Score 0-100",
    "Auto-generated llms.txt and llm.json",
    "Citation gap analysis",
    "Cross-platform tracking across 7 AI engines",
    "Security grade A-F"
  ]
}
Watch for
  • applicationCategory must be a valid schema.org enum (BusinessApplication, DeveloperApplication, etc.)
  • Use offers (array) for multiple pricing tiers — each as a separate Offer object
  • aggregateRating only if you have real reviews — fake numbers get penalized

FAQPage

The single highest-ROI schema for AEO. Maps directly to how AI engines structure answers — question + short authoritative answer.

Where to use: Pricing pages, product pages, doc pages, comparison pages — anywhere with 3+ Q&As.
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is AEO?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "AEO (Answer Engine Optimization) is the discipline of optimizing content so that AI answer engines like ChatGPT, Perplexity, and Google AI Overviews cite your brand in their responses."
      }
    },
    {
      "@type": "Question",
      "name": "How is AEO different from SEO?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "SEO ranks links on a results page. AEO earns citations inside the AI's generated answer. The user often never clicks through — they read the answer with your brand mentioned."
      }
    }
  ]
}
Watch for
  • Each Question.name must match an actual visible heading on the page
  • Each acceptedAnswer.text must be the visible answer (not a different version)
  • Don't stuff — 5-12 questions is the sweet spot

Article / TechArticle

Authorship + date signals for content. Use TechArticle for technical/dev-focused content (it ranks slightly higher in technical answers); Article for general blog posts.

Where to use: Every blog post, methodology, doc, and reference page.
{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "headline": "AI Visibility Complete Guide 2026",
  "description": "Step-by-step playbook for getting cited by ChatGPT, Perplexity, Claude, and Gemini.",
  "url": "https://aiexposuretool.com/blog/ai-visibility-complete-guide-2026",
  "image": "https://aiexposuretool.com/og/ai-visibility-guide.png",
  "datePublished": "2026-01-15",
  "dateModified": "2026-04-22",
  "author": {
    "@type": "Person",
    "name": "Raju Raman",
    "url": "https://aiexposuretool.com/about"
  },
  "publisher": {
    "@type": "Organization",
    "name": "AIExposureTool",
    "logo": {
      "@type": "ImageObject",
      "url": "https://aiexposuretool.com/logo.png"
    }
  },
  "proficiencyLevel": "Beginner",
  "keywords": "AEO, AI visibility, llms.txt, ChatGPT SEO"
}
Watch for
  • datePublished and dateModified are ISO 8601 strings — AI weights freshness heavily
  • author should be a real Person with a URL pointing to their bio
  • image must be a high-resolution OG image, not a placeholder

Product

For sellable items — paid plans, physical products, courses, services. Triggers product cards in AI shopping answers.

Where to use: Pricing tier pages, product detail pages, course landing pages.
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "AIExposureTool — Pro plan",
  "description": "50 tracked prompts across 7 AI platforms with industry benchmarks and 5 team seats.",
  "image": "https://aiexposuretool.com/og/pro-plan.png",
  "brand": { "@type": "Brand", "name": "AIExposureTool" },
  "offers": {
    "@type": "Offer",
    "price": "79",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://aiexposuretool.com/pricing"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "ratingCount": "120"
  }
}
Watch for
  • offers.availability must be a valid enum (InStock, OutOfStock, PreOrder)
  • price should be the actual current price — stale pricing in JSON-LD gets quoted by AI
  • brand is required for AI to attribute the product correctly

What to skip

Most schema.org types add zero AEO weight and just bloat your HTML. Skip these unless you have a specific search-feature reason:

WebSite
Useful for sitelink search box. Doesn't affect AEO citations.
WebPage
Redundant — Article/TechArticle already covers this.
ItemList
For ranked lists (top 10 X). Not weighted by AI engines.
VideoObject
Only matters if you publish video content; otherwise skip.
Recipe / Course / Event
Domain-specific. Skip if not relevant to your site.
Quotation / Speakable
Marginal AEO impact, awkward to maintain.

Validation

Run every JSON-LD block through a validator before deploy. A single malformed block can disqualify the whole page.

FAQ

Does JSON-LD actually help AI engines cite my site?

Yes. AI answer engines (ChatGPT, Perplexity, Google AI Overviews, Microsoft Copilot, Gemini) weight structured data heavily when generating answers. Pages with FAQPage and Organization JSON-LD are cited 2-4× more often than equivalent pages without — the structure makes the AI's job easier and it rewards that.

Which schema.org type matters most for AEO?

FAQPage. It maps 1:1 to how AI structures answers — a question and a short authoritative answer. Adding FAQPage to a single doc page typically lifts AI citation rate within 2-3 weeks.

Can I have multiple JSON-LD blocks on one page?

Yes — and you should. Most AEO-optimized pages have 2-4: BreadcrumbList + (Article OR TechArticle) + FAQPage + (Organization OR SoftwareApplication). Each goes in its own <script type='application/ld+json'> block in the <head>.

Where do I put JSON-LD?

Inside <script type='application/ld+json'> blocks, ideally in the <head>, but anywhere in HTML works. In Next.js App Router, use dangerouslySetInnerHTML inside a <script> tag in the page component.

Do I need to validate JSON-LD?

Yes. Run every block through Google's Rich Results Test and the Schema.org validator. A single malformed block can disqualify the entire page from rich snippets and reduce AI engine trust.

Get JSON-LD generated for your site

AIExposureTool scans your pages and generates the right JSON-LD blocks for each — Organization, SoftwareApplication, FAQPage, Article — ready to paste.