Schema for AEO: Which Types Actually Matter

There are hundreds of schema types and you need about four. Here is what each one does for AI visibility, and what structured data cannot do no matter how much you add.
Schema for AEO: Which Types Actually Matter

Schema.org defines hundreds of types. For AI visibility you need about four, and adding more produces diminishing returns quickly.

Here is what each of the four does, in the order I would implement them.

Schema Type Goes On What It Does For AI Visibility Priority
Organization Homepage, site-wide Establishes your legal identity so mentions elsewhere resolve to the same entity 1 — Core
FAQPage Any page with Q&A content Labels question/answer pairs explicitly so answer engines can lift them directly 2 — Core
DefinedTerm Glossary entries Marks "what is X" definitions so a model can quote them without guessing 3 — Core
Article + author Blog posts and guides Attributes content to a verifiable person, tying it to credibility signals 4 — Core
LocalBusiness Physical-location pages Confirms address, hours, and offerings for "near me" and local queries Optional
Product Product / e-commerce pages Confirms price, availability, and specs for shopping queries Optional

👀 swipe to see all columns.

Organization

Goes on the homepage, once, site-wide. It states your legal name, logo, official URL and sameAs links to verified profiles.

Its job is identity. It turns an ambiguous website into a named entity a system can match against mentions elsewhere on the web. Without it, a model reading about you on a review site has to work out whether that company is the same one as yours.

One condition: the name in the schema must match the name you use everywhere else. Where they differ, the markup stops resolving ambiguity and starts creating it.

FAQPage

Goes on any page with question-and-answer content. It labels each pair explicitly, so a machine does not have to infer where one answer ends and the next begins.

This is the highest return per hour of anything on the list, because answer engines reuse question-and-answer content more readily than any other format — and marking it up requires no new writing.

Two rules. The marked-up answer must be visible on the page; hiding content in schema that users cannot see is a policy violation and generally backfires. And the answer should stand alone, because it will be quoted without the paragraph above it.

DefinedTerm

Goes on glossary entries. It states that a string is a term and a specific sentence is its definition.

Nothing else in the vocabulary is so narrowly targeted at the "what is X" question, which is among the most common shapes assistants handle. Group entries under a DefinedTermSet so a machine can tell that forty pages form one reference work.

Keep the definition in the schema identical to the first sentence on the page and to the meta description. Three matching versions give a model nothing to choose between.

Article, with a real author

Goes on blog posts and guides. The valuable part is not the article type itself but the author reference — a named person, with a role and a sameAs link to a profile that exists elsewhere.

This is where structured data intersects with credibility. Content attributed to a verifiable person is treated differently from content attributed to nobody, and schema is how you state the attribution unambiguously.

Example: LocalBusiness schema for a pizzeria (Franco Manca, London)
JSON-LD
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Franco Manca",
  "image": "https://example.com/images/franco-manca-chelsea.jpg",
  "url": "https://example.com/locations/chelsea",
  "telephone": "+44-20-7000-0000",
  "priceRange": "££",
  "servesCuisine": ["Italian", "Pizza", "Neapolitan"],
  "acceptsReservations": "True",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "12 King's Road",
    "addressLocality": "Chelsea, London",
    "postalCode": "SW3 4XX",
    "addressCountry": "GB"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 51.4875,
    "longitude": -0.1687
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Sunday"],
      "opens": "12:00",
      "closes": "22:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Friday", "Saturday"],
      "opens": "12:00",
      "closes": "23:00"
    }
  ],
  "menu": "https://example.com/locations/chelsea/menu",
  "sameAs": [
    "https://www.instagram.com/francomanca",
    "https://www.facebook.com/francomanca"
  ]
}
</script>

What schema cannot do

It is not a ranking boost. Adding markup to a weak page does not make it authoritative. Structured data removes guesswork about what a page says; it does not change whether that is worth citing.

It cannot describe content that is not there. Markup asserting facts the page does not display is both a policy violation and self-defeating.

It does not fix crawlability. If your content renders only after JavaScript runs, an AI crawler may see neither your page nor your schema.

Implementation order

  1. Organization on the homepage. One block, thirty minutes, affects everything.
  2. FAQPage wherever you already have questions. An afternoon, no new writing.
  3. DefinedTerm if you have a glossary. If you do not, that is a bigger decision than a markup one.
  4. Article with author across editorial content.

Stop there. Product schema if you sell products, LocalBusiness if you have a physical location. Beyond that you are adding markup for its own sake.

How to check it works

Validate with a structured data testing tool, then do the more useful test: view your page's raw source and confirm the schema is actually in the HTML rather than injected by a script that runs afterwards.

Plenty of tag manager implementations pass validation in a browser and are invisible to crawlers that do not execute JavaScript. That is a common and entirely silent failure.

Last reviewed by
Vlad Cîrneală
on
August 8, 2026

You just learned the theory. See your real score.

Your first AI visibility report is free — takes under 2 minutes.
Check your AI visibility