SEO

Schema for AI Search: 7 Essential Types to Add First

Structured data has been sold as an SEO trick for a decade, which has made it hard to talk about honestly. The AI search era has not changed what it does — it has changed why it is worth doing. Schema for AI search is not a ranking lever; it is how a machine confirms that the “Dotance” on your contact page is the same entity as the one on your WordPress.org profile. Here are the seven types worth your time, the four to skip, and how to check what you are really publishing.

What schema for AI search actually does

Assistants read your HTML first, not your markup. They can extract most facts from well-written prose without any markup at all, which is why “add schema and get cited” is not true.

What structured data does is settle ambiguity:

AmbiguityWhat schema resolves
Is this the same company as that profile?sameAs links the identities
Who wrote this, and are they credible?author as a real Person
Is this advice current?dateModified
Is this product in stock, and at what price?Offer with availability
Where does this page sit in the site?BreadcrumbList
Is this business near me?LocalBusiness with a real address

Every row is a question a machine has to answer with or without your help. Schema for AI search means answering them explicitly rather than hoping the inference lands correctly.

The rule that governs everything below: markup must describe what the page visibly shows. Not what you wish it showed, not what you sell elsewhere. Everything that goes wrong in this area is a variation on breaking that rule.

Seven types of schema for AI search worth adding

Seven structured data types worth adding for AI search, in priority order: Organization with a real sameAs list, WebSite, BlogPosting, BreadcrumbList, Product, LocalBusiness where relevant, and Person for named authors.
Organization with a genuine sameAs list is the one almost nobody does properly, and the one that matters most — it is how a model works out that you are you.
#TypeWhereWhy it earns its place
1OrganizationSite-wideEntity identity — the highest-value item here
2WebSiteSite-wideName and alternate name disambiguation
3BlogPostingEvery postAuthor, dates, freshness
4PersonAuthor pagesWho is speaking, and why they would know
5BreadcrumbListEvery pageStructure, and still shown in results
6Product + OfferShopsPrice and availability, machine-readable
7LocalBusinessLocal firmsAddress, hours, service area

1 and 2. Organization and WebSite

If you do one piece of schema for AI search, do this one. Most sites publish an Organization block with a name and a logo and stop, which leaves out the field that does the actual work.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Studio",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png",
  "sameAs": [
    "https://www.linkedin.com/company/example-studio",
    "https://profiles.wordpress.org/examplestudio/",
    "https://github.com/examplestudio"
  ]
}
</script>

That sameAs array is the part that matters for schema for AI search. It is the explicit statement that these scattered profiles are one entity, which is exactly the problem an assistant has when deciding whether the company in its index is the company on this page.

List profiles that genuinely exist and that you control. Three real ones beat twelve aspirational ones, and a link to a profile you abandoned in 2019 is worse than no link at all.

3 and 4. BlogPosting and Person

Article markup is the schema for AI search most SEO plugins already emit. Two fields are worth checking because they are frequently wrong: dateModified, which should reflect a real update rather than a plugin touching the row, and author, which should be a Person object rather than a bare string.

"author": {
  "@type": "Person",
  "name": "Aqib Raza",
  "url": "https://example.com/author/aqib/",
  "sameAs": [ "https://www.linkedin.com/in/example/" ]
}

A named person with a profile that can be checked is a different signal from a string. This is the least glamorous part of schema for AI search and one of the more useful, because “who says so” is a question assistants weigh heavily when deciding whether to repeat a claim.

5, 6 and 7. Breadcrumbs, products and local

These three are the situational ones. Breadcrumbs are cheap, nearly every SEO plugin emits them, and they still appear in results. Nothing to decide here — just confirm yours are present.

Product markup earns its place on any shop, with one condition: the availability value must be true. A product marked InStock that is not is both a policy problem and a customer-service one, which is part of the wider argument in handling out of stock products.

LocalBusiness matters if you have a physical address or a defined service area, and the requirement is consistency: the name, address and phone number in your markup must match your Google Business Profile and your contact page exactly. Three slightly different versions of your address is a genuine entity problem, and no amount of schema for AI search fixes it while they disagree.

Four types of schema for AI search to skip

