The short answer
- Schema markup (structured data) is a block of code that states your business facts (name, address, phone, hours, prices) in a format search engines and AI read reliably.
- Google requires only name and address for LocalBusiness markup, and recommends phone, website, opening hours, map coordinates and price range.
- Use the most specific type that fits (Restaurant, Dentist, Plumber) and JSON-LD, the format Google recommends.
- Markup can make you eligible for richer results but never guarantees them, and it must match what visitors can see on the page.
What is schema markup?
Your page says “Open Tuesday to Sunday, 8 to 4” for people. Schema markup says the same thing in a fixed vocabulary from Schema.org, so software doesn't have to guess what “8 to 4” means or which number on the page is your phone.
The usual format is JSON-LD: a small block of code in your page that visitors never see. Google says it recommends JSON-LD when your site's setup allows it.
Do AI assistants need schema markup?
Not strictly. Google says there's no special structured data you need to add to appear in AI Overviews or AI Mode. But markup removes guesswork about the exact facts people ask assistants for: are you open now, where are you, roughly what does it cost. Clear facts are easier to repeat correctly, and harder to get wrong.
Which properties should I include?
| Property | What it says | Google's guidance |
|---|---|---|
| name | Your business name, as on your sign | Required |
| address | Street, town, postcode and country (a PostalAddress) | Required; include as many parts as you can |
| telephone | Your main number, with country and area code | Recommended |
| url | The page for this location | Recommended; must be a working link |
| openingHoursSpecification | Days, opening and closing times | Recommended |
| geo | Latitude and longitude | Recommended; at least 5 decimal places |
| priceRange | A rough price level, like “££” or “$10–20” | Recommended; under 100 characters |
| servesCuisine, menu | Cuisine and menu link (food places) | Recommended for food establishments |
| aggregateRating, review | Star ratings and reviews | Only for sites that collect reviews about other businesses |
Which type should I use?
Google asks for the most specific LocalBusiness type that fits. Some common ones:
| Kind of business | Type to use |
|---|---|
| Restaurant, café, bakery, bar | Restaurant, CafeOrCoffeeShop, Bakery, BarOrPub |
| Hotel, B&B, hostel, holiday let | Hotel, BedAndBreakfast, Hostel, VacationRental |
| Hair, beauty, nails, spa | HairSalon, BeautySalon, NailSalon, DaySpa |
| Plumber, electrician, heating, roofer | Plumber, Electrician, HVACBusiness, RoofingContractor |
| Gym or fitness studio | ExerciseGym, SportsActivityLocation |
| Dentist, physio, clinic | Dentist, Physiotherapy, MedicalClinic |
| Law firm, accountant, adviser | LegalService, AccountingService, FinancialService |
| Shop with a counter | Store (or a subtype such as ClothingStore) |
| Anything else | LocalBusiness, or Organization if you have no premises customers visit |
What does an example look like?
Here's complete markup for a fictional bakery. Swap in your own details; every value must match what's written on your page.
LocalBusiness JSON-LD for a fictional bakery
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Bakery",
"name": "Example Bakery",
"url": "https://www.example.com/",
"telephone": "+44 20 7946 0000",
"priceRange": "££",
"servesCuisine": ["Bakery", "Café"],
"menu": "https://www.example.com/menu",
"address": {
"@type": "PostalAddress",
"streetAddress": "1 Example Street",
"addressLocality": "London",
"postalCode": "E8 1AA",
"addressCountry": "GB"
},
"geo": { "@type": "GeoCoordinates", "latitude": 51.54512, "longitude": -0.05531 },
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
"opens": "08:00",
"closes": "16:00"
}
]
}
</script>Times use 24-hour hh:mm. For a day you're closed, leave it out of dayOfWeek. For seasonal hours, add validFrom and validThrough dates.
How do I add it to my site?
- Generate it. The free schema generator builds the code from a short form.
- WordPress: many SEO plugins add business markup from their settings. Check you don't end up with two conflicting blocks.
- Wix, Squarespace, Webflow, Shopify: paste the code into the page's custom code or header code settings.
- Any other site: paste it into the page's
<head>, or anywhere in the page's HTML.
How do I test it?
- Paste your page address into Google's Rich Results Test (opens in a new tab). It shows errors and which rich results the page is eligible for.
- Use the Schema Markup Validator (opens in a new tab) for a full check against the Schema.org vocabulary.
- In Google Search Console, use URL Inspection to confirm Google can fetch the page at all.
What mistakes should I avoid?
- Markup that disagrees with the page, such as different hours or an old phone number.
- Plain LocalBusiness when a specific type exists.
- Two or three plugins each adding their own, conflicting block.
- Forgetting to update the markup when you change your hours.
- Expecting guaranteed rich results. Valid markup makes you eligible; Google decides.
Questions people also ask
Type to search these questions, or ask anything about getting found on Google and AI.
Is schema markup a ranking factor?
Google describes structured data as a way to understand a page and to make it eligible for richer results, not as a ranking boost. Treat it as clarity, not a trick.
I have several locations. What do I do?
Give each location its own page with its own LocalBusiness markup: its own address, phone, hours and URL.
Do I need markup if I have a Google Business Profile?
They do different jobs. Your profile feeds Google Maps and your listing; markup describes your own website. Keep the facts in both identical.
Sources
- Local business (LocalBusiness) structured data(opens in a new tab) · Google Search Central
- Introduction to structured data markup in Google Search(opens in a new tab) · Google Search Central
- AI features and your website(opens in a new tab) · Google Search Central
- LocalBusiness(opens in a new tab) · Schema.org
- Rich Results Test(opens in a new tab) · Google
- Schema Markup Validator(opens in a new tab) · Schema.org
Checked on . AI products change quickly; the operators' own pages are the final word.