Levered

AI Visibility

LocalBusiness Schema: The Structured Data AI Platforms Check Before Recommending You

July 15, 2026 · 9 min read · Levered Technology

AI platforms only recommend businesses they can verify. When ChatGPT, Gemini, or Perplexity answers a local question, it cross-checks what your listings say against what your own website says. If the two disagree, or if your website says nothing machine-readable at all, the safest move for the AI is to recommend someone else.

LocalBusiness schema is how your website passes that check. It is a small block of code that states your name, address, phone, hours, and services in a format machines can read without guessing. Most local businesses still do not have it, which makes it one of the highest-leverage fixes available. This guide covers what it is, the fields that actually matter, a complete example you can adapt, and the mistakes that quietly get businesses skipped.

What LocalBusiness schema is

Schema.org is a shared vocabulary that search engines and AI crawlers use to understand web pages. LocalBusiness is the schema type for a physical business, and JSON-LDis the recommended format: a script tag containing structured data, placed in your page's HTML. Visitors never see it. Crawlers read it on every visit.

Think of it as the difference between a crawler inferring your hours from a styled table in your footer and you handing it a signed, unambiguous statement: "We are open Monday through Thursday, 8am to 5pm." Inference can fail. A declaration cannot be misread.

Why AI platforms check it

Traditional search used schema mainly to power rich results, like star ratings in search listings. AI platforms use it for something more fundamental: verification.

  • It is the canonical record. Your website is the one source you fully control. When your schema matches your Google Business Profile, Yelp, and Apple Maps data, the AI treats your business as a single, consistent entity it can safely recommend.
  • It resolves conflicts. Listings drift and third-party sites go stale. Clean schema on your own domain gives crawlers a tiebreaker when other sources disagree.
  • It answers conversational questions."Is the dentist on Maple Ave open Friday afternoon?" is answered directly from structured hours data. No schema means the AI has to guess, and it usually declines to.

There is no separate "AI schema" to chase. The same LocalBusiness markup that has powered search for years is what AI crawlers read today. If you implement it correctly once, every platform benefits.

The fields that matter most

Schema.org lists dozens of properties. These are the ones that do the verification work:

  • name: your exact business name, matching your Google Business Profile character for character. No taglines, no appended keywords.
  • address: a full PostalAddress with street, city, region, postal code, and country. Use the same suite number format you use everywhere else.
  • telephone: in E.164 format, like +15551234567. One number, the same one on your listings.
  • geo: latitude and longitude. This removes any ambiguity about where you actually are, which matters for "near me" answers.
  • openingHoursSpecification: structured hours per day. This is the field behind most "are they open right now?" answers.
  • sameAs: links to your profiles on Google Maps, Yelp, Facebook, and other platforms. This is how you explicitly tie your website to your listings so crawlers connect them as one entity.
  • url and image: your homepage and a real photo of your business. Small trust signals that round out the record.

A complete example

Here is a full LocalBusiness schema block for a fictional dental practice. Adapt the values and paste it into the head or body of your homepage:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "name": "Bright Smile Dental",
  "image": "https://brightsmiledental.com/images/storefront.jpg",
  "url": "https://brightsmiledental.com",
  "telephone": "+15551234567",
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "482 Maple Ave, Suite 200",
    "addressLocality": "Arlington",
    "addressRegion": "VA",
    "postalCode": "22201",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 38.8797,
    "longitude": -77.1068
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday"],
      "opens": "08:00",
      "closes": "17:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Friday",
      "opens": "08:00",
      "closes": "13:00"
    }
  ],
  "sameAs": [
    "https://www.google.com/maps?cid=1234567890",
    "https://www.yelp.com/biz/bright-smile-dental-arlington",
    "https://www.facebook.com/brightsmiledental"
  ]
}
</script>

Note the @type: it is Dentist, not the generic LocalBusiness. Schema.org defines specific subtypes for most industries, including Restaurant, Plumber, AutoRepair, HairSalon, LegalService, and dozens more. Always use the most specific type that fits your business. A specific type tells crawlers what you do, not just that you exist.

Five mistakes that get businesses skipped

  1. Schema that contradicts your listings. This is the worst outcome, worse than no schema at all. If your website says one phone number and your Google Business Profile says another, you have created the exact conflict that makes AI platforms drop you. Fix your listings first, then make your schema match exactly. Our guide to business listings consistency covers why this cross-checking matters so much.
  2. Multiple conflicting schema blocks. Website builders, SEO plugins, and themes sometimes each inject their own LocalBusiness markup. Crawlers find two records with different data on the same page and trust neither. Audit your pages and keep one authoritative block.
  3. Using the generic LocalBusiness type.It works, but it wastes the field that matches you to intent. Someone asking an AI for "an emergency plumber" is matched against businesses typed as Plumber, not against generic entries.
  4. Skipping sameAs. Without those profile links, crawlers have to infer that the website and the listings describe the same business. With them, the connection is explicit. This is the cheapest entity-matching win in local SEO.
  5. Set-and-forget hours. Schema is code, so it does not update itself. Holiday hours, seasonal changes, and new locations all need to be reflected in your markup, or your website starts contradicting your listings again.

How to validate your markup

Never assume schema works because the page looks fine. Two free tools will tell you exactly what crawlers see:

  • Schema.org validator (validator.schema.org): checks that your JSON-LD is syntactically valid and the properties are recognized.
  • Google Rich Results Test (search.google.com/test/rich-results): shows how Google specifically parses your page and flags missing or malformed fields.

Paste in your page URL, fix anything flagged, and re-test. Then do the one check no tool automates: open your Google Business Profile side by side with your schema and confirm the name, address, phone, and hours match exactly.

Multi-location businesses

If you have more than one location, do not put one schema block with your headquarters address on every page. Each location should have its own landing page with its own LocalBusiness markup: its own address, phone, geo coordinates, hours, and sameAs links to that location's specific profiles. This is one of the reasons dedicated location landing pages are a pillar of local search strategy: they give every storefront its own verifiable record.

Where schema fits in the bigger picture

Schema is necessary but not sufficient. It is one leg of the verification stool, alongside complete, consistent listings and a healthy review base. A perfect schema block pointing at listings full of conflicts and duplicates will not save you. But once your listings are clean, schema is what locks your website into the same trusted entity, and it compounds across every platform that crawls the web.

For the full playbook on getting recommended by AI platforms, read our guide to AI search optimization for local businesses, or see how Levered handles AI visibility end to end.

Want this handled for you?

Levered syncs your business data to 200+ publishers, suppresses duplicates, and keeps you visible everywhere customers search — from Google Maps to ChatGPT. Plans start at $50/month.

← All articles