Auditite
Back to blog
Technical SEO Schema Validation 2025-06-20 9 min read

Local Business Schema Markup Guide for SEO Teams

Implement local business schema markup correctly. Covers LocalBusiness types, opening hours, service areas, reviews, and multi-location setups.

A

Auditite Team

local SEOschema markupstructured datalocal search

Why Local Business Schema Matters

Local business schema markup tells search engines exactly what your business is, where it is located, when it is open, and what services it offers. This structured data feeds into Google’s Knowledge Graph and can trigger rich results in local search — including business panels, opening hours, and review snippets.

Without schema markup, Google must infer this information from unstructured text on your pages. With it, you provide explicit, machine-readable data that eliminates ambiguity.

Choosing the Right Schema Type

Do not use the generic LocalBusiness type when a more specific one exists. Google rewards specificity because it enables richer result features.

Common Specific Types

  • Restaurant — enables menu, cuisine type, and reservation features
  • Dentist, Physician, Pharmacy — medical business types
  • Attorney, LegalService — legal profession types
  • Plumber, Electrician, RoofingContractor — home service types
  • AutoRepair, AutoDealer — automotive types
  • RealEstateAgent — real estate type
  • FinancialService, AccountingService — financial types
  • FitnessCenter, GolfCourse, SportsActivityLocation — recreation types

Browse Schema.org’s full hierarchy under LocalBusiness to find the most specific type for your business.

Essential Properties

{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "name": "Downtown Family Dental",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street, Suite 200",
    "addressLocality": "Portland",
    "addressRegion": "OR",
    "postalCode": "97201",
    "addressCountry": "US"
  },
  "telephone": "+1-503-555-0123",
  "url": "https://www.downtownfamilydental.com"
}

name must match your Google Business Profile exactly. Inconsistencies between your schema, GBP, and other citations confuse search engines. See our local SEO guide for citation consistency best practices.

Opening Hours

Use openingHoursSpecification for precise hours:

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "08:00",
    "closes": "17:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Saturday",
    "opens": "09:00",
    "closes": "13:00"
  }
]

For holidays or special hours, add specialOpeningHoursSpecification entries with specific dates.

Geographic Coordinates

"geo": {
  "@type": "GeoCoordinates",
  "latitude": "45.5231",
  "longitude": "-122.6765"
}

Precise coordinates help Google associate your business with map-based searches and “near me” queries.

Service Area

For businesses that serve customers at their locations (plumbers, electricians, delivery services):

"areaServed": [
  {
    "@type": "City",
    "name": "Portland"
  },
  {
    "@type": "City",
    "name": "Beaverton"
  },
  {
    "@type": "State",
    "name": "Oregon"
  }
]

Reviews and Ratings

If you display reviews on your website:

"aggregateRating": {
  "@type": "AggregateRating",
  "ratingValue": "4.8",
  "reviewCount": "247",
  "bestRating": "5",
  "worstRating": "1"
}

Only include aggregateRating if the reviews are genuine and displayed on the page where the schema appears. Fake or hidden reviews violate Google’s structured data guidelines.

Price Range

"priceRange": "$$"

Use a simple dollar-sign scale or a specific range like “$50-$200.”

"image": "https://example.com/photos/office-exterior.jpg",
"logo": "https://example.com/images/logo.png"

Include at least one image of the business. The logo should be a high-resolution, recognizable brand mark.

Multi-Location Implementation

For businesses with multiple locations, each location needs its own LocalBusiness schema on its dedicated location page.

Organization + Location Structure

Use an Organization entity on your main website and LocalBusiness entities on individual location pages:

Main site (about page or homepage):

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Downtown Family Dental",
  "url": "https://www.downtownfamilydental.com",
  "logo": "https://www.downtownfamilydental.com/logo.png"
}

Location page (/locations/portland):

{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "name": "Downtown Family Dental - Portland",
  "parentOrganization": {
    "@type": "Organization",
    "name": "Downtown Family Dental"
  },
  "address": { ... },
  "telephone": "+1-503-555-0123"
}

Department Subsets

If a location has departments (e.g., a hospital with an ER, radiology, and pharmacy), use the department property to nest department schema within the main location schema.

Validation and Testing

Google Rich Results Test

Test your pages with Google’s Rich Results Test to verify schema is valid and eligible for enhanced display.

Common Validation Errors

  • Missing required fieldsname, address, and at least one contact method
  • Invalid opening hours format — times must use 24-hour format (HH:MM)
  • Mismatched NAP — name, address, or phone different from GBP listing
  • Invalid geographic coordinates — latitude/longitude swapped or imprecise
  • Incorrect schema type — using a type that does not match the business

Run regular audits of your structured data to catch errors introduced by template changes or CMS updates. Validate against your site architecture to ensure every location page has proper schema.

Implementation Methods

Place JSON-LD in the <head> section of each page. This is Google’s preferred format and is easiest to implement and maintain.

CMS Integration

For sites with many locations:

  • Generate schema dynamically from your CMS database
  • Use location data fields to populate schema properties automatically
  • Test a sample of generated pages to verify output

For WordPress sites, see our WordPress SEO guide for plugin-based schema options. For Webflow, check our Webflow guide for embed-based approaches.

Local business schema is foundational to local SEO. Implementing it correctly gives search engines the explicit signals they need to present your business in local results, knowledge panels, and map features. Regular validation ensures your schema stays accurate as your business information changes.

Stay in the loop

Get insights, strategies, and product updates delivered to your inbox.

No spam. Unsubscribe anytime.

Ready to see Auditite in action?

Get started and see how Auditite can transform your SEO auditing workflow.

Get started
Get started

Get insights delivered weekly

Join teams who get actionable playbooks, benchmarks, and product updates every week.