Schema markup for AI agents: the seven types that matter for a local or service business

Structured data is how an AI agent reads facts about your business without guessing. These are the Schema.org types worth adding, in order, and the mistakes that make them useless.

schemastructured datatechnical

If you do one technical thing for agent discoverability this quarter, make it structured data.

Structured data is a block of JSON-LD in your page’s HTML that states facts about your business in a vocabulary (Schema.org) that machines share. A person never sees it. An AI agent trying to answer “is this place open Sunday, and what does a cleaning cost” can read it directly and doesn’t have to work the answer out from your page text.

Google has said that structured data isn’t required for AI Overviews, and that’s true, although it’s beside the point here. None of the platforms has published how its agent reads a page, but every one of them runs a browser or a crawler that sees your HTML, and JSON-LD is the one part of the page written specifically to be read by a machine. Publish the important facts in visible text and keep any structured data consistent with them. Markup helps a machine interpret the page, but it doesn’t guarantee that an agent will retrieve it or recommend you, because each agent draws on different sources.

The seven types in the order to add them

1. Organization or LocalBusiness. Start here. Use the most specific subtype that fits (Dentist, Plumber, Restaurant, AutoRepair, LegalService, and so on). Include your name, address, phone, URL, opening hours, price range, area served and your social profile URLs under sameAs. The sameAs links let an agent confirm that your website, Google profile and Instagram are the same business.

2. Service or Product, with Offer. For each thing you sell, add a Service (for services) or Product (for goods) entry, each with an Offer that states the price, currency and availability. Agents weigh a real price heavily. “Call for quote” in the markup is better than nothing, but to get recommended you need a number.

3. OpeningHoursSpecification. This is often nested inside LocalBusiness. Get holidays and seasonal hours right, because an agent that books a customer for a day you’re closed will remember it.

4. FAQPage. Mark up the questions customers actually ask (do you take walk-ins, do you serve my area, what’s the cancellation policy) with the answers you actually give. Agents pull from these directly.

5. Review and AggregateRating. Mark up the reviews you display on your own site. Don’t fabricate any, and don’t mark up reviews that you copied from Google, because the guidelines are strict about that and agents can cross-check.

6. Article. Use this for your blog and guides, and include the author, datePublished and dateModified. Agents use recency as a trust signal, and a correct dateModified tells them that your content is maintained.

7. Person. If your business is built around named practitioners (a law firm, a medical practice, a consultancy), Person entries with credentials help an agent match “a board-certified dermatologist” to you specifically.

Those seven are the types that describe what a local or service business is and what it sells. HowTo is worth adding if you publish instructional content, but it isn’t in the top seven for a typical local business. One caution on the review types: Google doesn’t show review stars for reviews that a business marks up about itself, so add Review and AggregateRating for accuracy and completeness, and don’t expect a search feature from them.

The mistakes that make markup useless

Markup can disagree with the page. If your JSON-LD says you close at 6 and the page says 5, an agent trusts neither. Keep them in sync, ideally by generating both from the same source.

Markup also goes stale, with prices from 2024 or a phone number from the old location. Agents check dateModified and cross-reference with other sources, and stale markup lowers their confidence in everything else you publish.

Sometimes the markup is on the wrong page. LocalBusiness belongs on your homepage or contact page, not on every blog post, and Product belongs on the product page.

Another mistake is using a generic type when a specific one exists. LocalBusiness is fine, but Dentist is better, because it lets an agent match the category without inference.

Missing sameAs is an underrated problem. Without it, an agent has to guess whether the “Womack Mechanical” on Yelp and the one on your site are the same company, and sameAs takes that guess away.

How to check your own

Paste a page into the Schema.org validator to check the vocabulary, and into Google’s Rich Results Test to check the features that Google supports. Both show you what a machine can extract from the markup. If your price, hours and address aren’t in there, you’re relying on an agent to find them in the page text or somewhere else.

Then do the harder test. With web browsing on, ask ChatGPT, Gemini or Claude a specific question about your business, such as what a first visit costs, whether you’re open Saturday, or whether you serve a particular zip code. If the answer is wrong or hedged, look at what’s missing from your markup.

If you’re on a platform

Shopify, Squarespace, Wix and WordPress with a good SEO plugin will generate basic Organization and Product markup for you. It’s usually incomplete, with no sameAs, no service area and no FAQ, so treat the platform’s output as a starting point and add the rest.

If you’d rather have someone check it, the structured data review is part of our free agent-readiness assessment. We’ll tell you what an agent can and can’t read from your site today.

Find out what the assistants see when they look at your business

The assessment is free. A person checks where you stand in search and AI answers, runs the four agent checks (Find, Understand, Transact, Trust) and tries to book or buy, then emails you a one-page report with the three fixes we think matter most.

A person checks your website, Google profile, search rankings, AI answers and booking or checkout, and emails you a one-page report. You don't need a sales call to get it, and after that we send one email a week, which you can stop with one click. See a sample report.

All posts