Let’s get the overclaim out of the way first. Adding schema markup to your site won’t, by itself, get you mentioned in ChatGPT or Google’s AI Overviews. Google’s guide to generative AI features says structured data isn’t required for them and that there’s no special markup to add.
So why write an article about it? Because structured data still does useful work. It removes ambiguity about the basic facts of your business, it powers rich results in normal search, and it’s one of the cleaner ways to tell any machine reading your site what’s what. It’s a supporting player, not the star.
What structured data is
Structured data is a block of code on your page, invisible to visitors, that labels facts in a standard vocabulary called Schema.org. Instead of a search engine inferring that “02 5550 4321” on your contact page is probably your phone number, the markup says it outright: this is a business, this is its name, this is its telephone.
Google recommends a format called JSON-LD, which sits in a single block in the page code rather than being woven through your content. On WordPress sites, an SEO plugin like Yoast SEO or Rank Math usually generates it from settings you fill in. Shopify themes output some by default.
How it helps with AI search (realistically)
Think of it as consistency, not a ranking factor.
AI tools build their picture of your business by comparing what they read on your website with your Business Profile, directories and other sites. When your structured data clearly states your name, address, phone, hours and service area, and those match everywhere else, the picture is consistent.
Google’s guidance on AI features specifically says to keep structured data consistent with the visible text on the page. That’s the key point. Markup that contradicts the page is worse than no markup.
For other AI tools, there’s no public documentation saying how much they use structured data. Some will read it, some probably won’t. We’d treat any agency claim of a specific benefit with caution.
The types that matter for most small businesses
You don’t need dozens of schema types. For a local service business, these cover nearly everything.
LocalBusiness (or a more specific subtype)
This is the main one. Google’s LocalBusiness documentation lists only two required properties, name and address, but recommends several more: telephone, URL, opening hours, geo coordinates and price range among them.
Use the most specific type that fits. Schema.org has subtypes like Electrician, Plumber, Dentist, RoofingContractor and HairSalon. Google says to use the most specific one available.
Organization
LocalBusiness is a type of Organization, so the Organization properties apply too. The useful ones: your logo, and sameAs links pointing to your official profiles (Facebook, Instagram, LinkedIn, your industry association listing). Those links help connect your website to your other profiles as one business.
Product and Offer (for online stores)
If you sell online, product markup with price and availability is what makes those details appear in Google results. It’s covered in more detail in our ecommerce SEO guide.
BreadcrumbList
Tells search engines how your pages relate (Home, Services, Hot water). Most SEO plugins add it automatically. Low effort, mild benefit.
Person (for practitioners and professionals)
For health practices, legal firms and consultancies, marking up key practitioners with their name, job title and qualifications can reinforce who’s behind the business. Keep it factual and consistent with what’s on the page.
What about FAQ and Service?
FAQPage markup is still valid Schema.org, but Google restricted FAQ rich results to well known government and health websites in 2023 and stopped showing them in Search altogether in May 2026. It does no harm on a genuine FAQ page, and the FAQ pages when AI is answering the questions guide explains why the answers themselves still matter.
Service markup exists in Schema.org and you can use it to describe what you offer. Google doesn’t produce a rich result from it. It may help some machines understand your services; we wouldn’t spend money on it alone.
A worked example
This is what LocalBusiness markup looks like for a made up Ballina electrician. Your plugin generates this from settings, but it helps to know what you’re looking at.
{
"@context": "https://schema.org",
"@type": "Electrician",
"name": "Coastline Electrical",
"url": "https://www.example.com.au/",
"telephone": "+61 2 5550 4321",
"logo": "https://www.example.com.au/logo.png",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 Example Street",
"addressLocality": "Ballina",
"addressRegion": "NSW",
"postalCode": "2478",
"addressCountry": "AU"
},
"areaServed": ["Ballina", "Lennox Head", "Alstonville", "Wollongbar"],
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "07:00",
"closes": "16:00"
}],
"sameAs": [
"https://www.facebook.com/example",
"https://www.instagram.com/example"
]
}
A few notes. The phone number uses the international format. areaServed lists real towns, matching the service area on your website and Business Profile. If you work from home and don’t show your address publicly on Google, think carefully before putting it in your markup.
Mistakes we fix on client sites
Two plugins, two versions. A theme adds basic schema, an SEO plugin adds more, and a reviews plugin adds its own. Google sees conflicting information about the same business. Pick one source and switch off the others.
Old details. Markup set up at launch and never touched. The business moved, the phone number changed, hours changed, and the schema still says 2019.
Self-served review stars. Adding aggregateRating markup to your own business from reviews you’ve chosen to display on your site. Google doesn’t show star ratings for LocalBusiness or Organization markup where the business is reviewing itself, and fabricated or cherry picked ratings can lead to a manual action.
Markup that doesn’t match the page. Opening hours in the schema that differ from the contact page, or services listed in markup that appear nowhere on the site.
Generic type. Using plain LocalBusiness when Plumber or Physiotherapy exists.
How to check your own site
- Paste a page URL into Google’s Rich Results Test. It shows which structured data Google found and whether it qualifies for rich results.
- For a fuller check against the Schema.org vocabulary, use the Schema Markup Validator.
- Compare what the tools found against your contact page and Business Profile. Same name, phone, address, hours?
- In Search Console, look under Enhancements for errors on product, breadcrumb or other markup. Our Search Console guide shows where.
If you want the step by step setup for a local business, see schema markup for local businesses.
Where it fits in the order of things
Do structured data after the words on your pages are right, not before. Markup can only label facts that exist. If your site doesn’t clearly say what you do and where, start with writing content AI tools can quote, then add the markup to match.
On new builds through our web design service, we set up the markup alongside Analytics and Search Console, so it matches the content from day one. For an existing site with messy or conflicting schema, our SEO team can audit and clean it up.