Request a consultation
Home/Writing/Local business schema markup
Local SEO & Schema

Local business schema markup.

If you serve customers in a place, LocalBusiness schema is how you hand Google and AI search your name, address, hours, and service area as facts instead of guesses. It's one of the highest-return schema types for local sites — and one of the most commonly done wrong.

The short version

Your business, as structured facts.

LocalBusiness is a schema.org type that labels the core facts of a physical or service-area business — name, address, phone (your NAP), opening hours, geo-coordinates, price range, and the areas you serve. Add it as JSON-LD and search engines stop inferring those details from scattered page text and start treating them as declared, machine-readable data they can trust and display.

The properties that matter

Get these right.

You don't need every property — you need the core ones, accurate and consistent with what's on your page and your other listings. Pick the most specific business subtype that fits (Restaurant, Plumber, Dentist) rather than the generic LocalBusiness when one exists.

Get your local schema built
  • NAP — name, address, phoneExactly matching your site and Google Business Profile.
  • openingHoursSpecificationStructured hours, including special and seasonal cases.
  • geo & areaServedCoordinates for a storefront; service area for mobile businesses.
  • Most specific subtypePlumber or Dentist beats generic LocalBusiness.
A common question

Doesn't my Google Business Profile do this?

Not quite — they do different jobs. Your Google Business Profile powers the map pack and your business panel. LocalBusiness schema lives on your own site and reinforces the same facts to every search engine and AI system, not just Google Maps. When your GBP, your schema, and your visible page content all agree, you give search the consistency it rewards — and you control signals on a property you actually own. They work together; schema isn't made obsolete by GBP.

Multi-location businesses

One template, every branch.

If you have more than a few locations, hand-coding each one doesn't scale and drifts out of date fast. The right approach is a dedicated location page per branch, each emitting its own LocalBusiness markup from a single template populated by your real data — so a new branch is correct the moment it's added.

Audit your existing local schema →
  • A page per locationEach with its own NAP and hours.
  • Templated, data-driven markupOne source of truth, not dozens of hand edits.
  • Consistent across branchesNo drift between site, schema, and GBP.

Local business, serious about visibility? Let's get the schema right.

I'll build accurate LocalBusiness markup that matches your site and your listings — single location or a hundred — and validate it end to end.