Guide : LocalBusiness Schema

How to implement LocalBusiness schema, pourquoi Google supports far moins que the complet schema.org spec, choosing the correct subtype, NAP consistency, and how it differs from a Google Business Profile.

Première publication : 1 juil. 2026 · Dernière mise à jour : 3 août 2026 · Advanced
Langues
1 indice probant sur cette page

LocalBusiness schema (schema.org/LocalBusiness) describes a physical business to moteur de recherches. It's a subtype of Organization and Placer, so the complet spec inherits dozens of properties — but Google exige seulement two (nom, adresse) and consumes à propos de a dozen recommended ones. The wins come from en utilisant the la plupart spécifique subtype (Restaurant, LegalService, DaySpa — pas generic LocalBusiness), keeping NAP consistent à travers markup, votre Google Business Profile, and directory citations, and getting the fiddly details correct: geo coordinates besoin au moins 5 decimal places, priceRange doit stay sous 100 characters. The two biggest traps: marking up votre propre star rating with aggregateRating/examiner (that's pour sites reviewing AUTRE businesses — self-serving reviews break Google's guidelines), and treating schema as a substitute pour a Google Business Profile. They're separate systems, reconciled separately, and valid markup seulement rend vous eligible — Google jamais guarantees a rich result.

TL;DR — LocalBusiness is a subtype of Organization and Place, so the complet schema.org spec inherits dozens of properties — but Google exige seulement name + address and consumes ~12 recommended ones. The wins: utiliser the la plupart spécifique subtype (multiple types go in an array; additionalType isn’t pris en charge), garder NAP consistent à travers votre markup, Google Business Profile, and citations, and obtenir the details correct — geo nécessite ≥5 decimal places, priceRange doit stay sous 100 characters. Don’t mark up votre propre aggregateRating/review (that’s pour sites reviewing autre businesses; self-serving reviews break the guidelines), and don’t treat schema as a Google Business Profile substitute — they’re separate, reconciled separately, and valid markup seulement rend vous eligible.

Où it sits: a subtype of Organization and Placer

The unique la plupart utile chose to comprendre à propos de LocalBusiness is its position in the schema.org hierarchy. It’s a subtype of les deux Organization and Place, qui is exactly pourquoi it peut carry general company properties (name, logo, sameAs) and location-specific ones (address, geo, openingHoursSpecification). Que dual inheritance is aussi pourquoi the complet spec is so grand — it pulls properties from two big parent types.

Que matters pour how vous think à propos de the wider Entity & Identity schema picture. A company-wide Organization entity (sitewide, on the homepage) and a per-location LocalBusiness entity are connexe but distinct: un describes the company, the autre describes a placer vous pouvez walk into. Pour the company-level entity, voir Organization schema; pour the personnes behind it, Person schema.

The complet spec vs. ce que Google en réalité consumes

Ce is the distinction la plupart guides blur. schema.org/LocalBusiness inherits dozens of properties from Organization and Place. Google consumes a petit subset. Don’t confuse “schema.org supports X” with “Google will do something with X.”

Evidence for this claim Schema.org exposes many LocalBusiness properties, while Google's search feature uses a narrower documented set. Scope: Schema.org validity compared with Google Search feature support. Confidence: high · Verified: Google: LocalBusiness structured data

Requis (seulement two):

  • address (PostalAddress) — the physical emplacement. Google’s advice: inclure as nombreux adresse sub-properties as possible; the plus vous provide, the plus élevé the quality of le résultat.
  • name — the nom of the business.

Recommended (the properties que en réalité enrich le résultat): aggregateRating, department, geo (with geo.latitude / geo.longitude), menu, openingHoursSpecification (with .opens, .closes, .dayOfWeek, .validFrom, .validThrough), priceRange, review, servesCuisine, telephone, and url.

The takeaway pour prioritizing dev effort: nail the requis pair, alors ajouter the recommended properties que faire votre listing plus complet (hours and geo pour a storefront; servesCuisine and menu pour a restaurant). Filling in obscure inherited properties que Google ignores is wasted effort.

Choosing the correct subtype

Google is explicit: utiliser the la plupart spécifique LocalBusiness sub-type possible — pour exemple Restaurant, DaySpa, HealthClub. Generic LocalBusiness fonctionne, but a spécifique subtype donne engines plus to fonctionner with.

A few practical mappings:

  • Restaurant / café → Restaurant, CafeOrCoffeeShop, BarOrPub (sous FoodEstablishment)
  • Law firm → LegalService (or Attorney)
  • Dentist / doctor → Dentist, Physician (sous MedicalBusiness)
  • Plumber / electrician / general contractor → HomeAndConstructionBusiness subtypes (Plumber, Electrician, GeneralContractor)
  • Consultancy / agency with aucun meilleur fit → ProfessionalService

Si votre business genuinely spans two types, specify les as an array — Google supports multiple @type valeurs que façon. Remarque que additionalType is pas pris en charge pour ce objectif, so don’t reach pour it.

NAP consistency — schema, GBP, and citations

“NAP” (Nom, Adresse, Phone) consistency is longstanding local-SEO meilleur pratique: the même nom, adresse, and phone devrait apparaître identically à travers votre on-page schema, votre Google Business Profile, and directory citations (Yelp, BBB, industry directories). Mismatches — an old suite number ici, a tracking phone number là — muddy the signals engines utiliser to identifier and trust a emplacement.

