JSON Schema Structured Data

How to add Local Business Schema

Step-by-Step Guide to Add Local Business Schema Markup

Updated 9.26.2022

People constantly search for businesses and information related to their search query. Your business wants an appealing local business knowledge panel.

If you are learning about the power of gaining rich results in Google SERPs, this essential type of schema markup will not only help you stand out in search, but will also encourage higher click-through rates, better organic traffic volume, and a higher percentage ideal audience conversions. Learn how to choose between adding Local Business schema and Organization schema.

When users query for a type of business (for example, “best Minneapolis Digital Marketing Agency”), Google Search or Maps search results typically display a trusted Google knowledge panel with details about a specific business that matched the search query. Viewers may also see a carousel of several similar businesses related to the query. Having a Globally unique ID of the specific business location in the form of a URL will help you show up.

What is Local Business Schema?

According to the vocabulary, the LocalBusiness type is one subtype of both Organization and Place. This means that it inherits the properties of both these types. Its schema is a type of structured data markup code that may be added to your business’s site to better inform search engines of which business niche identity type that best fits your business.

Local business schema is a common type of structured data markup code that one can add to their business’s website to make it easier for search engines to classify what type of organization you are and what you do. It applies to both local service-based businesses and retail brick and mortar shops. This is a very helpful task to help optimize your website for local SEO, as it’s a major site ranking factor. There are multiple types of properties you can add for your local business schema, but let’s first cover the ones that you don’t want to miss.

8 Steps for adding Local Business Schema Structured Data to a Website

All businesses should add either Local Business or Organization Markup on their websites.

1. Determine the best category for your business.

2. Create an information-rich About Us page.

3. Prepare and test your Local Business schema entities.

4. Use FAQs to support your Local Business or Organization.

5. Troubleshoot Local Business schema markup issues and validate.

6. Add and publish your Local Business schema markup.

7. Keep your Local Business schema markup current.

8. Add a sitemap.

We’ll walk you through each of the eight steps below.

1. Determine the Best Category for Your Business

Determine the best category for your business based on the type of business
It is important to best identify which niche business category you are optimizing. When choosing a schema type, you want to be as tightly themed as possible. At times, nothing fits as well as one would like, but not to worry. In that case, select the generic business type that most closely represents your company, like LocalBusiness or Organization. Then, use the sameAS property to add a Wikipedia or Wikidata entity that further defines your business type.

Both Wikipedia and Wikidata are helpful to further specify a business, but we prefer using a link to Wikidata. Currently, it is better optimized for machines, while Wikipedia is meant more for human readers.

Niche specific local business types: Restaurant schema markup

