Ultimate How-to Guide for Local Business Schema Markup

There’s something satisfying about searching for a business and finding all the information you want presented in an attractive knowledge panel. Have you wondered how to make your own business eligible for this kind of search experience? We’ve compiled this ultimate guide to teach you all you need to know about local business markup. Adding Local Business Schema Markup to your website can make you eligible for rich results, and these results can help you stand out in search, generating higher click-through rates, higher organic traffic, and more conversions. 

What is “Local Business” Schema?

When we talk about Local Business schema, we’re really talking about types and properties within the schema.org vocabulary that are used to categorize and define information about businesses. The LocalBusiness type, or one of its associated types, should typically be used to markup your homepage. Adding Local Business markup to your website translates your human-readable content into the machine-readable language of JSON-LD.

Within the schema.org vocabulary, the LocalBusiness type is a subtype of both Organization and Place, so it inherits the properties of both these types. Schema.org defines LocalBusiness as “A particular physical business or branch of an organization. Examples of LocalBusiness include a restaurant, a particular branch of a restaurant chain, a branch of a bank, a medical practice, a club, a bowling alley, etc.” You’ll notice that the definition lists many more specific kinds of local businesses.

Much like this list, the LocalBusiness type contains a wide variety of subtypes that can be used to define your business more specifically. The full list of schema.org types can be found in their Full Hierarchy where indentations denote a subtype relationship in the hierarchy of terms. We encourage you to check out schema.org’s definitions for any types that are relevant to your business, that way you can be sure you’re using the most accurate type. 

What kind of organization are you?

The next step is to identify what kind of business you are optimizing. As you can see from the list above, schema.org provides you with a lot of options. When choosing a type, you want to be as specific as possible. If nothing fits well, don’t worry. Pick a more generic type, like LocalBusiness or Organization, and use the sameAS property to connect to a Wikipedia or Wikidata entry that further defines your business type.

TIP! Both Wikipedia and Wikidata can help you specify your business, but if given the option, link to Wikidata. Wikidata has been optimized for machines, while Wikipedia is meant for human readers. 

 

The most general type of business is an Organization. Organization has the following types:

Local Business has the following types:

Before You Begin

Required and Recommended Properties

Google maintains documentation explaining exactly what’s required for “Local Business” markup to be eligible for rich results within search. We’ve captured the required fields below, as listed when this post was published. You must populate the required properties for your content to be eligible for display as a rich result. Recommended properties add more information to your structured data, which could provide a better user experience.

https://schema.org/LocalBusiness
Schema Property Priority Mapping Notes
@id Required Schema App automatically creates @ids for each of your data items. This is a globally unique ID of the specific business location which is stable and unchanging over time.
address Required https://schema.org/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.

name Required The name of the business.
aggregateRating Recommended https://schema.org/AggregateRating

The average rating of the local business based on multiple ratings or reviews.

department Recommended https://schema.org/LocalBusiness

A nested item for a single department. 

geo Recommended https://schema.org/GeoCoordinates

Geographic coordinates of the business.

openingHoursSpecification Recommended https://schema.org/OpeningHoursSpecification

Hours during which the business location is open.

priceRange Recommended 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 Recommended https://schema.org/Review

A review of the local business

telephone Recommended 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 Recommended The fully-qualified URL of the specific business location. Unlike the @id property, this URL property should be a working link.

TIP! For more information about adding Rating and Review markup, check out our tutorial Creating “Review” Schema Markup Using the Schema App Editor.

The following types (GeoCoordinates, OpeningHoursSpecification) were listed above as being recommended by Google. However, adding these to your markup can make rich results more robust. These recommended types have their own required and recommended properties:

https://schema.org/GeoCoordinates
Schema Property Priority Mapping Notes
latitude Required Number

The latitude of the business location. The precision should be at least 5 decimal places.

longitude Required Number

The longitude of the business location. The precision should be at least 5 decimal places.

TIP! Don’t know your business’ geo coordinates? They can be found by searching for the associated address in Google Maps. The URL of the location will have both the latitudinal and longitudinal values.

