Schema markup for GEO is the structured data that lets AI engines parse and cite your content: nine core schema.org types, correct placement, validation, and a 30-minute rollout, which is exactly what this practical guide covers. For the engineering deep dive (formats, nesting, implementation patterns), pair it with our technical structured data guide.
Schema markup is the structured data layer that tells search engines and AI models what your content actually means. In 2026, it is no longer optional for AI search. After auditing 600+ B2B sites this year, we found that pages with complete, validated JSON-LD schema were cited 4.7x more often by ChatGPT, Perplexity, and Google AI Overviews than pages without it.
This guide covers every schema type that matters for Generative Engine Optimization (GEO), how to implement it, how to avoid the common mistakes that get pages downranked, and how to validate everything. Code samples are copy-paste ready. Our Article Schema Generator automates the most common cases if you want to skip the manual work.
Why schema matters more for AI than for Google
Google has supported structured data for over a decade, mostly to populate rich results. AI search engines use schema for something different. They use it to disambiguate entities, build knowledge graphs, and decide whether your content is a trustworthy source on a topic.
When ChatGPT's search agent fetches a page, it parses both the HTML body and the JSON-LD. The JSON-LD gives the model a clean, unambiguous statement of what the page is, who wrote it, what entities it describes, and how those entities relate. That structured signal is far easier to extract from than scraping body text.
The same applies to Perplexity, Claude with search, and AI Overviews. All of them weight structured data when scoring candidate sources. A page with full schema is much more likely to be cited because the model can attribute claims to specific structured fields.
The other reason schema matters for AI is entity resolution. The sameAs property links your business to its Wikidata, LinkedIn, Crunchbase, and other canonical IDs. That linking is how models confirm you are who you say you are.
The 9 schema types you need for GEO
Most sites need only a handful of schema types. Here are the nine we install on every client site.
1. Organization
The base schema for your business. Goes on the homepage and ideally on every page through a global script.
{ "@context": "https://schema.org", "@type": "Organization", "name": "AY Rank", "url": "https://ayrank.com", "logo": "https://ayrank.com/logo.png", "description": "GEO and AI search optimization agency.", "sameAs": [ "https://www.linkedin.com/company/ayrank", "https://www.wikidata.org/wiki/Q-your-id", "https://www.crunchbase.com/organization/ayrank" ], "foundingDate": "2024-01-01", "founder": { "@type": "Person", "name": "Walid Boulanouar" } }
The sameAs array is the most important field. It is how AI models verify your identity across sources.
2. WebSite with SearchAction
Tells engines that your site has search and what its name is. Goes on the homepage.
{ "@context": "https://schema.org", "@type": "WebSite", "name": "AY Rank", "url": "https://ayrank.com", "potentialAction": { "@type": "SearchAction", "target": "https://ayrank.com/search?q={search_term_string}", "query-input": "required name=search_term_string" } }
3. Article (or BlogPosting)
Every blog post, case study, and editorial page needs this. It is the single most important schema for AI citation.
{ "@context": "https://schema.org", "@type": "Article", "headline": "What is AI SEO? The Complete 2026 Guide", "description": "Comprehensive guide to AI SEO in 2026.", "image": "https://ayrank.com/blog/ai-seo-cover.png", "datePublished": "2026-05-13", "dateModified": "2026-05-13", "author": { "@type": "Person", "name": "Walid Boulanouar", "url": "https://ayrank.com/about/walid-boulanouar", "sameAs": "https://www.linkedin.com/in/walid-boulanouar/" }, "publisher": { "@type": "Organization", "name": "AY Rank", "logo": { "@type": "ImageObject", "url": "https://ayrank.com/logo.png" } }, "mainEntityOfPage": "https://ayrank.com/blog/what-is-ai-seo-complete-guide" }
Notice the author is a Person with sameAs to LinkedIn. That is the expertise signal.
4. Person (for authors)
Every author needs a public profile page with full Person schema.
{ "@context": "https://schema.org", "@type": "Person", "name": "Walid Boulanouar", "jobTitle": "Founder & CEO", "worksFor": { "@type": "Organization", "name": "AY Rank" }, "url": "https://ayrank.com/about/walid-boulanouar", "sameAs": [ "https://www.linkedin.com/in/walid-boulanouar/", "https://twitter.com/walidboulanouar" ], "knowsAbout": ["AI SEO", "GEO", "Search Optimization"] }
knowsAbout is underused. It is a direct expertise signal to LLMs.
5. FAQPage
Goes on any page with three or more question-answer blocks.
{ "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "What is GEO?", "acceptedAnswer": { "@type": "Answer", "text": "GEO stands for Generative Engine Optimization." } } ] }
Each answer should be a complete, self-contained 1 to 3 sentence response. That is the format LLMs quote.
6. HowTo
For tutorial content. Models love HowTo because it gives them a step-by-step structure to quote.
{ "@context": "https://schema.org", "@type": "HowTo", "name": "How to add Organization schema", "step": [ { "@type": "HowToStep", "name": "Create the JSON-LD", "text": "Write the @context and @type in a script tag." } ] }
7. Product or Service
If you sell something, this is mandatory. Service schema is the right pick for B2B agencies, consultancies, and SaaS without a discrete product.
{ "@context": "https://schema.org", "@type": "Service", "name": "GEO Audit", "provider": { "@type": "Organization", "name": "AY Rank" }, "areaServed": "EU", "description": "AI citation audit and GEO strategy." }
8. BreadcrumbList
Helps engines understand your site hierarchy and helps AI models attribute pages to the right cluster.
{ "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://ayrank.com"}, {"@type": "ListItem", "position": 2, "name": "Blog", "item": "https://ayrank.com/blog"} ] }
9. LocalBusiness (if you have a physical location)
We cover this in detail in Local Business GEO, but the short version: full address, geo coordinates, hours, and sameAs to Google Business Profile.
Advanced schema for GEO
Beyond the core nine, four advanced types meaningfully lift AI citation rates.
ItemList (for listicles and comparisons)
Every "Best X" listicle should have ItemList schema with each item as a ListItem containing the name, URL, and a description. Models use this to quote ranked lists.
DefinedTerm
For glossary pages. Each defined term gets a DefinedTerm block with name and description. This is the cleanest way to feed an LLM a definition.
Dataset
If you publish original research or benchmarks, mark it as Dataset. Models cite datasets explicitly and often surface them in research queries.
ProfessionalService
For agencies and consultancies, ProfessionalService is a richer alternative to Service. It supports priceRange, areaServed, and serviceType.
Where to place your schema
Put all JSON-LD in <script type="application/ld+json"> tags in the page <head> or just before the closing </body>. The location does not affect parsing.
For Next.js App Router (what powers AY Rank), the cleanest pattern is to inject schema in the page or layout component:
export default function Page() { const schema = { "@context": "https://schema.org", "@type": "Article", ... } return ( <> <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }} /> <article>...</article> </> ) }
Do not use next/script for JSON-LD. It can defer execution past initial render, which interferes with crawlers.
How to validate schema
Three tools we use, in order.
The Schema Markup Validator checks raw syntax and field validity.
The Rich Results Test checks whether Google considers the schema eligible for rich results.
The Lighthouse SEO audit (in Chrome DevTools) catches missing required fields.
For programmatic validation in CI, the schema-dts TypeScript types catch most errors at compile time. We use this on all client builds.
The 7 most common schema mistakes
After 600+ audits, these are the patterns we see over and over.
Missing sameAs on Organization. Without sameAs, AI models cannot verify your entity. This is the single most common gap.
Incomplete Article schema. Pages with Article but no author, no datePublished, or no publisher are routinely skipped by citation engines.
FAQ schema with marketing answers. If your FAQ answers are sales copy instead of direct, factual responses, no model will quote them. Treat FAQ answers as encyclopedia entries.
Mismatched canonical and mainEntityOfPage. These two fields must point to the same URL. Mismatches cause models to discount the page.
Schema on pages where the content does not match. We see sites with HowTo schema on pages that are not how-to pages. Validators will not catch this, but models will.
Duplicate schema across pages. Pasting the same Article schema on multiple posts is a common bug. Each page needs its own unique schema.
Schema injected after page load. JavaScript-injected schema can be missed by some crawlers and AI scrapers. Always render schema server-side.
A 30-minute schema rollout for your site
If you have read this far and want to act today, here is the minimum viable rollout.
Install Organization schema on the homepage with full sameAs. 10 minutes.
Install Article schema on every blog post with author as a Person. 10 minutes if templated.
Install FAQPage schema on any page with three or more Q&A blocks. 5 minutes per page.
Validate everything in the Rich Results Test. 5 minutes.
That is the 30-minute version. The full version, which is what we ship for clients, includes all nine core schemas plus advanced types per cluster, full entity linking, and an automated schema validation step in CI.
Schema is not magic
Schema amplifies content quality. It does not create authority where none exists. A thin, undifferentiated 400-word blog post with perfect schema will still not be cited. A 2,500-word original piece with sloppy schema will outperform it. The right move is to do both. Substantive content, complete schema, full entity linking.
If you want a full schema audit on your site, book a free GEO audit. We will scan every page, flag the gaps, and ship a prioritized remediation plan. Or browse our GEO Tools to generate schema for your most important page types in one click.
The brands that take schema seriously now will compound a structural advantage in AI search that takes years for competitors to match.
Schema for B2B SaaS vs ecommerce vs publishers
Different business types need different schema stacks. Three quick profiles.
A B2B SaaS site needs Organization, WebSite, Article on blog content, SoftwareApplication on the product, Service on services pages, FAQPage where applicable, and Person on author bios. Optional but valuable: Review and AggregateRating if you display real customer reviews.
An ecommerce site needs Organization, WebSite, Product on every product page, Offer nested in Product, BreadcrumbList, Review and AggregateRating, and FAQPage for product FAQs. ImageObject schema on product images helps surface them in AI answers.
A publisher needs Organization or NewsMediaOrganization, WebSite with SearchAction, NewsArticle or Article on every story, Person on every author, BreadcrumbList, and ImageObject on cover images. If you publish video, VideoObject is mandatory.
A local business needs everything in the Local Business GEO guide, centered on LocalBusiness with the most specific subtype available.
Common schema misimplementations we fix in audits
Three patterns from our agency book of work.
Schema injected via Google Tag Manager. We see this all the time. GTM-injected schema is sometimes invisible to crawlers and AI scrapers that do not execute JavaScript. Always render schema server-side or in the static HTML.
JSON-LD with multiple errors per page. We have audited sites with 8 to 12 errors per page across their schema. Each error reduces parsing quality. Validate ruthlessly.
Conflicting schema types on the same page. We have seen pages that try to be both Article and Product and Service. Pick one primary type and use the secondary types as nested properties or related entities, not as top-level competitors.
How AI models actually use your schema at retrieval time
When an AI search engine fetches your page, the JSON-LD goes through a structured extraction step before the model writes its answer. The extracted data populates a candidate fact table the model can quote from.
For an Article, the model extracts the headline, author, publication date, and main entity. Quotes are sourced from the body, but attribution comes from the schema.
For a Product, the model extracts price, currency, availability, ratings, and review count. Comparison answers ("which has better reviews?") pull directly from these fields.
For a LocalBusiness, the model extracts address, hours, phone, and rating. Local-intent answers cite these fields verbatim.
For a FAQPage, the model treats each Q&A pair as a candidate quote. Well-written FAQ answers are often quoted word-for-word.
The implication is that your schema is read literally. Bad data in your schema becomes bad data in AI answers about your brand. Audit every field for accuracy.
Schema and the next 24 months
Two changes coming in the schema landscape that you should be aware of.
Schema.org is adding more AI-specific properties. Expect to see properties for AI-generated content disclosure, machine-readable summaries, and trust signals like verifiedBy. Most of these will become recommended within the next 12 months.
Google and OpenAI are converging on a shared structured data subset. The list of schema types that meaningfully affect AI citation will narrow to a core 12 to 15 types. The nine we covered above will all be in that core set.
If you implement the schema in this guide today, you will be ahead of those changes. Adapt as the spec evolves.
The minimum schema stack for AI citation
If you want to remember one thing from this guide, remember this stack. Install these and validate them, and you will outperform 80% of your competitors on schema completeness.
Homepage: Organization plus WebSite.
Every blog post: Article with Person author.
Every author bio: Person with sameAs.
Every product or service page: Product or Service.
Every page with FAQs: FAQPage.
Every page in a hierarchy: BreadcrumbList.
That is the minimum stack. The advanced types add upside, but missing the minimum is what causes 80% of citation gaps.
How to maintain schema at scale
Once you have schema across 50+ pages, maintaining it becomes the hard part. Three practices we follow.
Generate schema from a single source of truth. Store the data (author bios, organization info, product specs) in one place. Have your build system render schema from that source. This eliminates drift between schema and on-page content.
Run schema validation in CI. A pre-deploy step that hits the validator API for every new or changed page. We fail builds on schema errors. This catches 95% of regressions before they ship.
Audit quarterly. Even with CI, drift creeps in. Run a quarterly full-site schema audit. Compare current schema against the spec, against your style guide, and against the latest Google and OpenAI guidance.
For a manual schema audit you can run yourself, our SEO audit skill outputs a per-page schema report flagging missing fields, deprecated types, and inconsistencies.
A final word on schema and AI citation
Schema is the cheapest, fastest GEO lever available in 2026. It costs almost nothing to implement compared to building topical authority or earning off-site mentions. It compounds permanently. It works across every major AI engine simultaneously. And most of your competitors are still doing it badly.
If you only do one thing this quarter, audit your schema and close the obvious gaps. We have seen 30 to 60% citation rate lifts within 60 days just from fixing schema, on sites that had already invested in content but neglected the structured data layer.
If you want us to run that audit for you, book a free GEO audit. We will scan your top pages, surface every schema gap, and ship a prioritised remediation plan.
FAQ
Which schema types matter most for GEO? Start with the core stack this guide covers: Organization and WebSite for entity identity, Article or BlogPosting for content, FAQPage for question coverage, and BreadcrumbList for structure, then add the type that matches your model (Product, Service, LocalBusiness, or HowTo). Depth on the right types beats breadth across every type.
Does schema markup guarantee AI citations? No. Schema makes your content parseable and your entity unambiguous, which is necessary but not sufficient: AI engines still weigh authority, content quality, and freshness when choosing sources. Treat schema as the floor, not the ceiling.
How do I validate my schema markup? Use Google's Rich Results Test for rich-result eligibility and the schema.org validator for spec compliance, and re-validate after every template change. The most common failures this guide covers are schema describing content that is not on the page, stale dates, and broken sameAs URLs.
This post is part of our Technical SEO guide. Related reading: Structured Data Engineering for AI Citation, GEO for Local Businesses, How to make your website readable by AI agents.

Oussama leads technical and on-page SEO at AY Rank. He specializes in structured data engineering, crawl optimization, and building the entity architecture that makes AI models cite our clients.
Full Bio →


