Schema markup for local businesses
By the Pickgap team · Updated Oct 15, 2026 · 3 min read
LocalBusiness schema markup is a block of structured data, usually JSON-LD, that states your business name, type, address, phone, hours, website and other facts in a format machines read reliably. It doesn't guarantee any search feature or AI mention, but it backs up the facts on your page and helps systems connect your website to your business.
What schema markup does
Schema markup is a vocabulary (from schema.org) for describing things on a web page in a structured way: this is a business, this is its address, these are its hours. Search engines read it to understand pages, and Google uses some of it for features like business details in results.
For AI search, its value is clarity. A language model can usually work out your hours from plain text, but structured data removes ambiguity and ties your website to your business as one entity. Google says structured data isn't required for its AI features; treat it as backup for your visible content, not a shortcut.
Choose the right type
Use the most specific schema.org type that fits, for example:
| Business | Type |
|---|---|
| Dental practice | Dentist |
| Law firm | LegalService |
| Plumber | Plumber |
| HVAC company | HVACBusiness |
| Roofer | RoofingContractor |
| Electrician | Electrician |
| General contractor | GeneralContractor |
| Moving company | MovingCompany |
| Auto repair shop | AutoRepair |
| Hair salon | HairSalon |
| Gym | ExerciseGym |
| Veterinary clinic | VeterinaryCare |
| Accountant | AccountingService |
| Insurance agency | InsuranceAgency |
| Real estate agent | RealEstateAgent |
If nothing fits, use LocalBusiness.
A JSON-LD example
Put this in a script tag of type application/ld+json on your homepage, and change every value to yours:
{
"@context": "https://schema.org",
"@type": "Dentist",
"name": "Bright Smile Dental",
"url": "https://www.brightsmiledental.example",
"telephone": "+1-919-555-0142",
"image": "https://www.brightsmiledental.example/office.jpg",
"priceRange": "$$",
"address": {
"@type": "PostalAddress",
"streetAddress": "4200 Six Forks Rd, Suite 210",
"addressLocality": "Raleigh",
"addressRegion": "NC",
"postalCode": "27609",
"addressCountry": "US"
},
"areaServed": ["North Raleigh", "Wake Forest", "Brier Creek"],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "07:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "08:00",
"closes": "12:00"
}
],
"sameAs": [
"https://www.facebook.com/brightsmileraleigh",
"https://www.instagram.com/brightsmileraleigh"
]
}Fields worth including
- name, @type, url, telephone, address: the basics. They must match your Google Business Profile exactly.
- openingHoursSpecification: your regular hours.
- areaServed: the places you serve, especially for service-area businesses.
- sameAs: links to your official profiles, which helps connect your site to them.
- priceRange, image and logo: useful extras.
For several locations, put one block on each location page, with that location's details.
Rules to follow
- Only mark up what's visible. Structured data must describe content people can see on the page. Don't add services, reviews or hours that aren't there.
- Don't mark up your own reviews of yourself. Google ignores self-serving review markup for LocalBusiness and may treat it as spam.
- Keep it in sync. When hours change, update the page and the markup together.
How to test it
Run your page through Google's Rich Results Test and the Schema Markup Validator at schema.org. Fix errors; warnings about optional fields are fine.
What to expect
Markup alone won't make AI recommend you. It's a small, one-time job that makes your facts unambiguous. The bigger levers are still reviews, listings on the sites AI cites, and clear page content. See does schema markup help AI search?
Questions
- Does my website builder add schema automatically?
- Some do, often with only the basics. Check with the Rich Results Test. If it's missing or wrong, most builders let you add custom code to the page header.
- Should I add FAQPage markup too?
- You can, for FAQs visible on the page. Google only shows FAQ rich results for some government and health sites, but the markup is harmless and machine-readable.