AI engines extract facts from structured data faster and more reliably than from prose. Pages without schema force engines to parse paragraphs to find dates, authors, prices, ratings — they often miss or misextract. Pages with comprehensive schema get cited 2-3x more for the same content. This guide covers the schema types AI engines extract most reliably and the implementation order.
| Schema | What AI extracts | Citation impact |
|---|---|---|
| Organization | Brand entity (name, logo, sameAs) | Foundation — needed by everything else |
| Person (author) | Authority signals, credentials | Very high — author-attributed citations |
| Article + author + datePublished | Content provenance, freshness | Very high — date-sensitive queries |
| FAQPage | Q&A atoms ready for extraction | Highest for "how does X work" queries |
| HowTo | Step-by-step instructions | High for procedural queries |
| Product + offers | Price, availability, brand | High for commerce queries |
| LocalBusiness | Address, hours, phone | High for local-intent queries |
| Recipe | Ingredients, time, yield | High for cooking queries |
| Event | Date, location, ticket URL | High for "when is X" queries |
| BreadcrumbList | Site hierarchy context | Modest — helps disambiguation |
Add to every page (in template / layout):
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://example.com/#organization",
"name": "Acme Corp",
"url": "https://example.com",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png",
"width": 600,
"height": 60
},
"description": "B2B SaaS for [specific category]",
"sameAs": [
"https://linkedin.com/company/acme",
"https://twitter.com/acmecorp",
"https://github.com/acmecorp"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+44-1273-555-012",
"contactType": "customer service",
"email": "hello@example.com",
"areaServed": "GB"
}
},
{
"@type": "WebSite",
"@id": "https://example.com/#website",
"url": "https://example.com",
"name": "Acme",
"publisher": { "@id": "https://example.com/#organization" },
"potentialAction": {
"@type": "SearchAction",
"target": "https://example.com/search?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
]
}
</script>
On every blog post, guide, news article:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Person",
"@id": "https://example.com/authors/jane-baker#person",
"name": "Jane Baker",
"jobTitle": "Sales Operations Lead",
"url": "https://example.com/authors/jane-baker",
"image": "https://example.com/authors/jane-baker.jpg",
"sameAs": [
"https://linkedin.com/in/janebaker",
"https://twitter.com/janebaker"
]
},
{
"@type": "Article",
"@id": "https://example.com/blog/post-1#article",
"headline": "How to choose a CRM",
"description": "Decision framework for B2B teams choosing first CRM.",
"image": "https://example.com/blog/post-1/cover.jpg",
"datePublished": "2026-01-15T09:00:00Z",
"dateModified": "2026-04-22T14:30:00Z",
"author": { "@id": "https://example.com/authors/jane-baker#person" },
"publisher": { "@id": "https://example.com/#organization" },
"mainEntityOfPage": "https://example.com/blog/post-1"
}
]
}
</script>
The @id references close the graph — AI engines build the strongest entity signal when Article → author → Person and Article → publisher → Organization all link via @id. See schema references for details.
For any page with Q&A content, add FAQPage schema. Each Q/A becomes an extractable atom:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What does a CRM cost for a small team?",
"acceptedAnswer": {
"@type": "Answer",
"text": "A CRM for a 5-25 person team typically costs £30-£150 per user per month. Entry-level options start at £15-£30; mid-tier at £50-£90; enterprise exceeds £150."
}
},
{
"@type": "Question",
"name": "Can I switch CRMs later?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Yes, but expect 3-6 weeks of migration work. Export from old, clean fields, map to new schema, import in batches. Plan for downtime in sales reporting during transition."
}
}
]
}
</script>
Tip: 3-8 FAQ items per page is the sweet spot. Beyond that, AI engines treat the page as primarily Q&A and may downweight other content. Real questions only — fabricated FAQs detected and penalised.
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to set up Google Search Console",
"totalTime": "PT30M",
"step": [
{
"@type": "HowToStep",
"name": "Sign in to Search Console",
"text": "Go to search.google.com/search-console and sign in with the Google account you'll use to manage the property."
},
{
"@type": "HowToStep",
"name": "Add your property",
"text": "Click 'Add property' and choose Domain (recommended) or URL prefix. Domain captures all subdomains and protocols."
},
{
"@type": "HowToStep",
"name": "Verify ownership",
"text": "Add the TXT record to your DNS or upload the HTML file. Wait 5 minutes after DNS update for verification to succeed."
}
]
}
HowTo schema pairs with HowTo on-page content; AI engines extract the steps and cite them when answering "how do I X".
{
"@type": "Product",
"name": "Blue Widget",
"image": "https://example.com/widget.jpg",
"description": "Hand-thrown ceramic widget, 12cm.",
"sku": "WID-BLU-12",
"brand": { "@type": "Brand", "name": "Acme" },
"offers": {
"@type": "Offer",
"url": "https://example.com/widget",
"priceCurrency": "GBP",
"price": "29.00",
"availability": "https://schema.org/InStock",
"priceValidUntil": "2026-12-31"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "142"
}
}
For commerce queries ("how much does X cost", "is X in stock"), Product schema with offers is what AI engines extract.
Week 1: Organization + WebSite + BreadcrumbList (site-wide template) Week 2: Article schema on all blog/guide pages, with named Person author Week 3: Per-content-type: Product (ecommerce), LocalBusiness (services), Recipe (food) Week 4: FAQPage schema on Q&A pages, HowTo on guides Week 5: Validate all with Rich Results Test, fix warnings Week 6: Monitor AI Visibility Tracker — expect first lift within 4-8 weeks
Schema improvements show in citation tracking within 4-8 weeks.
Run AI Visibility Tracker →