LocalBusiness schema on local business pages with address and hours
Why it matters
Local businesses without schema-org LocalBusiness markup are invisible to the structured-data layer of local search. Google's local pack — the map + business listing results that appear above organic results for location-based queries — draws from structured signals including address, telephone, and openingHoursSpecification. A restaurant, clinic, or retail location without PostalAddress schema loses local pack eligibility to direct competitors who implement it. This is a recoverable gap that directly affects foot traffic for businesses with physical locations.
Severity rationale
Low because LocalBusiness schema absence reduces local search visibility without breaking site functionality, and only affects businesses with physical locations.
Remediation
Add LocalBusiness schema to each location page in app/locations/[slug]/page.tsx, generated from your location data source:
const schema = {
'@context': 'https://schema.org',
'@type': 'LocalBusiness',
name: location.name,
address: {
'@type': 'PostalAddress',
streetAddress: location.street,
addressLocality: location.city,
addressRegion: location.state,
postalCode: location.zip,
addressCountry: 'US',
},
telephone: location.phone,
openingHoursSpecification: location.hours.map(h => ({
'@type': 'OpeningHoursSpecification',
dayOfWeek: h.day,
opens: h.open,
closes: h.close,
})),
}
All three top-level properties (address, telephone, openingHoursSpecification) are required for local pack eligibility. Validate each location page with the Google Rich Results Test.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Advanced SEO Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- schema-org · LocalBusiness — LocalBusiness with address, telephone, openingHoursSpecification
- schema-org · PostalAddress — PostalAddress sub-type for address property
Taxons
History
- 2026-04-18·v1.0.0·Initial import from seo-advanced·automated