Search is splitting. In 2026, users don’t just search Google - they ask ChatGPT, query Perplexity, use Google AI Mode, and talk to voice assistants. Each of these systems consumes web content differently, but they share one thing: Schema.org structured data helps them understand, trust, and cite your content.
Traditional SEO got you into search results. AEO (Answer Engine Optimization) gets you into AI-generated answers. GEO (Generative Engine Optimization) gets you cited as a source in AI conversations. Schema.org is the bridge between your content and these AI systems.
Ranking on page one no longer guarantees organic traffic. If a language model cannot deconstruct your page into verifiable facts, your brand stays invisible in the answer the user actually reads. JSON-LD turns unstructured prose into explicit claims for generative engines.
Official references: Schema.org documents, Google structured data intro, and the W3C JSON-LD recommendation.
How AI search engines use Schema.org in 2026
Which schema types ChatGPT, Perplexity and Google AI use
| System | How it uses Schema.org | What it cites |
|---|---|---|
| Google AI Mode | FAQPage, HowTo, Product for structured answers | Pages with clear E-E-A-T signals |
| ChatGPT (Browse) | Article, Person, Organization for authority | Well-structured, factual content |
| Perplexity | Schema types for fact verification | Content with explicit sources |
| Voice assistants | Speakable, FAQPage for spoken answers | Concise, answer-first content |
| AI shopping | Product, AggregateRating, Offer | Stores with complete product data |
What structured data tells AI systems
Without structured data, AI systems must infer meaning from raw text - an error-prone process. With Schema.org, you explicitly tell AI:
- What your content is about (entities, topics)
- Who created it (author credentials, expertise)
- How reliable it is (ratings, reviews, citations)
- What questions it answers (FAQ, HowTo)
- Which parts are most important (Speakable)
Explicit signaling raises the chance of being selected as an answer source. It does not replace E-E-A-T, crawl access, or factual density on the page.
How to build a JSON-LD @graph in WordPress
A common failure mode is fragmented schema. Many plugins emit three separate <script type="application/ld+json"> blocks: one for the site, one for the author, one for the article. Each block looks like an isolated island, so crawlers must guess whether the author in block A belongs to the organization in block B.
The durable approach is one connected knowledge graph via the JSON-LD @graph key. Give every entity a stable @id (absolute URL fragment) and cross-reference nodes by those IDs.
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
"@id": "https://wppoland.com/#organization",
"name": "WPPoland",
"url": "https://wppoland.com",
"sameAs": ["https://github.com/wppoland"]
},
{
"@type": "Person",
"@id": "https://wppoland.com/#author",
"name": "Mariusz Szatkowski",
"jobTitle": "WordPress developer",
"worksFor": { "@id": "https://wppoland.com/#organization" }
},
{
"@type": "TechArticle",
"@id": "https://wppoland.com/en/schema-org-ai-search-aeo-geo-guide-2026/#article",
"headline": "Schema.org for AI Search",
"inLanguage": "en",
"author": { "@id": "https://wppoland.com/#author" },
"publisher": { "@id": "https://wppoland.com/#organization" },
"mainEntityOfPage": "https://wppoland.com/en/schema-org-ai-search-aeo-geo-guide-2026/"
}
]
}When an AI crawler reads that page, it sees a verified person tied to an established organization publishing the article. That strengthens E-E-A-T signals far more than three disconnected script tags with the same strings.
Which structured data helps you appear in AI answers
How to write FAQPage schema that AI answers cite
FAQPage schema maps questions to answers - the shape answer engines need. When ChatGPT or Google AI Mode encounters a query matching your FAQ, it can cite your answer with higher confidence.
{
"@type": "QAPage",
"mainEntity": [
{
"@type": "Question",
"name": "How much does a WordPress website cost?",
"acceptedAnswer": {
"@type": "Answer",
"text": "WordPress website costs vary by complexity..."
}
}
]
}Best practices for AI-oriented FAQ:
- Answer the exact question in the first sentence (answer-first)
- Include specific numbers, dates, methods, or constraints when you have them
- Keep answers concise; long marketing essays rarely get cited intact
- Phrase
namethe way real users ask, not how a brochure titles a section
How to mark answer sections with Speakable
Speakable schema tells AI which sections of your page are most suitable for spoken or AI-generated answers:
{
"@type": "WebPage",
"speakable": {
"@type": "SpeakableSpecification",
"cssSelector": [".aeo-who", ".aeo-what", ".aeo-pricing"]
}
}Mark your most concise, answer-first sections as speakable. Multimodal assistants use these selectors to find paragraphs suitable for summary or speech.
How to mark up step-by-step guides with HowTo
HowTo schema provides structured instructions that AI can display as formatted steps:
{
"@type": "HowTo",
"name": "How to Migrate WordPress to Astro",
"step": [
{
"@type": "HowToStep",
"name": "Audit current site",
"text": "Document all content, URLs, and functionality..."
}
]
}Tutorial-style assistants prefer HowTo when tools and timing are explicit, not when the steps are vague marketing copy.
Product and AggregateRating schema for AI shopping
AI shopping assistants (Google AI Mode Shopping and similar surfaces) use Product schema to recommend and compare products:
{
"@type": "Product",
"name": "WordPress Development Service",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "5",
"ratingCount": "127"
}
}Without Product schema, shopping assistants have little structured inventory to compare. Keep Offer fields honest: currency, availability, and taxes must match what the buyer sees.
Article and Person schema for E-E-A-T in AEO
AI systems assess author credibility. Article schema with a detailed Person author helps:
{
"@type": "Article",
"author": {
"@type": "Person",
"name": "Mariusz Szatkowski",
"jobTitle": "Senior WordPress Developer",
"sameAs": ["https://linkedin.com/in/...", "https://github.com/..."],
"knowsAbout": ["WordPress", "WooCommerce", "Headless CMS"]
}
}How to link entities to Wikidata with about and mentions
The about and mentions properties with Wikidata URLs connect your content to the Knowledge Graph and reduce entity ambiguity:
{
"@type": "Article",
"about": [
{ "@type": "Thing", "name": "WordPress", "url": "https://www.wikidata.org/wiki/Q13166" },
{ "@type": "Thing", "name": "Web Performance", "url": "https://www.wikidata.org/wiki/Q104618838" }
]
}This tells AI systems exactly which entities your content discusses. For commercial sites, pair Wikidata with organization identifiers you already publish (company registry URLs, GitHub org, LinkedIn company page) via sameAs on the Organization node - not invented IDs.
How to add Schema.org JSON-LD to WordPress
Custom JSON-LD in wp_head (recommended)
Generate schema programmatically in your theme or components. Prefer one @graph emitter over stacking plugin islands. This gives full control over every property:
// WordPress: output schema in wp_head
add_action('wp_head', function() {
$schema = [
'@context' => 'https://schema.org',
'@type' => 'FAQPage',
'mainEntity' => get_faq_items()
];
echo '<script type="application/ld+json">' . json_encode($schema) . '</script>';
});Schema from Yoast SEO or Rank Math
Both plugins generate basic schema automatically. They are fine for defaults, but often struggle with custom @graph relationships, Speakable selectors, and Wikidata about/mentions. If you keep a plugin, treat it as a baseline and inject the missing graph edges yourself - or disable its JSON-LD and own the graph end to end.
Schema in Astro or Next.js components
In headless architectures, schema is generated by frontend components:
---
// Astro: Schema component
const schema = {
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": faqItems.map(item => ({
"@type": "Question",
"name": item.question,
"acceptedAnswer": { "@type": "Answer", "text": item.answer }
}))
};
---
<script type="application/ld+json" set:html={JSON.stringify(schema)} />How to allow GPTBot and PerplexityBot in robots.txt
Schema has little value if you block the indexing agents that need to read it. Fear of scraping leads some sites to disallow every bot; the side effect is disappearance from Perplexity and ChatGPT Search citations.
A balanced robots.txt allows search-oriented AI agents while still protecting admin and internal search:
# Allow AI crawlers
User-agent: GPTBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: anthropic-ai
Allow: /Without crawl access, AI systems cannot discover your content regardless of how good your schema is. Check access logs for those user-agents after deploy so you know the allow rules actually fire.
How to write content that AI answer engines cite
How to put the answer in the first paragraph
AI systems extract the first clear answer they find. Put the conclusion in the opening paragraph:
Weak for AI: “WordPress is a content management system that was created in 2003 by Matt Mullenweg and Mike Little. It has evolved significantly over the years…”
Stronger for AI: “WordPress project cost depends on scope: a brochure site, a WooCommerce catalog, and a headless rebuild are different engineering jobs. Scope the integrations, content model, and hosting constraints before you quote.”
How to name entities explicitly
Be explicit about what entities you discuss. Do not assume context:
Weak: “It’s faster than the alternative and more secure.” Stronger: “Astro ships a static frontend by default, which removes runtime PHP on the public HTML path and shrinks the SQL injection surface compared with a classic WordPress theme that renders every request.”
How to replace superlatives with verifiable facts
AI systems prefer claims a human can verify:
Weak: “We’re one of the best WordPress agencies with lots of experience.” Stronger: “WPPoland has shipped WordPress work since 2006 across agency and product teams. Cite your own measurable delivery notes (releases, audits, migrations) rather than empty superlatives.”
GEO and AEO schema checklist for WordPress
- FAQPage schema on service and key blog pages
- Speakable marking answer-first sections
- HowTo on tutorial and guide content
- Product + AggregateRating only where ratings are real and visible
- Article + Person with author credentials and stable
@idlinks - Entity linking (
about/mentions) with Wikidata URLs - One connected
@graphinstead of plugin islands - robots.txt allows GPTBot, PerplexityBot, ClaudeBot (as policy allows)
- Answer-first structure on key pages
- Explicit entity names (no ambiguous pronouns)
- Freshness signals (
lastVerified,dateModified) that match reality - Optional
llms.txtfor an AI-oriented site description
Validate regularly with Google Rich Results Test and a Schema.org validator. Markup that does not match visible content is a liability, not an AEO shortcut.
How to measure AI search visibility
How to check AI citations manually
- Search your brand and key topics in ChatGPT, Perplexity, and Google AI Mode
- Check whether your URLs appear as cited sources
- Track which pages get citations after schema and content changes
AI visibility signals in Search Console and analytics
- Google Search Console: queries and landing pages that look answer-shaped
- Referral traffic from Perplexity (often
perplexity.aiin analytics) - Brand mention monitoring across AI surfaces you care about
Which schema to implement first for AI search
Schema.org is no longer only about Google rich results. It is the vocabulary answer engines use to understand, trust, and cite your pages. In 2026, thin markup and blocked AI crawlers leave you invisible on a discovery channel that already sits next to classic SERPs.
Ship the graph: FAQPage, Speakable, HowTo where they fit, Product only when honest, Person/Organization linked by @id, and Wikidata entity links. Open robots.txt for the crawlers you want citations from. Write answer-first copy with facts you can defend. Then re-test after every template change.
Need help with AEO/GEO work? Explore our GEO and LLMO optimization services or contact us for an AI visibility assessment.
For the delivery side of this topic we keep the work under WordPress AI integration.






