Published Jun 23, 2026

LocalBusiness Schema: The Structured Data Every Local Site Needs

A plain-English guide to LocalBusiness schema markup, with a copy-paste JSON-LD example, the properties Google requires, and how structured data helps local businesses show up in search and AI answers.

schemalocal-seostructured-data

LocalBusiness schema is a small block of code you add to your website that tells search engines exactly what your business is, where it operates, and how to reach you. It turns loose text on a page into labeled facts a machine can trust. Every local business site should have it, and adding it takes about fifteen minutes.

Most sites still skip it. In the HTTP Archive Web Almanac 2022 structured data report, LocalBusiness JSON-LD appeared on just 2.8% of mobile pages. That is a real opening for a Minneapolis owner who wants to be the clear, machine-readable answer when someone searches for a plumber, a bakery, or a law firm nearby.

What is LocalBusiness schema, in plain English?

Schema markup is a shared vocabulary from schema.org that both Google and Microsoft support. LocalBusiness is the specific type for a business with a physical location or defined service area. Instead of hoping a search engine reads your address correctly out of a footer, you hand it structured labels: this is the name, this is the street, these are the hours, this is the phone.

The recommended format is JSON-LD, a block of JavaScript Object Notation you drop into the page. Google names JSON-LD as its preferred structured data format because it sits in one place in your code and does not tangle with your visible layout. You do not need a plugin or a developer degree to understand it. You need the right fields in the right shape.

Think of it as a fact sheet you staple to your page for robots. People still see your normal design. Search engines and AI assistants read the fact sheet.

What does Google actually require in LocalBusiness schema?

Google's LocalBusiness structured data documentation lists only two required properties: name and address. The address must be a full PostalAddress object with separate fields for street, city, region, and postal code, not one line of plain text.

Everything else is recommended, and the recommended fields are where local sites win. Adding geo coordinates removes the guesswork of Google trying to geocode your address on its own. Adding openingHoursSpecification, telephone, priceRange, and image gives search and AI engines the exact details they surface in results and answers.

Property Status What it does
name Required Your business name, matching signage and listings
address (PostalAddress) Required Structured street, city, region, postal code
geo (GeoCoordinates) Recommended Pins your exact location, no geocoding guess
telephone Recommended The number AI answers can quote directly
openingHoursSpecification Recommended Hours by day, including holidays
priceRange Recommended A rough band like $ or $
url and image Recommended Canonical link plus photos in multiple ratios
sameAs Recommended Links to your verified profiles

Use the most specific type that fits. Schema.org offers narrower subtypes like Restaurant, Dentist, or HomeAndConstructionBusiness that inherit every LocalBusiness field and add detail. If none fit, LocalBusiness is the safe default.

What is the LocalBusiness JSON-LD code I can copy?

Here is a complete, valid example. Replace the placeholder values with your own real details, then place the whole block in the <head> of your homepage or add it through your site builder's custom code or header snippet feature. This example uses a fictional business and a reserved 555 phone number, so swap in your true information before you publish.

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "@id": "https://example.com/#business",
  "name": "Example Coffee Co.",
  "url": "https://example.com",
  "image": "https://example.com/storefront.jpg",
  "telephone": "+1-612-555-0100",
  "priceRange": "$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Washington Ave N",
    "addressLocality": "Minneapolis",
    "addressRegion": "MN",
    "postalCode": "55401",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 44.9857,
    "longitude": -93.2716
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "07:00",
      "closes": "18:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Saturday", "Sunday"],
      "opens": "08:00",
      "closes": "16:00"
    }
  ],
  "sameAs": [
    "https://www.facebook.com/yourpage",
    "https://www.instagram.com/yourhandle"
  ]
}

The @id gives your business a stable identifier that other schema on your site can point back to, which keeps your markup consistent as you grow. Keep the name, address, and phone identical to your Google Business Profile and your other listings. Search engines cross-check these, and mismatches quietly cost you trust.

Does schema markup help me show up in AI search?

Structured data does not force a ranking, and no honest agency will promise it does. What it does is remove ambiguity. When ChatGPT, Perplexity, or Google's AI answers assemble a response about local options, clean labeled facts are far easier to extract and quote than facts buried in prose. If your hours, service area, and phone are machine-readable, you are easier to cite correctly.

That is the same logic behind our broader argument in local SEO versus GEO for Minneapolis businesses: the fundamentals that make you legible to Google increasingly make you legible to AI as well. Schema is one of the cheapest fundamentals to fix. It costs an afternoon, not a retainer.

We run this on our own brands and our clients' sites through our Minneapolis local SEO service, and the pattern holds: structured, consistent business data is table stakes for showing up cleanly across both classic search and AI answers.

How do I add and test this on my site?

Add the JSON-LD block once, sitewide, ideally in a shared header so every page carries it. Then validate before you trust it.

  1. Paste your code into Google's Rich Results Test and confirm it detects LocalBusiness with no errors.
  2. Run it through the Schema.org Validator to catch any property you spelled or nested wrong.
  3. After Google recrawls, check the Enhancements reports in Search Console for warnings.

Fix warnings as they appear. Schema is not a set-and-forget task: update hours when they change, keep the address matched to your listings, and revalidate after any redesign. If your business data lines up everywhere, you have handled one of the highest-leverage local tasks there is. For the wider playbook, our guide to local SEO for small businesses in Minneapolis covers the listings and reviews that pair with your markup.

Frequently asked questions

Does LocalBusiness schema guarantee I will rank higher? No. Schema helps search engines understand and display your business accurately, which can improve how you appear in results and how easily AI tools cite you. It is an eligibility and clarity signal, not a direct ranking boost. Treat it as a foundation, not a shortcut.

Where exactly do I put the JSON-LD code? Inside a script tag in the head of your pages, or through your site builder's custom code or header snippet setting. Most modern builders and content systems have a field for header code. Adding it once in a shared header applies it across your whole site.

Do I need geo coordinates if I already list my address? They are recommended, not required. Adding latitude and longitude removes the small chance that Google places you at the wrong spot when it converts your street address into a map location. For a business that lives or dies by foot traffic, the precision is worth the two extra lines.

What if I serve customers but do not have a storefront? Use the areaServed property to name the cities or regions you cover, and consider a service-area business setup instead of a fixed public address. The rest of the markup, name, phone, hours, and profiles, still applies.

Want to know whether AI tools currently describe your business correctly? Check your AI visibility and we will show you what the machines see.

Written by Henry Bendickson, Ellment Creative.

Google isn't the only place people search now

More customers now ask ChatGPT, Perplexity, and Google's AI Overviews who to hire before they ever open a map. We track whether those answer engines name your business every day, and build the content engineered to earn the mention.

Explore AI Search Visibility

See where you stand in AI search

We run a free, no-obligation check on whether ChatGPT, Perplexity, and Google AI Overviews recommend your business, and show you the tracking. Founder-led, and we work in English and español.