TypeStatusVerdict
FAQPageRich results restricted to government and health sites since 2023Harmless as data, not a project
HowToDropped from Google rich results in 2023Same — do not rebuild pages for it
speakableLimited, news-focusedSkip unless you are a news publisher
Self-issued AggregateRatingSelf-serving markupNever. See below

The first two rows matter more than they look, because a great deal of published advice predates those changes and still tells you FAQ markup will win you a bigger search result. It will not, for the overwhelming majority of sites. Writing a genuine FAQ section because readers have those questions is good; restructuring a page to hit a markup format that no longer produces a rich result is wasted effort.

The one that gets sites penalised: marking up review ratings you wrote about yourself. Search engines call this self-serving markup and it is explicitly disallowed. It also invites an assistant to state a rating you invented as fact, attributed to you — which is a worse outcome than having no rating at all.

Verifying the schema for AI search you actually publish

Plugins claim a great deal of schema for AI search and emit less. Check the page itself rather than the settings screen:

# Which structured data blocks are on this page?
curl -s https://example.com/ | grep -o 'application/ld+json' | wc -l

# And what is in them?
curl -s https://example.com/ | sed -n '/application\/ld+json/,/\/script/p' | head -60
What you findWhat it means
Zero blocksYour SEO plugin’s schema is off, or stripped by optimisation
One combined graphIdeal — one @graph with linked nodes
Four or five separate blocksTwo plugins are both emitting. Pick one
sameAs missingThe most common gap, and the one worth fixing today
Dates that never changedateModified is not wired to real edits

The duplicate-emitter row is common on sites that have had two SEO plugins over the years. Contradictory blocks are worse than one imperfect block, because you are now asserting two versions of the same facts — the same class of problem as duplicate content, at the data layer.

Google’s own testing tool remains the fastest way to see how a search engine parses what you publish; the full list of supported types is in the structured data search gallery, which is also where you confirm whether a type still produces a rich result before investing in it.

What to expect from it

Being honest about schema for AI search outcomes is more useful than a list of types, so here is the realistic version.

ExpectationReality
Rankings improveNo. Structured data is not a ranking factor
Assistants start citing youNot on its own. Content quality decides that
Your entity is recognised correctlyYes — this is the real benefit
Prices and availability read accuratelyYes, and it prevents wrong quotes
Breadcrumbs appear in resultsYes, still
FAQ rich results returnNo, not for ordinary sites

Row three is the whole case for schema for AI search, and it is a modest, real benefit rather than a dramatic one. Being correctly identified is not exciting, and it is the difference between an assistant recommending you by name and describing “a WordPress agency” it cannot quite place.

If you want the parts that actually drive citations, they are content-side and covered in getting cited by AI search. Markup supports that work; it does not substitute for it — the same conclusion we reached about llms.txt, for the same reason.

One graph beats five blocks

Five separate JSON-LD blocks on a page compared with a single connected graph: separate blocks leave the organization, article, author and breadcrumb unlinked, while one graph uses @id references so each entity points at the others.
This is where hand-rolled schema usually falls down. The types are all correct and nothing says they belong to each other.

How you structure it matters almost as much as which types you use, and this is where hand-rolled schema for AI search usually falls down.

Five separate JSON-LD blocks on a page are five unrelated assertions. A single @graph with @id references is one connected description, where the article knows which organisation published it and which person wrote it.

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://example.com/#org",
      "name": "Example Studio",
      "sameAs": [ "https://www.linkedin.com/company/example-studio" ]
    },
    {
      "@type": "BlogPosting",
      "@id": "https://example.com/blog/post/#article",
      "headline": "A specific, honest title",
      "datePublished": "2026-09-30",
      "dateModified": "2026-09-30",
      "publisher": { "@id": "https://example.com/#org" },
      "author": { "@id": "https://example.com/author/aqib/#person" }
    }
  ]
}

Those @id references are the difference between a pile of facts and a structure. Good SEO plugins already produce this shape; if yours emits several disconnected blocks instead, that is worth knowing before you add anything by hand on top of it.

It also explains why adding a second schema plugin makes things worse rather than better. Two graphs cannot reference each other, so you end up asserting two unconnected organisations with the same name on the same page — which is precisely the ambiguity schema for AI search is supposed to remove.

The entity problem, in plain terms

All of this schema for AI search advice makes more sense once you know what an assistant is actually trying to do, because it makes the priorities above obvious rather than arbitrary.

