Does your physical business tell AI exactly where and when it operates?
Confirms each location page declares full address, coordinates, and opening hours as structured data.
What this signal tests
We check whether your physical business locations publish LocalBusiness structured data with a complete postal address (street, city, postal code, country), latitude and longitude, opening hours, and ideally phone number and price range. This is the markup that powers local AI search, voice assistants, and map-based discovery.
Why it matters for your visibility in AI
Local AI search is the fastest-growing slice of AI discovery. Voice assistants, Apple Intelligence, ChatGPT location queries, and Google's local AI Overviews all rely on LocalBusiness markup to answer questions like coffee shop near me or open dentist within 5 miles. Businesses without this markup are invisible to those flows even when they appear on Google Maps, because Maps and structured data feed different downstream systems. The address fields must be complete and the geo coordinates must be precise. A missing postal code, a generic city-only address, or geo coordinates rounded to two decimal places will be treated as low-confidence data and downweighted in proximity-based rankings. For multi-location businesses, every location page needs its own LocalBusiness block; a single sitewide block does not cover all your branches.
Pass criteria at a glance
| Criterion | Passes when |
|---|---|
| LocalBusiness with complete address on locations pages. |
How we test it
We crawl your contact and location URLs and look for a LocalBusiness type (or a more specific subtype like Restaurant, Dentist, HomeAndConstructionBusiness). We confirm the address has streetAddress, addressLocality, postalCode, and addressCountry as an ISO 3166-1 alpha-2 code. We check geo has both latitude and longitude with at least five decimal places, and we confirm openingHoursSpecification is present.
Show technical detection method
@type LocalBusiness or subtype; name + address with all PostalAddress subfields; addressCountry ISO 3166-1 alpha-2.
If your site fails: how to fix it
- Choose the most specific LocalBusiness subtype that fits your business. Schema.org has hundreds: Restaurant, Dentist, HardwareStore, AutoRepair, and so on. Specific subtypes outperform the generic LocalBusiness for AI categorisation.
- Add a JSON-LD block to each location page (not just the homepage) with name, the full PostalAddress, geo coordinates with at least five decimal places of precision, openingHoursSpecification, telephone in international format, and priceRange.
- For multi-location chains, emit one LocalBusiness block per location page. Do not list all locations in one sitewide block; AI tools associate each block with the URL that contains it.
- Make sure the structured address matches your Google Business Profile exactly. Mismatches between structured data and Business Profile reduce local ranking confidence.
- Include sameAs links to your Google Business Profile, Yelp, Apple Business Connect, and other authoritative local listings. This cross-references identity across the local web.
- Validate each location URL in Google's Rich Results Test under the Local Business test type.
Quick facts
| Maturity | ESTABLISHED |
|---|---|
| Weight | high |
| Category | Structured Data |
Primary sources
Related signals
Frequently asked questions
I do not have a physical location. Should I still emit LocalBusiness?
No. LocalBusiness is for businesses customers can visit physically. Online-only businesses should use Organization instead. Misusing LocalBusiness for an online business is treated as deceptive markup and can lower trust scores in both classic and AI search.
How precise should my geo coordinates be?
Five or six decimal places of latitude and longitude resolve to roughly one metre and are the standard for LocalBusiness markup. Two or three decimal places resolve to several hundred metres, which is fine for a city but too imprecise for AI proximity ranking. Use a coordinate finder against your actual storefront, not a generic city centroid.
Does this replace my Google Business Profile?
No, they complement each other. Google Business Profile populates Maps and the local pack; LocalBusiness structured data feeds the broader AI ecosystem (Apple, ChatGPT, voice). Strong businesses maintain both, with consistent data across them. Sites that rely on only one are visible to fewer audiences.
How do I represent variable opening hours like holiday closures?
openingHoursSpecification supports multiple entries with specific date ranges. You can declare regular hours plus an override entry for a holiday closure with validFrom and validThrough dates. Most AI tools respect these overrides, which is why structured hours are more reliable than the visible hours table alone.
Run your own scan
Run a free scan and see how your site grades across all 155 AI-readiness signals.