https://schema.org/OpeningHoursSpecification
Schema Property Priority Mapping Notes
closes Required https://schema.org/Time

The time the business location closes, in hh:mm:ss format.

dayOfWeek Required One or more of the following:

  • Monday
  • Tuesday
  • Wednesday
  • Thursday
  • Friday
  • Saturday
  • Sunday
opens Required https://schema.org/Time

The time the business location opens, in hh:mm:ss format.

validFrom Recommended https://schema.org/Date

The start date of a seasonal business closure, in YYYY-MM-DD format.

validThrough Recommended https://schema.org/Date

The end date of a seasonal business closure, in YYYY-MM-DD format.

TIP! If certain days have different opening hours, create a separate OpeningHoursSpecification data item for those days.

Google’s documentation also lists some types that are specific to the FoodEstablishment type, or it’s more specific subtypes (e.g Bakery; BarOrPub; Restaurant). These are:

https://schema.org/FoodEstablishment
Schema Property Priority Mapping Notes
menu Recommended URL

The fully-qualified URL of the menu.

servesCuisine Recommended The type of cuisine the restaurant serves.

As you can tell from the number of properties at your disposal, there’s a lot you can leverage with your Local Business schema markup. Wondering how all of it might fit together? This diagram illustrates an example of LocalBusiness markup in the form of a graph. It shows all the required properties (in yellow), and some of the more common recommended properties (in blue).

TIP! For the most current guidelines on required and recommended fields, reference the Google documentation on Local Business markup.

Preparing Your Markup

Before we start creating your schema markup, you’ll need to gather the information found in the table below. This strategy piece will be the most time-consuming part of your Local Business markup, but it makes the process more efficient in the long run. Examples of the various fields have been provided as well as additional guidance to help you complete the list. Note: the homepage of the business is usually what you markup as the Local Business.

We also have a handy Google Sheets template that you can use to do this prep work for your markup. You can make yourself a copy of it here.  

Schema Property Field in English Description & Guidance Example
type Local Business Type Look at the list of Local Businesses above and choose the most specific type possible. Bar or Pub
url Website URL Include http:// and https:// where applicable https://bakerstreetstation.ca/
name Business Name Name of the Business as it appears in your directory listings (NAP) Baker Street Station
address Address Same Address as you use in your directory listings and in NAP 76 Baker St, Guelph, Ontario, Canada, N1H 4G1
additional Type Business Type Descriptor Use this to clarify the business type with more specificity using a Wikipedia definition. Gastro Pub

Wikipedia entry: https://en.wikipedia.org/wiki/Gastropub

sameAs Social Media profiles or listings. In essence it is asking for other pages on the web that represent the same thing.  Link to social media accounts or directory listings shown on the page. https://twitter.com/BakerStStation

https://www.facebook.com/bakerstreetstation/


https://www.instagram.com/bakerststation/

description Description of the Business. Use the description visible on your page or your meta description.  Craft Beer and Good Food in #Guelph.
hasMap Map If the map is shown on the page then you can include the map. To get the link, find the business on Google Maps, and click on the “share” icon. Copy URL. Link to map.
geo Latitude and Longitude Go to http://www.latlong.net/  and enter your business address Long: 43.547751

Lat: -80.252402

telephone Telephone Number Country Code and Number. Use format +X-XXX-XXXX or +XX-XXXXXXX +1-519-265-7960
image Image URL of an image that is on the page. You can often get this by right clicking on the image and copying the address or from your website media folder. https://bakerstreetstation.files.wordpress.com/2013/10/baker-pub-pint.jpg   
logo Logo Link to the logo of the business on the website. You can often get this by right-clicking on the image and copying the address, or from your website media folder. https://bakerstreetstation.files.wordpress.com/2013/10/baker-st-small.png
opening hours specification Opening Hours What days is the business open and what time?  Is there a period with specific opening hours? You can create as many of these as you need for current hours and also special holiday hours.

