What structured data actually is
Structured data is a small, invisible label you add to your website so machines understand it without guessing. A human reads "Café Beispiel, Beispielstraße 1, open 9 to 17" and gets it instantly. A search engine or an AI has to work that out from messy HTML, unless you spell it out in a format they read directly. That format is Schema.org, usually written as a block of JSON-LD in the page. It changes nothing for your visitors; it just hands Google and the AI a clean fact sheet.
Why it matters more than it used to
Two reasons. First, rich results: clean schema is what earns the stars, opening hours, FAQ dropdowns and business panels you see in Google. Second, AI understanding: when ChatGPT, Perplexity or a Google AI Overview decides whether to name your business, structured data tells it plainly what you are, where and for whom, instead of leaving it to guess from the text. A well-labelled page is easier to trust and easier to quote.
The schema types a local business needs
You do not need all of Schema.org, just a handful that fit a local business.
| Type | What it is for | Key fields |
|---|---|---|
| LocalBusiness (or a subtype) | Your business as a place | name, address, telephone, openingHours, priceRange |
| Organization | Your brand as an entity | name, url, logo, sameAs |
| Person | The owner or founder | name, jobTitle, sameAs |
| FAQPage | Questions you answer on the page | question, acceptedAnswer |
| Review / AggregateRating | Your reviews and score | ratingValue, reviewCount |
Use the most specific business type that fits: CafeOrCoffeeShop, Bakery or RoofingContractor rather than the generic LocalBusiness. The more precise the type, the better the machine can place you.
A minimal example
This is what a small LocalBusiness block looks like. It sits invisibly in the page head.
{
"@context": "https://schema.org",
"@type": "CafeOrCoffeeShop",
"name": "Café Beispiel",
"address": {
"@type": "PostalAddress",
"streetAddress": "Beispielstraße 1",
"postalCode": "21335",
"addressLocality": "Lüneburg"
},
"telephone": "+49-4131-1234567",
"openingHours": "Mo-Su 09:00-17:00"
}You do not have to write this by hand (more on that below), but it helps to see that it is just a tidy list of facts.
The mistakes that make schema useless
- It contradicts the visible page. Schema has to match what a visitor sees. A phone number in the markup that differs from the one on the page is worse than none.
- Empty or half-filled fields. An
addressleft blank tells the machine nothing. Fill it or leave the field out. - FAQ schema without a visible FAQ. Marking up questions that are not on the page is against Google’s guidelines. The Q&A must be visible.
- The generic type. Plain
LocalBusinessworks, but a specific subtype places you far better.
How to add it without touching code
Most sites never need hand-written JSON-LD. On WordPress, an SEO plugin like Rank Math or Yoast has a schema and local-SEO section where you fill in a form. On Squarespace, the business information fields feed a LocalBusiness block automatically, and a more specific type can go in via code injection. However you add it, test the result with Google’s Rich Results Test and check that the fields actually match your page.
Tie your identity together with sameAs
One field earns special mention for AI visibility: sameAs. It lists the other places the same business or person officially exists, your Instagram, LinkedIn, a Wikipedia entry, your Google Business Profile. To a machine, those links are how separate mentions across the web get resolved to one entity, which is exactly the judgement an AI makes before it decides to name you. Brand mentions now correlate more strongly with AI citations than raw backlinks do, and sameAs is how you connect those mentions to your identity. Add it to your Organization markup and, if you are the face of the business, your Person markup; keep the list to profiles you actually control and keep it current.
It is a GEO signal too
Structured data is one of the four levers of AI visibility: it is the "structure" part, the thing that lets an AI classify you correctly. Combined with clear content and a clean llms.txt, it turns your page from something a machine has to interpret into something it can simply read.
Frequently asked questions
Do I need to know how to code?
No. On most platforms an SEO plugin or the built-in business settings generate the schema from a form. Hand-written JSON-LD is only needed for more specific or custom cases.
Does schema guarantee rich results?
No. It makes you eligible; Google decides when to show them. But without correct schema you are not even in the running.
Can wrong schema hurt me?
Yes. Markup that contradicts your page or fakes reviews can lead to a manual penalty. Accurate and matching is the rule.
Which type should I use?
The most specific one that fits your business, a subtype of LocalBusiness like CafeOrCoffeeShop or Bakery, plus Organization and, where you have them, Review and FAQPage.