LocalBusiness schema
Who needs it: Anyone with a physical location or a defined service area.
What it does for AI citation
Assistants answering 'best X near me' need a machine-readable address, hours and geo. Prose on a contact page is not enough, and the hours in particular are asked for constantly and almost never marked up correctly.
A working example
Paste this into a <script type="application/ld+json"> tag in your page head and replace the values. It is valid as written.
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Example Clinic",
"url": "https://example.com",
"telephone": "+1-555-0100",
"address": {
"@type": "PostalAddress",
"streetAddress": "12 Example Street",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 30.2672,
"longitude": -97.7431
},
"openingHoursSpecification": [{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "17:30"
}]
}What actually goes wrong
These are the errors that show up repeatedly on real sites, in rough order of how often we see them.
- Using the generic LocalBusiness when a specific subtype exists. Dentist, Restaurant and LegalService all carry more meaning than the parent.
- Opening hours written as a string like 'Mon-Fri 9-5:30'. It has to be openingHoursSpecification to be read.
- An address that disagrees with your Google Business Profile. Conflicting signals are worse than one signal.
- Latitude and longitude as strings rather than numbers.
Markup is necessary, not sufficient
Valid LocalBusiness does not buy you a citation. It makes your page legible, which is the precondition. Whether an assistant names you when a buyer asks also turns on your content, how current the page is, and who else on the web corroborates you. Any tool that tells you markup alone will get you cited is overselling.
Check what you have now
Before writing new markup, it is worth seeing whether assistants can reach your pages at all. The crawler checker is free and needs no sign-up.