Skip to main content
Advanced · advanced

Schema Markup for AI Search [2026]: Implementation Guide

JSON-LD schema markup with code examples: what it does for rich results and accurate facts, what tests show about AI citations, and how to validate it.

Updated
20 min readRead
Read first

Before this guide, we recommend:

What You'll Learn

Schema markup states facts about a page in a machine-readable form: who wrote it, when, what organization publishes it, what a product costs. It earns rich results in Google and helps engines describe those facts accurately. Tests have not shown that it raises how often AI engines cite a page. This guide covers:

  • What schema does and does not do
  • Useful schema types
  • Implementation with JSON-LD
  • Testing and validation
  • Advanced schema strategies

What Schema Markup Does and Does Not Do

What it does

Schema provides explicit declarations instead of leaving facts to be inferred:

  • "This is an Article written by [Author], published on [Date]"
  • "This organization is located at [Address]"
  • "This product costs [Price]"

Search engines use these declarations for rich results (review stars, product prices, breadcrumbs), and engines can use them to state your facts correctly.

What it does not do

An Ahrefs difference-in-differences study (2026) found that adding JSON-LD had no significant effect on ChatGPT or Google AI Mode citations. AI answer engines quote the visible text of the pages they retrieve. If you want to be cited, the work that has evidence behind it is elsewhere: letting AI search crawlers reach the page, serving the main content without JavaScript, and answering the question directly with specific, sourced facts.

Treat schema as accuracy and rich-results work, and keep it consistent with the visible page.

Useful Schema Types

1. Organization Schema

Every site should have Organization schema on the homepage:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Your Company Name",
  "url": "https://yoursite.com",
  "logo": "https://yoursite.com/logo.png",
  "description": "What your company does in 1-2 sentences.",
  "foundingDate": "2020",
  "founders": [{
    "@type": "Person",
    "name": "Founder Name"
  }],
  "contactPoint": {
    "@type": "ContactPoint",
    "email": "contact@yoursite.com",
    "contactType": "customer service"
  },
  "sameAs": [
    "https://twitter.com/yourhandle",
    "https://linkedin.com/company/yourcompany",
    "https://github.com/yourcompany"
  ]
}

2. WebSite Schema

Implement site-wide with search functionality:

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Your Site Name",
  "url": "https://yoursite.com",
  "description": "Site description",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://yoursite.com/search?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}

3. Article Schema

For blog posts and articles:

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Article Title - Keep Under 110 Characters",
  "description": "Article description for search results",
  "image": "https://yoursite.com/article-image.jpg",
  "author": {
    "@type": "Person",
    "name": "Author Full Name",
    "url": "https://yoursite.com/team/author",
    "jobTitle": "Author's Title",
    "sameAs": [
      "https://twitter.com/author",
      "https://linkedin.com/in/author"
    ]
  },
  "publisher": {
    "@type": "Organization",
    "name": "Your Company",
    "logo": {
      "@type": "ImageObject",
      "url": "https://yoursite.com/logo.png"
    }
  },
  "datePublished": "2025-01-01T08:00:00+00:00",
  "dateModified": "2025-01-01T10:00:00+00:00",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://yoursite.com/blog/article-slug"
  }
}

4. FAQPage Schema

Use only where the questions and answers are visible on the page. Google shows FAQ rich results only for well-known government and health sites, and FAQ markup has not been shown to raise AI citations:

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is GEO?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "GEO (Generative Engine Optimization) is the practice of optimizing content for AI search engines like ChatGPT, Perplexity, and Google AI Overviews. It focuses on making content discoverable, understandable, and citation-worthy for AI systems."
      }
    },
    {
      "@type": "Question",
      "name": "How is GEO different from SEO?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "While SEO optimizes for ranking algorithms, GEO optimizes for AI understanding and citation. GEO emphasizes content structure, entity clarity, authority signals, and technical accessibility for AI crawlers."
      }
    }
  ]
}

5. HowTo Schema

For instructional content. Google no longer shows HowTo rich results, so this type is optional:

