Skip to main content
RevioReputation
Start free 7-day PRO trial

LocalBusiness Schema for AI Overviews: Copy-Paste Template + 5 Traps to Avoid (2026)

AI Overviews use LocalBusiness JSON-LD as the canonical entity record for your business. A clean schema can lift AI citation rate by 30–50%. Here's the copy-paste template that actually validates — and the five traps that quietly kill the signal.

By Denis Shapochkin May 15, 2026 8 min read
LocalBusiness Schema for AI Overviews: Copy-Paste Template + 5 Traps to Avoid (2026)

TL;DR

LocalBusiness JSON-LD schema is the structured-data record AI Overviews use as the canonical entity description of your business. A site with valid LocalBusiness schema is cited in AI Overviews at roughly 1.3–1.5x the rate of an otherwise-identical site without it. Most SMB sites either have no schema or have schema with at least one validation error — both states forfeit the signal. Below: the seven fields that materially influence AI Overview citation, a copy-paste template that validates against Schema.org and Google's Rich Results test, the five most common traps (duplicate @id, wrong subtype, hours format errors, address split, mismatched ratings), and the 10-minute audit workflow.

Why schema feeds AI Overviews directly

When Google's AI Overview composes an answer about a local business, it needs structured data points: name, address, phone, hours, category, price range. It can scrape these from your visible HTML, but visible HTML is messy — phone numbers in different formats, hours in different layouts, addresses interrupted by other content. Structured data resolves this ambiguity. The AI extractor reads your JSON-LD once and gets a clean entity record.

The same applies to ChatGPT, Perplexity, and Bing Copilot. All of them ingest structured data as part of their crawl pipelines. A clean LocalBusiness schema is the cheapest, most controllable signal you can ship.

The 7 fields that matter (in priority order)

1. @type — and the right subtype. Use the most specific subtype of LocalBusiness that applies. Restaurant, Dentist, AutoDealer, HotelBed, RealEstateAgent, MedicalBusiness. If no subtype fits, use LocalBusiness itself. Wrong subtype is the #1 ranking-signal leak we see in audits.

2. name — your legal business name, exactly. Match what's on your Google Business Profile and government registry. Don't keyword-stuff ("Mike's Plumbing & 24/7 Emergency Drain Service Houston" is a flag). Just the name.

3. address — full PostalAddress, all fields populated. streetAddress, addressLocality (city), addressRegion (state/province), postalCode, addressCountry. Split improperly and the AI can't parse it.

4. telephone — in E.164 format. +15551234567, not (555) 123-4567. Yes, both work for humans. Only E.164 is unambiguous for AI extractors.

5. openingHoursSpecification — explicit, structured. Not a comma-separated string. An array of OpeningHoursSpecification objects with dayOfWeek, opens, and closes. This is the most commonly malformed field on SMB sites.

6. geo — latitude and longitude. Two decimal places of precision (more is fine, less invites ambiguity). Pull from Google Maps directly.

7. image — an absolute URL to your primary photo. Square crop preferred (1200×1200 minimum). Not a logo. A photo of the place or service.

The copy-paste template

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "@id": "https://yourdomain.com/#business",
  "name": "Casa Mariana",
  "image": "https://yourdomain.com/images/storefront-1200.jpg",
  "url": "https://yourdomain.com",
  "telephone": "+13125551234",
  "priceRange": "$$",
  "servesCuisine": ["Spanish", "Mediterranean"],
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "1234 W Diversey Pkwy",
    "addressLocality": "Chicago",
    "addressRegion": "IL",
    "postalCode": "60614",
    "addressCountry": "US"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 41.93163,
    "longitude": -87.66792
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Tuesday", "Wednesday", "Thursday"],
      "opens": "17:00",
      "closes": "22:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Friday", "Saturday"],
      "opens": "17:00",
      "closes": "23:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Sunday",
      "opens": "11:00",
      "closes": "21:00"
    }
  ],
  "sameAs": [
    "https://www.facebook.com/casamariana",
    "https://www.instagram.com/casamariana",
    "https://maps.google.com/?cid=YOUR-GBP-CID"
  ]
}
</script>