Un honest caveat: “NAP” is industry shorthand, pas a Google spec term. Google’s LocalBusiness documentation doesn’t utiliser the word. Frame it as well-established local-SEO consensus, pas a quoted Google ranking factor. It encore matters — arguably plus que quelconque unique individual property — parce que it’s à propos de the coherence of votre entity à travers the web, pas un field on un page.

The implementation details que trip personnes up

  • Geo coordinates besoin au moins 5 decimal places. Google states the precision doit be au moins 5 decimal places pour les deux latitude and longitude. A courant slip is a CMS or geocoding outil rounding coordinates to 2–3 places — suffisant to put votre pin in the incorrect block.
  • priceRange has a 100-character ceiling. It doit be shorter que 100 characters; at 100 or plus, Google won’t montrer a price range at tout. Garder it short ($$, or $10–30), pas a paragraph.
  • openingHoursSpecification syntax and edge cas. dayOfWeek accepts complet schema.org URLs (https://schema.org/Monday) or the short nom (Monday). Google’s propre exemples utiliser 24-hour opens/closes times sans seconds (hh:mm); schema.org’s broader Time type aussi accepts hh:mm:ss si votre generator adds it. Four patterns cover almost every cas, straight from Google’s documentation: a normal day ("opens": "09:00", "closes": "17:00"), hours que cross midnight ("opens": "18:00", "closes": "03:00" pour an overnight Saturday), ouvrir tout day ("opens": "00:00", "closes": "23:59"), and closed tout day ("opens": "00:00", "closes": "00:00"). Pour seasonal or holiday closures, ajouter validFrom / validThrough in YYYY-MM-DD (Google’s propre exemple uses "validFrom": "2015-12-23", "validThrough": "2016-01-05") — a nuance la plupart basic implementations skip entirely.
  • Department naming convention. Quand vous nest a department, inclure the store nom with the department nom (e.g., “gMart” and “gMart Pharmacy”) — unless the department is its propre independent brand (e.g., “Best Buy” and “Geek Squad”), in qui cas nom it standalone.

Reviews and ratings: the self-serving-rating trap

Ce un wastes a lot of implementation effort. Google’s docs are clair que aggregateRating and review are recommended seulement pour sites que capture reviews à propos de autre local businesses — a directory or examiner platform, pas the business rating itself. A business marking up its propre star average on its propre page is doing a “self-serving review,” qui violates Google’s review-snippet guidelines; Google stopped showing self-serving examiner stars pour LocalBusiness/Organization années ago. Evidence for this claim Google's review snippet rules make self-serving reviews for LocalBusiness and Organization ineligible for the star review feature. Scope: Google Search review snippet eligibility policy; genuine third-party review contexts are treated differently. Confidence: high · Verified: Google: Review snippet structured data

So si vous were planning to sprinkle votre homepage testimonials into an aggregateRating: don’t. It won’t earn the stars you’re picturing, and it peut cross the line from “no benefit” into “guideline violation.”

Multi-location businesses: un page vs. nombreux

Competitors give hand-wavy advice ici, so let me be concrete. The correct pattern dépend on votre architecture:

  • Un LocalBusiness per emplacement page. The cleanest approach pour a chain: chaque emplacement obtient its propre page with its propre LocalBusiness markup describing que adresse. Vous pouvez tie les to the parent with parentOrganization / branchOf.
  • Nesting sous Organization. At the company level, vous pouvez express the brand as an Organization with locations as subOrganization.

Ce que pas to do: stack five unrelated LocalBusiness blocks flatly on votre homepage. Si une page has un adresse in the footer but five différent LocalBusiness addresses in the markup, you’ve made it ambiguous qui adresse the page is en réalité à propos de. Mark up the emplacement lune page represents.

LocalBusiness schema vs. Google Business Profile

Dire ce plainly parce que la plupart guides bury it: balisage de données structurées ≠ Google Business Profile. Ils are différent systems que Google reconciles separately.

  • Votre Google Business Profile feeds Maps and the local pack directement via Google’s propre systems. It’s the principal driver of “near me” and local-pack visibility.
  • On-page LocalBusiness schema is a corroborating on-site signal Google may utiliser pour Knowledge Panels and enriched results. It is pas a substitute pour a Business Profile — and a Business Profile n’est pas a substitute pour on-page schema.

Vous vouloir les deux, kept consistent (that’s the NAP point à nouveau). Neither un alone fait the other’s job.

Ce que it fait — and doesn’t — guarantee

Valid, guideline-compliant markup rend une page eligible pour a local Knowledge Panel or a business carousel — though “eligible” scopes differently per fonctionnalité. Google’s restaurant carousel, pour instance, is currently limited to a petit définir of participating restaurant providers, so valid Restaurant markup alone doesn’t obtenir an arbitrary site into it. Au-delà que scoping, eligibility encore doesn’t guarantee afficher — Google dit outright que it doesn’t guarantee que fonctionnalités consuming données structurées va montrer up in results. And a remarque on the stats floating autour competitor blogs: numbers comme “30–50% more often in the local pack” or “20–35% CTR lift” circulate widely with aucun principal source. Treat les as unverified marketing claims, pas Google-confirmed outcomes.

Validate avant vous ship

  1. Ajouter the requis properties (name, address), alors the recommended ones que fit votre business.
  2. Validate with the Résultats enrichis Tester and the Balisage de données structurées Validator.
  3. Deploy, alors vérifier with Inspection d’URL in Search Console and requête a recrawl.
  4. Monitor the structured-data reports in Search Console over temps.

Validate, alors deploy — pas the reverse.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.