{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "How to Optimize Content for AI Search",
  "description": "Step-by-step guide to improving AI visibility",
  "totalTime": "PT30M",
  "step": [
    {
      "@type": "HowToStep",
      "position": 1,
      "name": "Allow AI Crawlers",
      "text": "Update your robots.txt to allow OAI-SearchBot, Claude-SearchBot, and PerplexityBot access to your content.",
      "url": "https://yoursite.com/guide#step-1"
    },
    {
      "@type": "HowToStep",
      "position": 2,
      "name": "Add Author Attribution",
      "text": "Include author names, bios, and credentials on all content pieces.",
      "url": "https://yoursite.com/guide#step-2"
    },
    {
      "@type": "HowToStep",
      "position": 3,
      "name": "Answer Directly",
      "text": "Put a direct answer with specific facts in the first paragraph, under a heading that names the topic.",
      "url": "https://yoursite.com/guide#step-3"
    }
  ]
}

6. Product/SoftwareApplication Schema

For product and pricing pages:

{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Your Product Name",
  "description": "What your product does",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Web browser",
  "offers": {
    "@type": "AggregateOffer",
    "lowPrice": "49",
    "highPrice": "199",
    "priceCurrency": "USD",
    "offerCount": "4"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "150"
  },
  "featureList": [
    "AI Visibility Scoring",
    "Citation Tracking",
    "Share of Voice Analysis",
    "Optimization Recommendations"
  ]
}

7. BreadcrumbList Schema

For navigation context:

{
  "@context": "https://schema.org",
  "@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": "Article Title",
      "item": "https://yoursite.com/blog/article-slug"
    }
  ]
}

Implementation Methods

Add JSON-LD in a script tag, typically in the head or end of body:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  ...
}
</script>

Multiple Schema Types

You can include multiple schema types on one page:

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    ...
  },
  {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    ...
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    ...
  }
]
</script>

Testing and Validation

Google Rich Results Test

https://search.google.com/test/rich-results

  • Validates schema syntax
  • Shows eligible rich results
  • Highlights errors and warnings

Schema.org Validator

https://validator.schema.org/

  • Validates against Schema.org spec
  • More comprehensive validation
  • Good for debugging

Testing Process

  1. Implement schema on page
  2. Test with Google Rich Results Test
  3. Fix any errors
  4. Verify in Schema.org validator
  5. Deploy and monitor in Google Search Console

Common Schema Mistakes

Mistake 1: Incorrect Data Types

// Wrong
"datePublished": "January 1, 2025"

// Correct
"datePublished": "2025-01-01T08:00:00+00:00"

Mistake 2: Missing Required Properties

Each schema type has required properties. Check Schema.org documentation.

Mistake 3: Markup Doesn't Match Visible Content

Schema should reflect what's actually on the page. Don't add schema for content that doesn't exist.

Mistake 4: Duplicate Schema

Avoid multiple instances of unique schema types (Organization, WebSite) unless intentional.

Advanced Schema Strategies

Nested Schema

Link related entities:

{
  "@type": "Article",
  "author": {
    "@type": "Person",
    "name": "Author Name",
    "worksFor": {
      "@type": "Organization",
      "name": "Your Company"
    }
  }
}

Speakable Schema

Mark content suitable for voice/audio:

{
  "@type": "Article",
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [".article-summary", ".key-points"]
  }
}

DefinedTerm for Glossaries

{
  "@context": "https://schema.org",
  "@type": "DefinedTerm",
  "name": "Generative Engine Optimization",
  "description": "The practice of optimizing content for AI search engines.",
  "inDefinedTermSet": {
    "@type": "DefinedTermSet",
    "name": "GEO Glossary"
  }
}

Next Steps

  1. Audit current schema implementation
  2. Implement Organization and WebSite schema
  3. Add Article schema to blog posts
  4. Add Product or SoftwareApplication schema with prices that match the page
  5. Test all implementations
  6. Monitor rich results in Search Console
Continue

What's next.

Ready for more? Continue with these guides.