LocalBusiness Schema: The Complete 2026 Guide

LocalBusiness schema is the cornerstone of local SEO structured data. For any business with a physical location, proper LocalBusiness markup directly...

Dilshad Akhtar
Dilshad Akhtar
Published: 18 June 2026
3 min read
TL;DRAI summary
  • LocalBusiness is a subtype of Organization and Place .
  • Google requires name and address for LocalBusiness rich results.
  • openingHoursSpecification uses the OpeningHoursSpecification type with full day names and 24-hour time: { '@type': 'OpeningHoursSpecification'...
  • Add geo with GeoCoordinates to pin your location precisely: { '@type': 'GeoCoordinates', 'latitude': 45.5155, 'longitude': -122.6789 } Accurate...
  • For chains with multiple locations, each gets its own LocalBusiness block.
  • Provide both a logo square, at least 112x112px and representative image or photo at least 1200px wide .
  • priceRange uses a string like '$', '$$', or '$$$' for cost tier.
  • Mismatched NAP Name, Address, Phone data is the most common error.
  • LocalBusiness subtype matches the business category exactly NAP data matches Google Business Profile exactly openingHoursSpecification uses full...

LocalBusiness schema is the cornerstone of local SEO structured data. For any business with a physical location, proper LocalBusiness markup directly influences Google Business Profile integration, local pack rankings, and map-based search visibility.

Understanding LocalBusiness and Its Subtypes

LocalBusiness is a subtype of Organization and Place. Schema.org defines over 40 specialized subtypes including Restaurant, Dentist, Store, Gym, HairSalon, RealEstateAgent, and AutomotiveBusiness. Using the correct subtype signals your exact business category, improving relevance for category-specific local searches (Schema.org, "LocalBusiness Type," 2026).

A restaurant should use @type: Restaurant, a dental practice @type: Dentist. While LocalBusiness works as a generic fallback, the subtype provides richer mapping to Google's local categories.

Required Properties for LocalBusiness

Google requires name and address for LocalBusiness rich results. The address uses the PostalAddress type:

{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Bella Vita Ristorante",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street",
    "addressLocality": "Portland",
    "addressRegion": "OR",
    "postalCode": "97201",
    "addressCountry": "US"
  },
  "telephone": "+150****1234",
  "url": "https://bellavita.example.com"
}

address requires streetAddress, addressLocality, addressRegion, and postalCode at minimum. addressCountry uses ISO 3166-1 alpha-2 code.

Opening Hours Specification

openingHoursSpecification uses the OpeningHoursSpecification type with full day names and 24-hour time:

{
  "@type": "OpeningHoursSpecification",
  "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
  "opens": "11:00",
  "closes": "22:00"
}

For multiple time windows in a single day (e.g., lunch and dinner service), declare separate entries for the same day.

Geo Coordinates and Map Integration

Add geo with GeoCoordinates to pin your location precisely:

{
  "@type": "GeoCoordinates",
  "latitude": 45.5155,
  "longitude": -122.6789
}

Accurate coordinates improve map-based results and reduce ambiguity when addresses are incomplete or recently changed. Validate against a mapping API before deploying.

Multi-Location Businesses

For chains with multiple locations, each gets its own LocalBusiness block. The parent brand is declared as parentOrganization referencing a separate Organization schema:

{
  "@type": "Restaurant",
  "name": "Bella Vita Pearl District",
  "parentOrganization": {
    "@type": "Organization",
    "name": "Bella Vita Restaurant Group",
    "url": "https://bellavita.example.com"
  }
}

Use parentOrganization for corporate hierarchy and branchOf for franchise-style relationships — not sameAs, which is for cross-platform identity.

Image and Logo Requirements

Provide both a logo (square, at least 112x112px) and representative image or photo (at least 1200px wide). The logo should match your Google Business Profile branding. Mismatched logos between structured data and GBP can cause conflicting trust signals (Google Search Central, "Local Business Structured Data," 2025).

priceRange uses a string like "$", "$$", or "$$$" for cost tier. servesCuisine (for restaurants) uses strings like "Italian" or "Mexican". areaServed uses AdministrativeArea or City for service regions. aggregateRating and review work the same as for Product schema — only markup genuine reviews on the page. hasMap links to a map URL, typically Google Maps.

Common LocalBusiness Schema Errors

Mismatched NAP (Name, Address, Phone) data is the most common error. Structured data values must match your Google Business Profile exactly — even "St." vs "Street" differences can confuse entity resolution (Google Search Central, "Structured Data Policies," 2025).

Incorrect day-of-week formatting fails validation silently. Use full English names: "Monday", not "Mon" or "MONDAY". Missing telephone with country code reduces confidence — always use E.164 format.

Audit Checklist

  • [ ] LocalBusiness subtype matches the business category exactly
  • [ ] NAP data matches Google Business Profile exactly
  • [ ] openingHoursSpecification uses full day names and 24-hour time
  • [ ] geo coordinates are within 100 meters of the actual location
  • [ ] logo image is at least 112x112px in square dimensions
  • [ ] parentOrganization links to the correct brand Organization schema
  • [ ] priceRange is present for applicable business types
  • [ ] telephone uses E.164 format with country code

Conclusion

LocalBusiness schema is a high-priority implementation for any business with a physical location. The markup reinforces Google Business Profile data, enables local pack visibility, and powers map-based search features. Use the correct subtype, match your NAP data precisely, and provide complete...

Ready to Build Your Dream Website?

Let's discuss your project and create something amazing together.