Someone has told you that your website needs “schema” to show up in AI search. Maybe it was an agency, maybe a plugin settings screen, maybe a video. You open the page source of a competitor’s site, see a block of code full of curly brackets, and wonder whether you are missing something important.
Structured data is worth having on a business website. It is also widely oversold. This guide explains what it is, which types make sense for a typical business, how to add and test it, and what it will and will not do for you.
What structured data is
A web page is written for people. Software reading it has to work out which bit is the business name, which is the phone number, and whether “Open 9 to 6” refers to the shop or to an event. Structured data removes that guesswork. It is a small block of labelled information, added to the page’s code, that says plainly: this is a business, here is its name, here is its address, here are its opening hours.
The labels come from schema.org, a shared vocabulary backed by the major search engines. It defines types, such as LocalBusiness or Article, and properties for each type, such as name, address or datePublished.
There are a few ways to write it into a page. The one to use is JSON-LD, which sits in its own script block, separate from the visible content. Google recommends it, it is the easiest to maintain, and it is what most WordPress SEO plugins output.
The types worth adding to a business site
Organization or LocalBusiness
This is the foundation. It describes the business itself: name, logo, website address, phone number, and links to your official profiles elsewhere (the “sameAs” property). If customers visit you, or you serve a defined area, use LocalBusiness and add the address, opening hours and geographic details.
schema.org has more specific subtypes of LocalBusiness, such as Dentist, Restaurant, Plumber or AccountingService. Use the most specific one that genuinely fits. If none does, LocalBusiness on its own is fine.
This usually belongs on the homepage or the contact page, not repeated differently on every page. The details must match what the page shows and what your Google Business Profile says.
Service
Service markup describes something you offer: its name, a description, who provides it and the area served. Google does not show a special search feature for it, so it will not change how your result looks. Its value is in describing your offer clearly to any system that reads the page. Add it to individual service pages if your setup makes that easy. Do not lose sleep over it if not.
Article
For blog posts and guides, Article markup states the headline, author, publish and update dates, and main image. Most WordPress SEO plugins add this automatically. The thing to check is that the author is a real, named person or the business, and that the dates are correct, especially after you update an old post.
BreadcrumbList
Breadcrumb markup describes where a page sits in your site, for example Home, then Services, then Boiler Repair. It helps search engines understand your site’s structure. It works best when the page also shows a visible breadcrumb trail that matches it, and many themes and SEO plugins can handle both.
FAQPage, with a caveat
FAQ markup was once a popular way to get extra question-and-answer lines under a search result. Google has since limited FAQ rich results to a small set of well-known, authoritative government and health websites. For most businesses, adding FAQPage markup will not produce that display any more.
It is still valid schema.org markup, and a clear FAQ section on a service page is still useful to readers. Just do not add the markup expecting a visible change in Google, and only use it for questions and answers that actually appear on the page.
How to add it
On WordPress, the simplest route is usually the SEO plugin you already have. Yoast and Rank Math both generate structured data for the site, its pages and its posts, and let you set the business type, logo and details in their settings. Fill those settings in carefully before adding anything else.
For a type your plugin does not cover, or a site that is not on WordPress, you can write a JSON-LD block and add it to the page. Our free schema markup generator builds the code for common types from a simple form, so you do not have to write it by hand.
Two things go wrong often. The first is duplication: the theme, the SEO plugin and a separate schema plugin all output their own business markup, sometimes with different details. Pick one source and switch the others off. The second is markup that does not match the page, such as opening hours in the code that differ from the hours shown on the contact page.
How to test it
Use two free tools, because they check different things:
- Google’s Rich Results Test shows whether a page’s markup is eligible for the rich results Google supports, and flags errors and warnings for those types. It will not report on types Google has no feature for, such as Service.
- The Schema Markup Validator, run by schema.org, checks any schema.org markup against the vocabulary, whatever the type. Use it to confirm that everything on the page is valid and to see exactly what each block says.
Test after you add markup, after changing SEO plugins, and after a theme change or redesign, which can quietly remove or duplicate it. Google Search Console also reports on the structured data types it finds across the site, which is a useful way to catch problems on pages you did not test by hand.
What structured data will not do
This is the part that is often left out. Structured data helps machines understand a page. It does not make a page better, and it is not a shortcut into AI answers.
Google has said that no special structured data is needed to appear in AI Overviews or AI Mode. Pages are chosen from what is indexed, and what matters is whether the page is useful, clear and trustworthy. We cover that in how Google’s AI Overviews choose which websites to show.
Markup also has to be honest. Google’s guidelines say it must describe content that is visible on the page, and markup that is misleading, such as reviews you invented or ratings for your own business that you added yourself, can lead to a manual action that removes rich results for the site. If the page does not say it, the code should not claim it.
So treat structured data as tidying, not as a strategy. Done properly, it makes your business details consistent and unambiguous to software, which supports the bigger work of having good pages and consistent information across the web. That bigger work is what our guide on getting your business mentioned in ChatGPT and Gemini answers is about.
If you want Google’s own reference, its introduction to structured data lists the types it supports and the rules for each. This post is part of our series on what a business website needs now.
If you would like someone to check what markup your site outputs today and clean up duplicates or mismatches, tell us what you need. We will tell you plainly what is there, what is wrong, and whether it is worth changing.
Next in this series: Why Your Ad Numbers and Website Numbers Never Match