Time format will be in the 24 hour clock and use the format HH:MM:SS

Monday-Friday Opens: 11:30:00

Closes: 00:00:00

Saturday-Sunday Opens: 11:00:00. Closes: 00:00:00

menu menu URL URL to the Menu on the website if applicable https://bakerstreetstation.ca/menu/
accepts reservations Restaurants only. Yes/No No
serves cuisine Type of Cuisine

Restaurants only.

What type of cuisine do you serve? English Pub Food
aggregate rating Average Rating from business’s reviews Using reviews that exist on your website (not Google or Facebook) and are from a third party app. The average rating across those reviews is the aggregate rating. 

Creating Your Markup

You’ve done all the prep work. You understand what you need to do the markup, now let’s create it! This short video demonstrates the basics of creating Local Business markup. Read on for a detailed step-by-step tutorial with screenshots, based on our example business.

Create a local business data item 

For this particular case, we’ve gone further and chosen “Bar or Pub” as our type or class, in order to be more specific. As mentioned earlier in this guide, find the most suitable type for your particular organization. 

Find your type in the Schema.org Types section of the Schema App Editor and click “Create”. The following window will appear. In the Name field, enter the name of the business, then double check that the URI matches the URL of the page you are looking to deploy the markup to. When you’re sure, click “Create”.

TIP! Always copy the URL from the address bar to avoid any typos or missing trailing slashes.

What you will see next is the various recommended and required fields, as well as other fields. Each of these sections have the properties ordered alphabetically. 

Create and populate a “Postal Address” data item

The first field available to fill out is the address field. The type of data item that is expected is a PostalAddress data item. Simply name your data item, choose “Postal Address” from the type drop-down and click “Create”.

Most of the fields (locality, region, postal code & street address) are expecting text and are, therefore, simple to complete. The country field is one where you can create a link with Wikipedia by using our “Search Wiki” function to find a suitable page to reference.

Add an image to the image field

Google continues to make changes to its documentation for the requirements around image markup. The simplest way to add an image is to copy the image address and paste it directly into the image field.

If you would like to convert this to an ImageObject, you can use our Image Repair tool to do so. This is best if you would like to add licensing information to the data item. This Optimizing for Google’s Image License Metadata Feature Tutorial describes this process in detail.

Accepts Reservations: Choose from the dropdown

This is a simple true/false selection. Remember to only indicate this if relevant and mentioned on your homepage. 

Add an aggregate rating data item

If you have an aggregate rating on display on the page you are marking up, then you can definitely create this data item. We have a tutorial dedicated to aggregate rating and review markup. For assistance with this piece, see Creating “Review” Schema Markup Using the Schema App Editor

Add department information (if relevant)

Schema.org defines the department property as: “A relationship between an organization and a department of that organization, also described as an organization (allowing different urls, logos, opening hours). For example: a store with a pharmacy, or a bakery with a cafe.” If this property is relevant to you and your markup, create another data item, and link them together via the department field.

Create a “GeoCoordinates” data item

In the geo field, name your data item, click on “Convert to data item” and then click “Create”. Make sure to have the latitude and longitude information available based on the address listed on your page. Once you populate these fields, click “Done”.

 

Add menu information to “Has Menu” field

This property may or may not apply to you. If it is available—based on the type you’ve selected for your organization—you will want to insert the URL of the page where your menu exists on your site.

There is no need to create a data item, simply paste the URL and click “Done”. 

Create “Opening Hours Specification” Data items

If your hours are listed on your homepage, you can add them via this property. You can find detailed information about how to add this markup here.

TIP! Use this to add information about your opening hours on holidays.

Continue to go through the rest of the recommended fields

The last three recommended properties for our example are priceRange, review and telephone. For the price range, you want to use the “$” symbol to indicate the range of pricing for your business. This can be displayed like “$$” or like this “$$-$$$”, for example.

As with the aggregate rating, we have detailed information about how to add review markup here. If you have reviews/testimonials listed on your page make sure to mark them up!

