Guides · Search visibility

LocalBusiness structured data for a local business

LocalBusiness, JSON-LD, required and recommended properties, testing tool: describing your business to Google, with no guarantee it will be shown.

Updated · 5 min read

Structured data describes your business in a format machines read without ambiguity: its name, its address, its phone number, its opening hours. For this, Google relies on a vocabulary shared by search engines, schema.org, whose LocalBusiness type serves shops, practices and workshops.

Here is what this markup can do for a local business, how to write and test it, and what not to expect from it.

What it is for

Google puts it simply: structured data gives it explicit clues about the meaning of a page. For a business, it can use this markup in Search and in Maps, for example in the panel that presents the business, or in a carousel of businesses when someone searches for a category, such as “best restaurants in Nantes”.

Three limits, worth knowing before you start:

  • no guarantee of display: Google writes that it doesn’t guarantee your structured data will show up in the results;
  • the business profile remains the direct tool: that is where you edit opening hours, links and photos, and what shows on the map;
  • nothing special for AI: Google states that no particular schema.org markup is needed to appear in its AI Overviews or AI Mode. It only asks that the structured data match the visible text. The topic is covered in our article on being cited by AI.

The type: as precise as possible

LocalBusiness is the general type. Google recommends using the most precise subtype that exists. Schema.org offers many, grouped in families:

  • food: Restaurant, Bakery, CafeOrCoffeeShop;
  • beauty: HairSalon, BeautySalon, DaySpa;
  • building trades: Plumber, Electrician, HousePainter;
  • and standalone types, such as Dentist for a dental practice.

A business that falls under two types can declare them together, as a list. The additionalType property, on the other hand, isn’t supported by Google.

The properties: two required, the rest recommended

Without the required properties, the page isn’t eligible. The recommended properties improve what Google can show.

PropertyStatusContent
namerequiredthe name of the business, as on the storefront
addressrequiredthe postal address: street, postal code, city, country
telephonerecommendedthe number with the country code, +33 for France
urlrecommendedthe full address of the business’s page, which must work
openingHoursSpecificationrecommendeddays, opening and closing time; validity dates for a seasonal closure
georecommendedlatitude and longitude, with at least five decimal places
priceRangerecommendeda relative price range, in under 100 characters, otherwise Google doesn’t show it
menurecommendedthe link to the menu, for food businesses
servesCuisinerecommendedthe type of cuisine, for a restaurant
departmentrecommendeda distinct department inside the business, such as a supermarket’s pharmacy

Two properties from Google’s list, review and aggregateRating, concern only a special case: a site that collects reviews about other businesses. For your own business, Google is clear: a page that marks up reviews of its own business isn’t entitled to stars in the results. Your testimonials remain useful to your visitors; they won’t produce stars.

JSON-LD, the recommended format

Google accepts three formats, but recommends JSON-LD where possible, because it is the simplest to add and maintain. It is a script block, placed in the page’s code and separate from the visible text, which contains the description of the business.

For a bakery, this block would declare for example:

  • the vocabulary used: schema.org;
  • the type: Bakery;
  • the name: Boulangerie Le Fournil;
  • the address: 12 place Sainte-Anne, 35000 Rennes, France;
  • the phone: +33 2 99 00 00 00;
  • the page address;
  • the opening hours: Tuesday to Sunday, from 07:00:00 to 19:00:00;
  • the price range: “€”.

Google suggests going through a plugin for your site management tool when one exists. Otherwise, the block is written by hand, following the examples in its documentation.

The golden rule: what is marked up is visible

Google sets two general guidelines that apply to all markup:

  • don’t mark up anything that isn’t visible to readers of the page;
  • structured data must faithfully represent the content of the page.

So the opening hours in the markup are the ones shown on the page, and when you change one, you change the other. Misleading markup can earn a manual action: the page then loses its right to rich results, without its ranking in ordinary search being affected, Google specifies.

Test, publish, monitor

  1. Test the code with Google’s Rich Results Test, which says whether the page is eligible for Google’s features and flags blocking errors. The schema.org validator checks the general syntax.
  2. Publish, then run the address through the URL inspection tool in Search Console. Check that the page is blocked neither by the robots.txt file nor by a noindex tag.
  3. Be patient: Google has to come back and crawl the page, which can take several days.
  4. Monitor errors in Search Console, which also flags unreadable structured data.

In short: LocalBusiness markup describes your business to Google in its own language. The most precise type, at least the name and the address, JSON-LD, and nothing that isn’t plainly on the page. Google can use it; it doesn’t promise to show it.

Sources

  1. Google Search Central, Local business structured data (2026)
  2. Google Search Central, Introduction to structured data (2025)
  3. Google Search Central, General structured data guidelines (2026)
  4. Google Search Central, Review snippet structured data (2026)
  5. Google Search Central, AI features and your website (2025)
  6. Google, Rich Results Test
  7. Schema.org, the LocalBusiness type (version 30)
  8. Schema.org, Schema Markup Validator

Read next

Your site, filmed for your business

Describe your business and the scene of your background: the video is filmed for you, you build the page slice by slice, and the copy writes itself into it.

Create my site