How to build a proper LocalBusiness Rich Snippet

Jayne sent me an email today. She wanted to know how to properly build a Rich Snippet for Businesses. She wrote that her competitor has stars in his search results and she wants to do the same but don’t know how it works. Jayne, I’m here to help. So please read on!

1. Find the right schema

The first thing I always do is to head over to the Rich Snippet Developer Guide at Google. Yeah, I know you now think “I’m not a developer” but you should anyway take a look at these guides. They’re are not really difficult to understand. Especially when you have such a great tool like the Rich Snippet WordPress Plugin by your side.

On the Developer Guide you can find a list of structured data that will transform into Rich Snippets. Google uses the syntax that we can find on but not every single item found there shows extra information on Googles search results.

On this page you can see that Google supports the LocalBusiness schema class. What you’ll also find there are thre important facts:

  1. how a potential snippet might show up in search result;
  2. what properties you need to build the snippet;
  3. and that Google is currently piloting this feature with a small set of initial providers. I’m not sure if this information is up-to-date but it is as always: noone really knows the detailed algorithms at Google. It might be that your final Rich Snippet will never show up or just in some certain circumstances (Google personalizes a lot these days). Read more about this here: When do snippets show up in search results?

2. Find the right properties

As I wrote above, Google uses Data to build snippets. When we now head over to we can see all the properties that are supported. However a lot of them are just optional.

It’s more important to find all the required and/or recommended properties. Because if just one is missing or incorrect, your new Snippet will never show up on search results. So we go back to the Developer Guide and scroll down to the Type Definitions section.

At this point in time the following properties are important to Google:

  • @id (required)
  • address (required)
  • department (recommended)
  • geo (recommended)
  • name (required)
  • openingHoursSpecification (recommended)
  • potentialAction (recommended)
  • telephone (recommended)
  • url (recommended)

Note that these properties apply to local businesses which is very general. If you’re running a restaurant business you may need some more or different properties (see the list of properties found here).

3. Build the snippet

I will provide you with two different examples. One that shows a snippet with all the required properties and one that makes use of all recommended properties as well.

3.1. Minimal LocalBusiness example

I would recommend to set up a new global snippet under snip -> Global Snippets in your WordPress Dashboard.

  1. Give your new snippet a new name (like “Local Business”) and click the “LocalBusiness” button. This will load the two required properties that I’ve mentioned above.
Global Snippet with LocalBusiness schema and minimal property list
Global Snippet with LocalBusiness schema and minimal property list


  1. The name property is quite easy. Just click the “Edit” button, select “Direct text input” from the dropdown field and enter the name of the local business:
LocalBusiness propertie where name property has been filled
Fill out the name-property


  1. As you can see on Googles docs, the address property needs to be a PostalAddress schema (sub-)class. So we click on “Edit” and select “PostalAddress” that we can found in the dropdown field under “Related items”. The plugin will then preload some properties for you.
address property with PostalAddress sub-properties
Preloaded PostalAddress properties


  1. All you need to do now is to fill all fields. For this, click “Edit” for each element, select “Direct Text Input” and enter the necessary information.
Required property list of PostalAddress schema class
Fill out all information.


  1. Please note that the addressCountry property field must be a valid ISO 3166-1 alpha-2 country code.
  2. That’s it! You’re done!

Note that the plugin currently cannot handle @-fields (like the @id field mentioned above) as this is not in the property list. However it maybe that this will appear in a future release.

Of course you also need all information from chapter 3.1. above. So if you didn’t follow the steps above, please do so now.

  1. The “telephone” property should be pretty straightforward. Just use the “Direct Text Input” again and enter your phone number.
  2. For the “url” property you can choose “Blog URL” from the dropdown field.
  3. For “geo” you have to choose “GeoCoordinates” from the dropdown menu. This will automatically load two new sub-properties. Namely the longitude and the latitude. Just search online on how to find this data for your local address.
  4. I do not go much into detail about the potentialAction property as Google describes quite good what you can do here.
  5. For “department” you can add one or more departments of your business (if any). Google wants to see a LocalBusiness subclass here as well. So what you can do here is to choose “LocalBusiness” from the dropdown field.
  6. You can add multiple departments by adding the “department” property multiple times. Just like shown in the screenshot below:
Multiple department properties in the LocalBusiness snippet
Just add the department-property multiple times if you want to add more than just one department


  1. Finally we want to add the openingHoursSpecification property. Here we click “Edit” and select “OpeningHoursSpecification” from the dropdown.
  2. Now you have to add the following properties:
    • opens (should be in 00:00:00 time format)
    • closes (should be in 00:00:00 time format)
    • dayOfWeek (can be Monday|Tuesday|Wednesday|and so on – so this is english only)
    • validFrom (optional – should be YYYY-MM-DD date format)
    • validThrough (optional – should beĀ  YYYY-MM-DD date format)
  3. Now add multiple openingHoursSpecification if necessary (see screenshot below).
Two openingHoursSpecification properties in the LocalBusiness schema class
Example of two openingHoursSpecification properties.



Of course you’re not limited to the properties I’ve mentioned above. As you can see on there are even more. Like the aggregateRating that sums up your customers rating into a global rating for your local business (I wrote a blog post about how to add ratings to snippets here).

Before I forget it: Please don’t forget to save your settings and check your snippet with Googles Rich Snippet Test Tool.