When somebody asks an assistant to recommend a WordPress agency, it is not searching for a phrase. It is working with entities — things it believes exist, with properties and relationships. Your site is evidence about one of those entities. Every consistent signal strengthens the link between the entity and you; every inconsistent one weakens it.

SignalStrengthens the entityWeakens it
Business nameIdentical everywhereThree variations across profiles
AddressMatches the business profile exactlyFormatted differently in each place
ProfilesLinked with sameAsPresent but unclaimed and unlinked
AuthorshipReal people with real profiles“Admin”, or a brand name as author
Claims about yourselfSpecific and checkableGeneric superlatives

That table is the actual work of schema for AI search, and only two of its five rows are markup. The rest is consistency across places you already control, which is unglamorous and costs nothing but attention.

It is also why the sameAs advice keeps returning. A profile on a platform relevant to your field — a developer directory, a professional body, a repository — that links back to you and is linked from you is a far stronger identity signal than any amount of markup describing yourself to yourself. The strategic version of this argument is in GEO versus SEO.

Where this goes wrong

The mistakeWhat happensDo this instead
Marking up invisible contentPolicy violation, possible manual actionOnly describe what the page shows
Self-issued ratingsSelf-serving markup, disallowedOnly third-party verifiable reviews
Two plugins emitting schemaContradictory assertionsTurn one off
Aspirational sameAs entriesLinks to profiles you do not controlThree real ones is plenty
Adding every type availableNoise, and more to keep accurateThe seven above
Rebuilding pages for FAQ markupEffort for a rich result that will not appearWrite real answers instead
Never re-checking after a plugin updateMarkup disappears silentlyCurl it quarterly

The last row is quietly important. An optimisation plugin that minifies or defers aggressively can strip JSON-LD from the output entirely, and nothing in your admin will mention it. The only way to know is to look at the page a crawler receives — which is the same discipline the rest of our technical SEO checklist asks for.

The order to do it in

Schema for AI search is a two-hour job done in the right sequence and a week done in the wrong one.

  1. Curl the home page and see what exists today. Do not assume.
  2. Fix sameAs on the Organization block. Biggest gap, smallest effort.
  3. Check the author field on a post is a Person with a URL.
  4. Confirm dateModified moves when you genuinely edit something.
  5. Remove the second emitter if two plugins are both publishing.
  6. Shops only: verify availability values against real stock.
  7. Diary a quarterly recheck. Ten minutes.

Steps one and two are most of the schema for AI search value and take under an hour together. If you stop there you will have done more for your entity recognition than the average site does in a year of schema for AI search advice, because almost everybody publishes an Organization block and almost nobody fills in the field that links it to anything.

Frequently asked questions

Does schema for AI search improve my rankings?

No. Schema for AI search is not a ranking factor and never has been. It affects how results are displayed and how confidently a machine can identify what your page describes, which are different things that are worth having anyway.

How long does schema for AI search take to set up?

An hour or two on a normal site, because most of it already exists and you are correcting rather than creating. A shop with product markup to verify against real stock takes longer, and that part is worth the extra time.

Do I need a plugin for this?

Your SEO plugin almost certainly emits most of it already. The work is checking and correcting what it emits, not adding another plugin — and a second schema plugin is likely to create the duplicate-emitter problem above.

Is JSON-LD better than microdata?

Yes, for practical purposes. It sits in one block rather than being woven through your markup, which means a theme change does not silently destroy it. Every major consumer supports it.

How many sameAs entries should I have?

As many as you genuinely control, which for most businesses is three to six. LinkedIn, a relevant professional profile, and whichever platform you actually publish on. Quantity adds nothing.

Should I mark up my testimonials?

Not as AggregateRating you issue yourself. Reviews collected and displayed by a third-party platform can be marked up according to that platform’s guidance; quotes you typed into your own page cannot.

Will assistants definitely read it?

Nobody publishes a guarantee that they read schema for AI search. The difference from a proposal like llms.txt is that JSON-LD is a long-established standard already consumed by search engines, so you are adding to infrastructure that demonstrably works rather than betting on a convention that might.

How do I know whether it made a difference?

Through entity signals rather than a direct metric — no dashboard reports it — branded impressions, whether an assistant names you correctly when asked about your niche, and assistant referral sessions over a quarter. The measurement setup is in tracking AI search traffic.