Schema.org for AI Search: How to Appear in ChatGPT, Perplexity, and Google AI Mode

Schema.org for AI Search: How to Appear in ChatGPT, Perplexity, and Google AI Mode

Last verified: September 22, 2026
10 min read
Guide
500+ WP projects
Technical SEO

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

SystemHow it uses Schema.orgWhat it cites
Google AI ModeFAQPage, HowTo, Product for structured answersPages with clear E-E-A-T signals
ChatGPT (Browse)Article, Person, Organization for authorityWell-structured, factual content
PerplexitySchema types for fact verificationContent with explicit sources
Voice assistantsSpeakable, FAQPage for spoken answersConcise, answer-first content
AI shoppingProduct, AggregateRating, OfferStores 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 name the 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"]
  }
}

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

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 @id links
  • Entity linking (about/mentions) with Wikidata URLs
  • One connected @graph instead 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.txt for 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.ai in analytics)
  • Brand mention monitoring across AI surfaces you care about

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.

Next step

Turn the article into an actual implementation

This block strengthens internal linking and gives readers the most relevant next move instead of leaving them at a dead end.

Want this implemented on your site?

If visibility in Google and AI systems matters, I can build the content architecture, FAQ, schema, and internal linking needed for SEO, GEO, and AEO.

Related cluster

Explore other WordPress services and knowledge base

Strengthen your business with professional technical support in key areas of the WordPress ecosystem.

What is AEO (Answer Engine Optimization)?#
AEO is the practice of optimizing content to be selected as answers by AI systems like ChatGPT, Perplexity, Google AI Mode, and voice assistants. It focuses on clear answer-first content, structured data, entity clarity, and authoritative sourcing - going beyond traditional SEO which targets search result rankings.
What is GEO (Generative Engine Optimization)?#
GEO is the practice of making content visible and citable by generative AI systems. While AEO focuses on being selected as an answer, GEO focuses on being included in AI-generated responses as a source. Key GEO signals include authoritative content, entity coverage, structured data, and E-E-A-T signals.
Which Schema.org types matter most for AI search?#
FAQPage (directly feeds AI answers), Speakable (voice/AI section marking), HowTo (step-by-step answers), Product with AggregateRating (AI shopping), Article with author Person (E-E-A-T), and entity linking via about/mentions with Wikidata URLs.
Does Google AI Mode use Schema.org?#
Yes. Google AI Mode parses structured data to understand topical structure, double-check surfaced facts, and ground citations in machine-readable excerpts. Coverage across Schema.org entities still correlates strongly with inclusion in synthetic answers.
How do I optimize for ChatGPT and Perplexity?#
Focus on clear, factual content with explicit entity references. Use Schema.org for structure. Ensure your site is crawlable (allow GPTBot and PerplexityBot in robots.txt). Publish authoritative, well-sourced content that AI models can confidently cite.
Is Schema.org enough for AI visibility?#
Schema.org is one pillar. You also need high-quality content with clear entities, E-E-A-T signals (author expertise, credentials), accessible site structure, and proper robots.txt configuration allowing AI crawlers.
Why prefer a single JSON-LD @graph over separate script tags?#
A @graph ties Organization, Person, and Article nodes with stable @id references. Separate script islands force crawlers and models to guess whether the author in block A belongs to the organization in block B.
Can too much Schema.org markup get you penalized?#
Yes. Structured data that does not match visible page content is misleading markup. Google can issue manual actions and drop rich results. Mark up only what the user can see.

Need an FAQ tailored to your industry and market? We can build one aligned with your business goals.

Let’s discuss

Related Articles

Why Perplexity cites your brand and ChatGPT does not

Our own Geoboard baseline showed Perplexity as the strongest engine and ChatGPT with zero presence across eight tracked prompts in the same run. Here is the mechanism behind that split, and what it means for procurement, evaluators, and agencies reporting AI visibility to clients.

AI-slop content cleanup

A YMYL diagnostic for WordPress sites: how to find fake stats, fabricated citations, duplicate AI pages, wrong dates, and invented team bios before they damage trust, compliance, or AI citations.