Last updated July 2026.
What this checklist covers
Schema markup for answer engine optimization is not a single decision. It is a sequencing problem. You have nine JSON-LD types that genuinely matter for AI Overviews, ChatGPT, and Perplexity. You do not implement them all at once. You prioritize by signal strength, content fit, and implementation effort.
This checklist gives you the order, a copy-paste starter snippet for each type, and a plain account of what the current evidence actually says about schema and AI citation rates.
Before the list: the evidence is real and it is contradictory. Read the callout box below before you implement anything.
The priority table: 9 schema types, ordered
| Priority | Schema type | What it signals to AI engines | Implement when |
|---|---|---|---|
| 1 | FAQPage | Direct Q&A structure; maps to how answer engines parse question-and-answer content | Any page with 2 or more question-and-answer pairs |
| 2 | HowTo | Step-based procedural content; Perplexity and Google AI Overviews explicitly reward instruction sequences | Step-by-step guides, tutorials, processes |
| 3 | Article | Editorial content type, author, date, and headline; supports entity resolution and freshness signals | Blog posts, guides, editorial content |
| 4 | QAPage | Single-question focus with a primary accepted answer; distinct from FAQPage | Pages structured around one question |
| 5 | Organization | Entity identity: name, URL, logo, social profiles, contact; grounds AI entity resolution | Homepage, About page |
| 6 | Product | Product name, description, price, and availability; feeds product-knowledge graphs | Product pages, SaaS feature pages |
| 7 | Review / AggregateRating | Trust signal and sentiment context for AI engines aggregating opinions | Comparison pages, review roundups |
| 8 | BreadcrumbList | Site hierarchy and topical context; helps AI engines understand where a page sits in your content architecture | Site-wide on all pages |
| 9 | DefinedTerm | Precise term-definition pairs; directly answers “what is X” queries | Glossary entries, definition pages |
1. FAQPage
What it signals. AI engines consume FAQPage markup as pre-parsed question-and-answer blocks. The markup names each question and its accepted answer explicitly, removing ambiguity in content parsing. This is the closest structural analog to how an answer engine formats its own output.
When to add it. Any page that contains two or more question-and-answer pairs. Topic guides, explainer pages, help articles, and blog posts with an embedded FAQ section are all candidates.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is answer engine optimization?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Answer engine optimization (AEO) is the practice of structuring content so that AI systems select it as the direct answer to a user question, appearing in the answer box, AI Overview, or featured response rather than a list of links."
}
},
{
"@type": "Question",
"name": "How do I get into Google AI Overviews?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Focus on concise structured answers near the top of the page, implement FAQ and HowTo schema, earn citations on high-authority third-party sources, and monitor which featured answers you currently win or lose."
}
}
]
}
2. HowTo
What it signals. HowTo markup identifies a page as a procedural guide: it names the task, lists each step explicitly, and can include time estimates and required tools. Google AI Overviews and Perplexity both process step-based content for direct procedural answers.
When to add it. Any page that walks a reader through a sequence of distinct steps to accomplish a task. The markup works on short three-step guides as well as long technical walkthroughs.
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to add FAQ schema to a blog post",
"totalTime": "PT20M",
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Write your question-and-answer pairs",
"text": "Draft the questions your audience is actually asking. Keep each answer under 100 words and start with the direct answer."
},
{
"@type": "HowToStep",
"position": 2,
"name": "Build the JSON-LD block",
"text": "Create a script tag with type application/ld+json containing the FAQPage schema with a mainEntity array of Question objects."
},
{
"@type": "HowToStep",
"position": 3,
"name": "Validate and publish",
"text": "Run the JSON-LD block through Google's Rich Results Test to confirm it parses cleanly, then add the script tag to your page's head or body before publishing."
}
]
}
3. Article
What it signals. Article schema identifies the headline, author, publisher, and publication date. For AI engines doing entity resolution, author and publisher markup matters: it connects the content to known entities in the knowledge graph. Freshness signals (datePublished and dateModified) also feed into how engines weight content recency.
When to add it. Every editorial blog post, guide, and analysis piece. This is a baseline type: it costs very little and supports every other schema type on the page by grounding the content in a named entity and a publication timeline.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "The AEO Schema Checklist: 9 JSON-LD Types to Add",
"publisher": {
"@type": "Organization",
"name": "AEO Rankings",
"url": "https://www.aeo-rankings.com"
},
"datePublished": "2026-07-13",
"dateModified": "2026-07-13",
"description": "A prioritized JSON-LD implementation checklist for AI Overviews and answer engines."
}
4. QAPage
What it signals. QAPage is the right type when a page is built around a single question with one primary answer. It differs from FAQPage in that it expects a single main question at the top level, not a list. Use it for single-topic Q&A pages, community-style answer pages, or support articles that answer one question in depth.
When to add it. Pages structured around exactly one question. If you are writing a page titled “What is structured data?” and the entire page answers that one question, QAPage is more semantically precise than FAQPage.
{
"@context": "https://schema.org",
"@type": "QAPage",
"mainEntity": {
"@type": "Question",
"name": "What is structured data and why does it matter for AEO?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Structured data is machine-readable markup (most commonly JSON-LD) that you add to a page to tell search engines and AI systems what the content means, not just what it says. For AEO, structured data helps AI engines identify question-and-answer pairs, procedural steps, product details, and entity definitions without requiring them to infer structure from prose.",
"upvoteCount": 0,
"url": "https://www.aeo-rankings.com/glossary/structured-data"
}
}
}
5. Organization
What it signals. Organization schema anchors your brand as a known entity. AI engines use it to resolve who publishes content, to cross-reference your social profiles and official URLs, and to populate knowledge panels. Without Organization schema, your site relies on the engine inferring your identity from anchor text and third-party mentions.
When to add it. Your homepage and About page. Keep one canonical Organization block consistent across both pages. Do not create two conflicting Organization definitions with different names or URLs.
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "AEO Rankings",
"url": "https://www.aeo-rankings.com",
"logo": "https://www.aeo-rankings.com/logo.png",
"sameAs": [
"https://twitter.com/aeo_rankings",
"https://linkedin.com/company/aeo-rankings"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "editorial",
"email": "[email protected]"
}
}
6. Product
What it signals. Product schema names the product, describes it, and (when combined with Offer) includes pricing, availability, and SKU data. For AI engines answering “what tool should I use for X,” product schema gives them structured data to pull into comparative answers.
When to add it. Product pages and SaaS feature pages. If your business sells a service rather than a physical product, use Product schema with a Service type as a nested type, or use the Service type directly.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Temso",
"description": "AI visibility tracking and answer-box optimization platform covering 8 AI engines from $89/mo.",
"url": "https://temso.ai",
"offers": {
"@type": "Offer",
"price": "29",
"priceCurrency": "USD",
"priceSpecification": {
"@type": "UnitPriceSpecification",
"billingDuration": "P1M"
}
}
}
7. Review and AggregateRating
What it signals. Review schema contextualizes sentiment around a product or brand. AggregateRating rolls multiple reviews into a numerical summary. For AI engines synthesizing opinions, these types provide structured data that feeds directly into “what do users think of X” answer patterns.
When to add it. Comparison pages and review roundups where you are summarizing third-party ratings. Do not add AggregateRating for ratings you manufactured internally. Attach it only when the underlying review data is real and sourced.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "AthenaHQ",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.9",
"reviewCount": "33",
"ratingCount": "33",
"bestRating": "5",
"worstRating": "1"
},
"review": {
"@type": "Review",
"author": {
"@type": "Person",
"name": "Verified G2 User"
},
"reviewBody": "Best pure-play AEO platform for mid-market SaaS teams.",
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
}
}
}
8. BreadcrumbList
What it signals. BreadcrumbList communicates where a page sits inside your site hierarchy. For AI engines building topical context around a citation, knowing that a page lives at /blog/schema/faq-schema-guide rather than at the root level helps with content classification.
When to add it. Site-wide, on every page with a URL depth greater than one level. Your CMS or site framework may already generate breadcrumb markup automatically. Check your page source before adding a manual block.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Home",
"item": "https://www.aeo-rankings.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "Blog",
"item": "https://www.aeo-rankings.com/blog"
},
{
"@type": "ListItem",
"position": 3,
"name": "AEO Schema Checklist",
"item": "https://www.aeo-rankings.com/blog/aeo-schema-checklist-9-json-ld-types-add"
}
]
}
9. DefinedTerm
What it signals. DefinedTerm is the most direct markup you can give an AI engine for a glossary entry. It names the term and provides an explicit definition. Pages using DefinedTerm are strong candidates for “what is X” answer boxes because the markup tells the engine: this page contains a precise definition.
When to add it. Every glossary entry and definition page. If you have a /glossary section, every term page in it should carry DefinedTerm markup. See the /glossary for examples.
{
"@context": "https://schema.org",
"@type": "DefinedTerm",
"name": "Answer Engine Optimization",
"description": "The practice of structuring, formatting, and distributing content so that AI systems (including Google AI Overviews, ChatGPT, and Perplexity) select it as the direct answer to a user question, appearing in the answer box rather than in a ranked list of links.",
"inDefinedTermSet": {
"@type": "DefinedTermSet",
"name": "AEO Glossary",
"url": "https://www.aeo-rankings.com/glossary"
}
}
Implementing multiple types on a single page
Most pages benefit from more than one schema type. A blog post on FAQ schema, for example, should carry Article, FAQPage, and BreadcrumbList as three separate JSON-LD blocks (or as an array in one script tag).
The simplest correct format:
[
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Your page title",
"datePublished": "2026-07-13"
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": []
},
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": []
}
]
Do not nest unrelated schema types inside each other. Keep them as sibling blocks. Google’s Rich Results Test and Schema.org’s validator handle arrays cleanly.
Tools that help with schema for AEO
Schema implementation is a code task, but several tools reduce friction or surface errors:
HubSpot AEO Grader checks schema alongside other AEO readiness signals: answer-first formatting, FAQ structure, and page load speed. Useful for a fast diagnostic before you build out a full implementation.
Surfer surfaces structured-data recommendations in its Content Editor alongside NLP scoring. If you are writing content and optimizing simultaneously, it flags missing schema types without requiring a separate audit.
SE Ranking (SE Visible) runs a site audit that catches schema errors, missing required fields, and conflicting markup across your full URL set. Its AI Visibility Tracker also lets you test whether schema changes correlate with changes in AI answer coverage over time.
Temso generates FAQ schema as part of its content-fix workflow: you identify an answer box you are losing, and the platform outputs a content brief that includes the FAQ schema block. It covers all eight major AI engines (ChatGPT, Perplexity, Gemini, Google AI Overviews, Google AI Mode, Grok, Microsoft Copilot, Meta AI) and starts at $89/mo. Useful if you want to close the answer-box gap end-to-end rather than running schema as a standalone task.
The ground-truth validation tools remain Google’s Rich Results Test (search.google.com/test/rich-results) and the Schema.org validator. Always run your JSON-LD through one of these before publishing.
Where schema fits in the broader AEO picture
Schema markup is one layer of a complete answer-box strategy, not the whole strategy. The /rankings/aeo-tools review scores tools across the full loop: monitoring which answer boxes you are losing, generating the content and structured data to win them, and tracking whether citation rates shift.
The direct-answer formatting of your prose matters at least as much as the markup around it. According to a 2026 analysis of verified ChatGPT citations by growth advisor Kevin Indig, 44.2% of ChatGPT citations came from the first 30% of a page’s content. Schema markup signals structure. The content at the top of the page decides whether the engine has something worth citing.
Add schema. Write the direct answer first. Then measure. See /methodology for how this site evaluates evidence and tool claims.
Full AEO tool ranking with schema-support scores: /rankings/aeo-tools.