Free 5-prompt check →

Schema markup for AI visibility

The short answer

Schema markup is how you state your business facts in the format machines read first — instead of hoping an AI infers them correctly from your prose. Five types cover most of the value: Organization/LocalBusiness, aggregateRating, Service, FAQPage and BreadcrumbList. It makes you legible. It does not make you credible — that's citations. You need both.

What structured data actually is

Strip away the jargon and it's this: a small block of JSON sitting in your page's code that says, in a standard vocabulary, "this is an accounting firm, in Singapore, at this address, offering these services, rated this well." Humans never see it. Machines read it before they read anything else, because it removes ambiguity — no parsing your homepage copy, no guessing whether "we've served the East Coast since 2009" means you're located there.

The format to use is JSON-LD, placed in a <script type="application/ld+json"> tag. Google recommends it, every engine understands it, and it doesn't touch your visible design — which means adding it can't break your site's appearance.

The five types that carry most of the weight

TypeWhat it establishesPriority
Organization / LocalBusinessWho you are, where, contact details, and your profiles elsewhere via sameAsEssential
aggregateRatingYour real rating and review count, as data rather than a widgetHigh — if you have genuine reviews
ServiceWhat you actually sell, named the way customers ask for itHigh
FAQPageQuestion-and-answer pairs — the format assistants quote most readilyHigh
BreadcrumbListWhere a page sits in your site's structureUseful

Get the entity right, and the rest follows

The single highest-leverage piece is your Organization block, because it's what everything else attaches to. Three things to get right:

The reviews point, because it's the one people get wrong

If you have genuine reviews, marking up aggregateRating is one of the biggest wins available — it converts a reputation that currently exists only as a widget into a number a machine can extract. We wrote about why that gap is so costly here.

The rule, stated plainly: mark up only what's true and substantiable. Your real rating, your real count, kept current. Inventing ratings or marking up reviews you can't evidence is a policy violation with real penalties, and it's the fastest way to turn a credibility asset into a liability. If you don't have reviews yet, the fix is to get reviews — not to mark up ones you wish you had.

Four mistakes that make markup useless

How to check yours in five minutes

View your page source and search for application/ld+json — if there's nothing, you have no markup, and that's your starting point. If there is, paste your URL into Google's Rich Results Test or the Schema.org validator; both will tell you what parses and what's broken. Then ask the honest question: does this block actually contain my address, my services and my rating — or is it an empty shell a plugin generated? Plenty of sites technically "have schema" that says almost nothing.

See whether your markup is doing anything

Our free check shows whether ChatGPT, Perplexity, Gemini and Claude name your business when customers ask — and where the gap is: access, markup, or citations. One page, free, no call.

Get your free 5-prompt check →

Frequently asked questions

Does schema markup help AI recommend me?
It helps AI read you accurately, which is a precondition for recommendation — but it isn't sufficient alone. Markup makes you legible; third-party citations make you credible. You need both.
Which types matter most?
Organization or the right LocalBusiness subtype (with name, address, phone, URL and sameAs), plus aggregateRating, Service, FAQPage and BreadcrumbList. Those five cover most of the value for most businesses.
Can I mark up my Google reviews?
You can mark up a rating that genuinely reflects real, substantiable reviews, kept accurate and current. Inflating or inventing ratings violates policy and risks penalties — never mark up what you can't evidence.