Lastly, with the telephone number, always remember to include “+” and the country code (e.g. +1(555)555-5555). The rest of the format of the telephone number doesn’t matter. 

Other fields: complete relevant and available fields

We’ve made our way past the required and recommended fields for our example. We now have a very long list of “other” fields available for marking up your business. With schema markup, sometimes less is more. Try not to focus on completing everything, but rather fill out the fields that provide additional context and value. 

Here are some fields that are most relevant to local business markup, and how to complete them. 

Area Served

For the area served, you want to use our “Search Wiki” function to find Wikipedia pages that best describe the geographical area that your business serves.

To add these, use the field as a search box and then click “Search Wiki”. A list of options will appear below. Find the most relevant item, and click on it to link.

Additional Type

Additional type is a property that you can use in order to further clarify the business. It is great for adding additional context, beyond the schema.org type that you have chosen. 

We did a quick Wikipedia search for “Gastropub”, and then used that URL in the field. Simply paste it in and click “Done”. 

Description

This field only needs text. You can copy and paste a description directly from your page. An alternative is to view the page source and search for the meta description. Once found, copy and paste it into the description field. 

Logo

Just like the image, you can simply paste the URL of the logo into this field. 

SameAs

This is an opportunity to link external sites which unambiguously indicate your business’ identity. This is where you can link your social media profiles and even your Wikipedia page, if you have one. 

Serves Cuisine

This field is looking for text describing the type of cuisine served. It only applies to restaurants.

URL

This is the URL of your page. Copy it directly from the address bar and paste it in.

Sample JSON-LD from Baker Street Station Example

From the Schema App Editor you are able to see all the JSON-LD that you’ve created. In order to visualize the work we have done, here is the JSON-LD of the BarOrPub data item that we created for Baker Street Station. 

<script type="application/ld+json">
{
    "@context": "http://schema.org",
    "@type": "BarOrPub",
    "areaServed": "http://www.wikidata.org/entity/Q504114",
    "telephone": "+1519-265-7960",
    "description": "Craft Beer and Good Food in #Guelph.",
    "sameAs": [
        "https://twitter.com/BakerStStation",
        "https://www.facebook.com/bakerstreetstation/",
        "https://www.instagram.com/bakerststation/"
    ],
    "image": "https://res.cloudinary.com/scvr/image/upload/c_fill,dpr_auto,f_auto,g_auto,q_auto,w_576/v1/production/gallery_photos/images/000/003/995/original/baker_logo.png",
    "hasMenu": [
        "https://bakerstreetstation.ca/menu/beer-takeout?",
        "https://bakerstreetstation.ca/menu/wing-night?"
    ],
    "logo": "https://res.cloudinary.com/scvr/image/upload/c_fit,dpr_auto,q_auto,w_500/v1/production/gallery_photos/images/000/003/995/original/baker_logo.png",
    "additionalType": "https://en.wikipedia.org/wiki/Gastropub",
    "acceptsReservations": false,
    "priceRange": "$$",
    "servesCuisine": "English Pub Food",
    "name": "Baker Street Station",
    "url": "https://bakerstreetstation.ca/",
    "address": {
        "@type": "PostalAddress",
        "streetAddress": "76 Baker St",
        "postalCode": "N1H 4G1",
        "addressRegion": "Ontario",
        "addressLocality": "Guelph",
        "addressCountry": "http://www.wikidata.org/entity/Q16",
        "name": "Baker Street Station Address",
        "@id": "https://bakerstreetstation.ca/#PostalAddress"
    },
    "openingHoursSpecification": [
        {
            "@type": "OpeningHoursSpecification",
            "opens": "11:00",
            "dayOfWeek": [
                "Wednesday",
                "Tuesday",
                "Thursday",
                "Monday"
            ],
            "closes": "23:00",
            "name": "Opening Hours M-Th",
            "@id": "https://bakerstreetstation.ca/#OpeningHoursSpecification"
        },
        {
            "@type": "OpeningHoursSpecification",
            "opens": "11:00",
            "dayOfWeek": [
                "Sunday",
                "Saturday",
                "Friday"
            ],
            "closes": "02:00",
            "name": "Opening Hours F-Su",
            "@id": "https://bakerstreetstation.ca/#OpeningHoursSpecification1"
        }
    ],
    "geo": {
        "@type": "GeoCoordinates",
        "longitude": "-80.25235",
        "latitude": "43.547909",
        "name": "Baker Street Station Geo Coordinates",
        "@id": "https://bakerstreetstation.ca/#GeoCoordinates"
    },
    "@id": "https://bakerstreetstation.ca/#BarOrPub"
}
</script>