While there’s the universal schema markup, there are also sub-schema types for food establishments. This can be particularly helpful for niche restaurants and boost local foot traffic even if on a limited marketing budget. Some actually call it “RESTAURANTS schema markup”; we find that by adding the following schema attributes, we help a restaurant gain more business.

  • Cusine (search queries for “Mexican food”, “upscale American fare”, “Italian Ristorante”, etc.
  • Hours (open times + open bookings)
  • Logo (For people who identify a place to eat visually)
  • Locations (for “near me” searches)
  • Menu (for people looking for gluten-free entrees, a kids menu, if cocktails are served, etc.)
  • Founder (if someone searches by name)
  • containedInPlace (if located inside a mall, for example)
  • hasMap (for driving direction)
  • smokingAllowed (this matter to some diners who are adverse to smoke)
  • And more…

For example, for a person in Rochester, MN search for “upscale American fare” or something semantically related, they are likely to have Google display Chester’s Kitchen & Bar. It’s my favorite place to eat when I’m in the area!

Consider this: an online restaurant menu page can effectively function like a retail product page. It just needs the right attributes added. Select a specific business category, not a broad one. So if you own a car repair shop, you can use the Local Business auto shop. More than 400 types of businesses currently exist, so find the one that matches closely. If still unsure, try using the product types ontology.

When nothing is acceptable that seems close to the right category for your business, it’s possible to actually generate it. After finding the Wikipedia page that represents your business category, add that to this URL and add an “additonalType” to your markup.

For example, if I run a gluten-free bakery shop, and I want to be really specific, BakeryStore isn’t QUITE right. I would get the page for Gluten-free Bakery Shop on Wikipedia (, take the part after /wiki/ to accomplish this.

2. Create an Information Rich About Us Page

Follow either or both Google’s schema guidelines and guidelines.

Create or update your About Us page, whichever applies to your situation. This specific page is meant to be all about your and has a unique AboutPage schema data item. It is possible to fill out the relevant fields in such a way as to connect your homepage data entity through the about property.

This relies on viewable content on your About page, meaning the content must be readable to site visitors. Then it is possible to add as many or as few properties as desired to inform search engines of this data item. In this way, you are helping to create your own brand data footprint.

Use Wikipedia or Wikidata entries to help explain your business.

Support your pages’ context by adding an entity-relationship pointing to a Wikipedia article, a Wikidata item, or Dbpedia. Wikidata is a community-driven knowledge graph, strongly linked to Wikipedia; use the one that best aligns and further defines your content. Both Wikimedia commons and Wikimedia projects may want you to agree to the terms in their commons cc0 license text.

Only take further steps when there is a big need to disambiguate content on a web page. Note what is first referenced in the Wikidata entity and then decide which source is best for your entity relationship.

Use the sameAS schema property to connect to a Wikipedia or Wikidata entry that helps resolve ambiguity.

3. Prepare and Test your Local Business Schema Entities

It is best to pre-determine the ideal property entities for your schema linkage. Do this without publishing your schema to avoid markup errors and possible manual penalities. Both the about and SameAs properties help to add critical data information to your LocalBusiness.

The “@id”: “” business identifier

This unique URL identifies the business and should be initially chosen carefully. You can select a URL that returns a page, a URL that returns detailed information in multiple formats, or a URL that returns your basic domain name or nothing. The aim here is to have a unique identifier for the entity.

Product Pages, Articles, and Blog Schema

Note that if you use the Schema App Editor or WordLift to add schema to your Shopify retail site, it will be updated dynamically, connected back to your LocalBusiness or Organization schema – but the code will reside on their sites. Should your business be working with WordPress, the platform will control the JSON-LD from your own WordPress install, or you can easily add it in raw HTML code.

For sites that do not use WordPress, the data is pushed to the knowledge graph where it is all ultimately hosted. WordPress is a management user interface for the data in the Knowledge Graph. Either way, you will want to add entities for the Website URL, image, Business Name, address, publisher, GeoCoordinates, hasMap sourceOrganization properties, as well as openingHoursSpecification and considerably more. For restaurants and similar business types, you’ll be able to add the menu entity.

Under address, fill in all the following fields:

  • address.streetAddress
  • address.addressLocality
  • address.addressRegion
  • address.postalCode
  • address.addressCountry

News, Technical Article, Scholarly Article or Medical Scholarly Articles

If you have news articles, scholarily articles, technical articles, or medical articlaes on your website you can add NewsArticle markup, ScholarlyArticle, TechArticle or MedicalScholarlyArticle with a tool or manually. Properties to connect NewsArticle markup back to the LocalBusiness are much the same as the steps used for BlogPosting.

You will need to understand how the mappings work in order to personalize the structured data behind each page using nested or such schema types.

4. Use FAQs to Support your Local Business or Organization

If you have not already created a web page dedicated to frequently asked questions, do so to tell your audience about how your business works. Then mark-up this page up with FAQPage schema is a great way to make this page eligible for Google Rich Results.

Google is now limiting People Also Ask results from FAQPage markup for Questions and Answers that live on other web pages. this may include your blog posts, tutorials, articles, or even at the bottom of your menu page.

Contact Hill Web Marketing who can manage the step-by-step process of these essential schema markup installations correctly.

5. Troubleshoot Local Business Schema Markup Issues and Validate

It can be challenging to understand the differences that may crop up in real user’s local search results. With rapid updates to schema markup, often they don’t show up in Local SEO or Traditional Search Engine Optimization and Marketing Reports. There is a significant value when you combine numeric data with visual data representations of real search results so that your business can make better-informed decisions.

Any significant changes made to your Google My Business listing may actually go live for users before you are aware of it. If someone unfamiliar with how to make edits generates an error or Google has accidentally marked your business as closed when it is opened, this can hurt your revenue until fixed.

At the time when Google added sponsored competitors within its local map packs in specific areas, we saw such mistakes happen. It may also occur if Google monetizes your GMB pages with deep links to their app partners. It is best to hire a Google expert who is alert to if and when Google updates the arrangement or display of a Google My Business healthcare profile, landing page, Map Pack or Search Result.

Understanding such occurrences will help your business evaluate anomalies in your data that don’t correlate with traditionally data measurements but still have a direct impact on your business’s revenue streams. Additionally, you or another SEO person may have updated your schema markup and it caused issues.

6. Add and Publish your Local Business Schema Markup

There are 3 ways to add your LocalBusiness Schema to your site:

  • Add your custom Local Business schema directly within your HTML code.
  • Use a managed UI, schema App, or plugin.
  • Add markup by using your Google Tag Manager (GTM). Depending on your developer and SEO team, not all sites have the most up-to-date scenario where you have access to the backend or the ability to add plugins.

The LocalBusiness markup type, as well as one of its associated types, is ideally used on your homepage. This implementation translates your human-readable content into the machine-readable data language of JSON-LD, which helps search engines understand your web text.

Deploy only a few pages initially that include this schema structured data type. Once you have tested the code again after implementing it, use your Google Search Console URL Inspection tool to know how Google sees the page.

You may add the JSON-LD markup anywhere on the page. Commonly, sites place it in the head section. This is a practical placement for it, but if your CMS doesn’t make that possible, placing the markup in the body of the page’s content or the footer, or even in an off-site file works. Google states, “You can add LocalBusiness structured data to any page on your site, though it may make more sense to put it on a page that contains information about your business.” [1]

As the use of schema markup grows, this means of using an external file may become more typical of large eCommerce sites.

7. Keep your Local Business Schema Markup Current

Current local business schema guidelines, required and recommended fields continue to change.

Google is retiring some schema types or fields regularly, while new ones. To avoid structured data errors and take advantage of the best and latest opportunities, it is important to audit and update your schema markup. Publishing new content or making existing content changes on your site are important to monitor as well as any updates to Google’s documentation.

To remain competitive in organic search, you need a consistent schedule to maintain all forms of Schema markup; but know that Organization and Local Business schema are considered as key types to implement and keep error-free. We rely a lot on Google’s Rich Results Test.

Social channels

To complete your online profile remember to add links to your social media accounts. You can only so do after specifying an organization or a person. The URL has to point to your main website, and then the sameAs URLs take people and search engines to the social media channels that you are active on.

Reviews: What your customers say about you

Whether we want them or not, reviews remain a significant driver for winning new clientele. This is a bit like a scorecard. It tells both potential customers and search engines that your business provides quality, correct and valuable answers, and can be trusted.

8. Add a Sitemap

Create a readable sitemap and then post it to Google by adding it to your robots.txt file or directly or by another means. When you publish a sitemap, you’re informing search engines as to which URLs you think are most important. Along with your evergreen content and core sales funnel pages, your About Us page, Contact Us, and FAQ pages should always be included.

New Benefit of Implementing Local Business Schema Markup

Starting October 2021, Google will show whether local businesses have products in stock through their Google My Business listing. Sites will have an advantage that makes their product pages more understandable by implementing Local Business schema and Product schema. It is also using the Google Merchant Center to pull product data.

This explains why Google has been talking more about using schema markup for local businesses! It says, “Showing in-store availability is especially valuable for small businesses, helping them attract new local customers”. Google Search will show which local brick and mortar store has the product that shoppers ready want – ready to take off the shelf, pay for, and take home!

How to link the Google Merchant Center and Google My Business accounts

In order for this to work, search marketers and local businesses need to follow the rules and details that Google asks for.

Google provides the following 2 tables of LocalBuliness schema: “Required properties” and “Recommended properties”:

Required properties
@id URL

Globally unique ID of the specific business location in the form of a URL. The ID should be stable and unchanging over time. Google Search treats the URL as an opaque string and it does not have to be a working link. If the business has multiple locations, make sure the @id is unique for each location.

address PostalAddress

The physical location of the business. Include as many properties as possible. The more
properties you provide, the higher quality the result is to users. For example:

"address": {
  "@type": "PostalAddress",
  "streetAddress": "148 W 51st St Suit 42 Unit 7",
  "addressLocality": "New York",
  "addressRegion": "NY",
  "postalCode": "10019",
  "addressCountry": "US"
name Text

The name of the business.

Recommended properties
aggregateRating AggregateRating
The average rating of the local business based on multiple ratings or reviews. Follow the Review snippet guidelines and the list of required and recommended aggregate rating properties.
department LocalBusiness
A nested item for a single department. You can define any of the properties in this table for a department.

Additional guidelines:

  • Include the store name with the department name in the following
    format: {store name} {department name}. For example, gMart and
    gMart Pharmacy.
  • If the department name is explicitly branded, specify a department name by itself. For
    example: Best Buy and Geek Squad.
geo GeoCoordinates
Geographic coordinates of the business.
geo.latitude Number
The latitude of the business location. The precision should be at least 5
decimal places.
geo.longitude Number
The longitude of the business location. The precision should be at least 5 decimal places.
menu URL
For food establishments, the fully-qualified URL of the menu.
openingHoursSpecification Array or single object (both supported) of
Hours during which the business location is open.
openingHoursSpecification.closes Time
The time the business location closes, in hh:mm:ss format.
openingHoursSpecification.dayOfWeek Text
One or more of the following:

  • Monday
  • Tuesday
  • Wednesday
  • Thursday
  • Friday
  • Saturday
  • Sunday
openingHoursSpecification.opens Time
The time the business location opens, in hh:mm:ss format.
openingHoursSpecification.validFrom Date
The start date of a seasonal business closure, in YYYY-MM-DD format.
openingHoursSpecification.validThrough Date
The end date of a seasonal business closure, in YYYY-MM-DD format.
priceRange Text
The relative price range of a business, commonly specified by either a numerical range (for example, “$10-15”) or a normalized number of currency signs (for example, “$$$”)
review Review
A review of the local business. Follow the Review snippet guidelines and the list of required and recommended
review properties.
servesCuisine servesCuisine
The type of cuisine the restaurant serves.
telephone Text

A business phone number meant to be the primary contact method for customers.
Be sure to include the country code and area code in the phone number.

url URL
The fully-qualified URL of the specific business location. Unlike the @id
property, this URL property should be a working link.

Hill Web Marketing is passionate to watch for and be informed of all Google schema structured data updates. We’ve got you covered!

In the end, every business is subject to Google’s interpretation of your business and how much it trusts it. YMYL sites have an even stricter standard to meet E-A-T. Some businesses appear in the Knowledge Panel, while others do not – often without any explanation. Some products win rich listings in Product carousels, including prices, consumer reviews, and availability, while the same or similar product from another retailer doesn’t. There are no hard and fast assurances of what will happen. However, doing your best is likely to pay off. We recommend using the Products feature in Google My Business as well – if you are a Retailer.

How to Make a LocalBusiness Schema Template

You can learn about JSON LocalBusiness Schema via; however, we provide a template below:

<script type="application/ld+json">
"@context" : "",
"@type" : "LocalBusiness",
"name" : "{{Store - Name}}",
"url" : "{{Store - URL}}",
"logo": "",
"image": "",
"hasMap": "{{Store - hasMap}}",
"telephone": "{{Store - Telephone}}",
    "email": "{{Store - Email}}",
"@type": "PostalAddress",
"streetAddress": "{{Store - Street Address}}",
"addressLocality": "{{Store - Locality}}",
"addressRegion": "{{Store - Region}}",
"postalCode": "{{Store - Postcode}}",
"addressCountry": "US"
"@type": "GeoCoordinates",
"latitude": "{{Store - Latitude}}",
"longitude": "{{Store - Longitude}}"
"@type": "OpeningHoursSpecification",
"opens": "{{Store - Mon Open}}",
"closes": "{{Store - Mon Close}}"
"@type": "OpeningHoursSpecification",
"opens": "{{Store - Tue Open}}",
"closes": "{{Store - Tue Close}}"
"@type": "OpeningHoursSpecification",
"opens": "{{Store - Wed Open}}",
"closes": "{{Store - Wed Close}}"
"@type": "OpeningHoursSpecification",
"opens": "{{Store - Thu Open}}",
"closes": "{{Store - Thu Close}}"
"@type": "OpeningHoursSpecification",
"opens": "{{Store - Fri Open}}",
"closes": "{{Store - Fri Close}}"
"@type": "OpeningHoursSpecification",
"opens": "{{Store - Sat Open}}",
"closes": "{{Store - Sat Close}}"
"@type": "OpeningHoursSpecification",
"opens": "{{Store - Sun Open}}",
"closes": "{{Store - Sun Close}}"
"sameAs" :

We recommend that you first understand the lookup table variables set above to fill and validate the various properties.  As the logo, image and social media profiles remain consistent, one can simply hard-code these values, but you can use as many look-up tables across as many properties as you like.

This can then be used within your Google Tag Manager where you want a trigger to fire when a person is on a store page:

We are passionate to push your markup further and gain your business better results! If gaining more local foot traffic matters to you, check out our Local SEO marketing services.

SUMMARY: Local Business Schema Implementation

Hill Web Marketing helps companies create leading-edge, custom local business schema markup that works best for both Organization and Local Business schema. It’s a critical aspect of Local Search Marketing optimization.

Call 651-206-2410 and ask for Jeannie Hill, owner of Hill Web Creations, LLC or read our Ecommerce Schema Markup Guide