Local SEO
LocalBusiness Schema Markup Explained — What to Add, Example Code for Indian Businesses and Common Errors
A plain-English guide to LocalBusiness structured data — which properties matter (name, address, geo, hours, sameAs), example JSON-LD for an Indian shop, how to test it, and mistakes that make Google ignore it.
By Chamko Research Team Updated 2 min read
Quick answer
LocalBusiness schema is a small block of JSON-LD code on your website that tells search engines and AI tools your official name, address, phone, hours, location, website and social profiles in a machine-readable way. Use the most specific type (e.g., `Bakery`, `Dentist`, `AutoRepair`), make every value match your Google Business Profile exactly, put it on your homepage and contact page, and test it with Google's Rich Results Test or the Schema Markup Validator.
Quick answer: LocalBusiness schema is a small block of JSON-LD code on your website that tells search engines and AI tools your official name, address, phone, hours, location, website and social profiles in a machine-readable way. Use the most specific type (e.g.,
Bakery,Dentist,AutoRepair), make every value match your Google Business Profile exactly, put it on your homepage and contact page, and test it with Google's Rich Results Test or the Schema Markup Validator.
Why it helps
- Confirms your NAP details consistently with your Google profile.
- Helps AI assistants and search engines connect your website to your business entity.
- Required basis for some rich results (e.g., FAQ markup is separate).
It won't jump you to rank 1 by itself — it's a clarity signal.
Properties that matter most
| Property | Example |
|---|---|
@type |
Bakery, Dentist, HairSalon, Electrician, or LocalBusiness |
name |
Exactly as on your signboard/Google |
address |
PostalAddress with street, locality, region, postal code, country IN |
telephone |
+91-98xxxxxxxx |
url |
Your homepage |
geo |
latitude/longitude of your entrance |
openingHoursSpecification |
Days and times |
sameAs |
Links to Google Maps listing, Facebook, Instagram, Justdial |
image, logo |
Real photo, logo URL |
priceRange |
₹₹ or "₹200–₹800" |
areaServed |
For service businesses |
Example (sweet shop)
{
"@context": "https://schema.org",
"@type": "Bakery",
"name": "Sharma Sweets",
"image": "https://sharmasweets.in/shop.jpg",
"url": "https://sharmasweets.in",
"telephone": "+91-98xxxxxxxx",
"priceRange": "₹₹",
"address": {
"@type": "PostalAddress",
"streetAddress": "Shop 4, Shree Complex, MG Road",
"addressLocality": "Indore",
"addressRegion": "Madhya Pradesh",
"postalCode": "452010",
"addressCountry": "IN"
},
"geo": { "@type": "GeoCoordinates", "latitude": 22.7533, "longitude": 75.8937 },
"openingHoursSpecification": [
{ "@type": "OpeningHoursSpecification", "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"], "opens": "08:00", "closes": "22:00" }
],
"sameAs": ["https://www.instagram.com/sharmasweets", "https://www.facebook.com/sharmasweets"]
}
Generate yours without code using our LocalBusiness schema generator.
Testing
- Rich Results Test (Google) — checks eligibility for Google features.
- Schema Markup Validator (schema.org) — checks syntax.
- After publishing, use Search Console URL Inspection → Request indexing.
Common mistakes
- Different phone or address from your Google profile.
- Fake
aggregateRatingfrom your own reviews (self-serving reviews don't get stars — see reviews on your website). - Marking up businesses you don't own or multiple fake locations.
- Wrong
@type(usingOrganizationwhen a specific local type exists). - Hours that don't match reality.
Frequently asked questions
Do I need schema on every page?
Homepage and contact page are enough for a single location; each branch page gets its own for multiple locations.
Will schema show stars in Google?
Not for your own reviews of your business.
Can website builders add it?
Many have SEO plugins or custom code boxes where you can paste JSON-LD.