Testing Your Markup

Structured Data Testing Tool 

Export the JSON-LD and run it through the SDTT, to view any errors or warnings. In the Schema App Editor, you can use the “Test with Google” button to test the markup directly. This serves as an alert to either correct the markup or to highlight gaps in the content. 

Rich Results Preview Testing

To validate and preview your structured data, use Google’s Rich Result Test. This tool will indicate if your page is eligible for rich results. Please note that Google’s Rich Result Test is only valid for certain supported rich result types.

Deploying Your Markup

If you are satisfied with your markup, ensure that your integration method is set up and the markup will deploy to your page. 

What’s next?

Schema markup is constantly evolving and as such, it is unfortunately not something you can simply set and forget. It also has limitless possibilities beyond just your homepage markup. We will provide you with some tips to manage both your existing markup and new opportunities. 

Maintain your markup

It’s important to update your schema markup based on content changes on your site and updates to Google’s documentation.

Google has recently begun posting all changes regarding structured data on their “What’s new” page. Keeping an eye on this will help you stay on top of any changes.

Another great resource is Google’s Webmasters Blog. You can subscribe via email and get all the latest news right in your inbox. 

Schema App Newsletter

Make sure you’ve subscribed to our Schema App newsletter. We send timely updates with links to our latest tutorials and information regarding the ever-changing schema markup world. 

You can register for the newsletter here

Expand your markup

You’ve done your homepage markup and are now wondering: What next? That’s a great question! 

Here is a summary of schema types you may want to use for other common pages on your website. To make things even simpler, you’ll find links to tutorials further defining each of these.  

Contact Us

If you have a “Contact Us” page on your website, you can create a ContactPage data item and connect the various types of locations and phone numbers as ContactPoints

For example, if you have a sales line and a technical support line, you can have these as Contact Point data items, linked to the Contact Page data item via the “main entity” property.  

You can find more detail about this here

About Us

For your About Us page, you can create an AboutPage data item. You will see that there are no required or recommended fields for this data item. That being said, you can still fill out the relevant fields. We recommend linking the homepage data item using the about property. 

Based on the kind of information you have on your About page, you can use as many or as little properties as you want to describe this data item. 

FAQs

If you have a page dedicated to frequently asked questions, marking this up with FAQPage schema is a great way to make this page eligible for Google Rich Results.

This tutorial takes you through the step-by-step of how to do this markup. 

You can also create FAQPage markup for FAQs that live on other pages, such as within blogs, tutorials, or even at the bottom of your menu page. 

In order to link these together, you’ll want to use our Schema Paths tool to determine the best property for the linkage. Here is a link to a tutorial on how to use our Schema Paths tool. Often, the about property is the best way to state that the FAQPage is about the LocalBusiness.

Blog

If you have a blog and blog posts on your site you will want to add Blog and BlogPosting markup. This can be done via a plugin, such as our WordPress plugin, manually via our Schema App Editor or at scale (lots of pages) and dynamically through our Schema App Highlighter.  BlogPosting data items are often connected back to the LocalBusiness using the about, author, publisher, or sourceOrganization properties.

News

If you have news articles on your website you can add NewsArticle markup with a plugin or with our tool. Check out this video which shows how to add article markup via the Schema App Editor. Properties to connect NewsArticle markup back to the LocalBusiness are similar to those used for BlogPosting.