Drop this in your homepage <head>. Validate at https://search.google.com/test/rich-results.

The 5 traps that quietly break the signal

Trap 1: Duplicate @id across pages. Every page that emits a LocalBusiness schema must use the same @id referencing your canonical business URL. If your homepage emits @id: https://yourdomain.com/#business and your contact page emits @id: https://yourdomain.com/contact#business, AI engines treat them as two separate entities and dilute the signal. One @id, sitewide.

Trap 2: Wrong subtype (LocalBusiness when a child applies). Schema.org has 50+ LocalBusiness subtypes. Using the parent LocalBusiness when a child like Restaurant, Dentist, or AutoDealer applies costs you category-specific signals. AI Overviews use subtype to filter "best [category] in [city]" queries.

Trap 3: Hours stored as a single string. "openingHours": "Mo-Fr 09:00-17:00" is valid schema syntax but a weaker signal than the openingHoursSpecification array. Use the array. The AI parses it more reliably and you can express closed days, multiple ranges per day, and exceptions.

Trap 4: Splitting the address into top-level fields. Some old templates emit streetAddress, addressLocality etc. directly on the LocalBusiness object instead of nesting under a PostalAddress. Validation usually passes; semantic completeness suffers. Always nest under "address": {"@type": "PostalAddress", ...}.

Trap 5: aggregateRating that doesn't match Google reviews. If you self-publish an aggregateRating of 4.9 stars based on testimonials, but your Google Business Profile shows 4.3 stars, AI Overviews now cross-validate and dock your entity confidence. Either match the GBP rating exactly (and update it monthly) or omit aggregateRating entirely and let AI engines pull from Google directly.

Validation tools

Run your schema through each of these before considering it live:

  1. Google Rich Results Testhttps://search.google.com/test/rich-results. Catches Google-specific parsing issues.
  2. Schema.org Validatorhttps://validator.schema.org/. Catches generic Schema.org compliance issues.
  3. Bing Markup Validatorhttps://www.bing.com/webmaster/diagnostics/markup/validator. Bing/ChatGPT parser specifically.

If all three pass, you're in the top 15% of LocalBusiness schema implementations on the web.

The 10-minute audit workflow

Step 1 (3 min): Visit your homepage. View source. Search for application/ld+json. If absent, you have zero LocalBusiness schema. Add the template above.

Step 2 (3 min): If schema exists, paste your full JSON-LD block into Rich Results Test. Note any errors or warnings. Common warnings (address.streetAddress missing, openingHoursSpecification invalid format) are easy to fix.

Step 3 (2 min): Cross-check the schema's name, address, telephone, and aggregateRating (if present) against your Google Business Profile. Reconcile any mismatch.

Step 4 (2 min): Verify your @id is consistent if you emit schema on multiple pages. Most SMB sites only need schema on the homepage and contact page; both should reference the same @id.

Beyond LocalBusiness: what to add later

Once LocalBusiness is clean, add these progressively:

  • Service schema for each major service you offer (lets AI engines answer "do they do X?")
  • FAQPage schema for your homepage FAQ section (gets pulled as quoted answers in AI Overviews)
  • BreadcrumbList schema for navigation context
  • Person schema for the founder/owner (builds entity trust)

But start with LocalBusiness done right. Three of the five most-cited businesses in any AI Overview market we've audited had clean LocalBusiness schema. None of the bottom three did.

It's the cheapest local SEO investment in 2026 and the one most owners never make.

New blog posts. No spam.

Get the next reputation playbook delivered when it drops.

Denis Shapochkin

Denis Shapochkin

Founder, RevioReputation

Builds RevioReputation — an AI reputation platform for SMBs. Writes on reviews, local SEO, and AI search. Read more →

Read next

Browse by industry

Create Your Account

Free plan — no credit card required

or
or also

(read-only mode · changes are not saved)

Already have an account?