Product

If you have products on your website you could be eligible for rich results if you apply the Product schema markup correctly. If you are on Shopify, BigCommerce or WooCommerce, you can install our easy to use plugin which will automatically markup your product pages.

We also have a highlighter tool, which is part of our premium subscription which can help you create markup and apply it across all our pages. Check out this great tutorial to learn more about product markup with our highlighter tool. It’s best to connect Products back to your LocalBusiness via the manufacturer or brand properties provided they appropriately define the relationship. 

TIP! Markup you create for other pages should always connect back to your homepage in some way since it’s the heart of the knowledge graph of your content. 

FAQs

Is it better to use LocalBusiness or Organization markup?

Use the LocalBusiness type (or one of its subtypes) if the business is a brick-and-mortar facility that has address information publicly available. If the business doesn’t have an address associated with it—for example it’s an eCommerce business or a service provider that does house calls—the Organization type may be the better choice. Both of these types are eligible for rich results within search, but LocalBusiness rich results are more robust.

If you’re still unsure which type to use, ask yourself the following questions:

  1. Does the business have a physical location people would walk into? If the answer is no, you should probably use the Organization type.
  2. Is there a schema.org type/class that fits well? If yes, use that type. If not, use a broader type, and provide a more specific definition by linking to Wikipedia or Wikidata by way of the additionalType or sameAs property.

How can I mark up a business that has multiple locations?

If your business has multiple locations, there are a few different ways you can mark them up. Your strategy should be informed by the architecture of your site.

If the business defined on the homepage DOES NOT have an address, use the Organization type.

    1.  If the other locations (and their addresses) are also listed on the homepage, select the Organization’s subOrganization property, and create LocalBusiness markup for each of the locations.
    2.  If each location has its own page, create a separate LocalBusiness data item for each location page. Then, from each LocalBusiness data item, use either the parentOrganization or branchOf property to connect back to the main Organization data item.

If the business defined on the homepage DOES have an address and could be considered a “Headquarters”, use LocalBusiness or one of the more specific subtypes.

      1. If the other locations (and their addresses) are also listed on the homepage, select the main LocalBusiness’s subOrganization property, and create LocalBusiness markup for each of the subsidiary locations.
      2. If each subsidiary location has its own page, create a separate LocalBusiness data item for each location page. Then, from each subsidiary LocalBusiness data item, use either the parentOrganization or branchOf property to connect back to the main LocalBusiness data item.

If you don’t feel the subOrganization, parentOrganization or branchOf properties adequate describe the relationship between your entities, use the Schema Paths tool to see all the properties that are available to the types you’re connecting. 

What is a multi-type entity and when should I use it?

A multi-type entity (MTE) is one entity that is defined using multiple schema.org types (though usually not more than two). Creating a multi-type data item allows you to utilize all the properties available to both types. You may want to create a multi-type entity for your business if, for example, you’re using the Physician Local Business type and want to add alumni information that’s only available to the Person type. To resolve this, your local business would be typed as both Physician and Person.

Can I use external ratings and reviews (e.g. Google or Yelp) to add Review or AggregateRating markup to my Local Business?

AggregateRating and Review markup can only be created if the content is visible on the page. According to Google’s documentation, this markup is only eligible for review snippet rich results if the information is coming from a third party application to show impartiality. What’s more, while the Local Business type is eligible for rich results with AggregateRating and Review markup, the Organization type is only eligible for rich results with Review markup. For more information about how to create review markup, see Creating “Review” Schema Markup Using the Schema App Editor.

How should I mark up an action?

Google no longer supports potentialAction markup but instead states: If you want to help users to make a reservation or place an order directly in Search results, you can use the Maps Booking API to enable bookings, payments, and other actions. If you’re interested in creating SearchAction markup to be eligible for the Sitelinks Searchbox feature, see How to create Sitelinks Searchbox markup.

 

, , , , ,
Previous Post
Schema Markup News for May 2020
Next Post
Schema Markup for Product Models

Menu