It is finally here, the go-to blog post for everything about Local Business schema markup. Today, I’ll show you how you can easily create your local business schema markup in an efficient and effective way. Schema markup can help a local business stand out in search through rich results, and get up to 30% higher click through rates, higher organic traffic, and more conversions. I was inspired by great blogs by David Deering and Jayson Demers. I drew upon my years of experience at Schema App working with thousands of digital marketers around the world to create a guide on how to do markup for a local business without having to learn how to code. Brilliant eh!
I know that if you are reading this, you are a busy digital marketer who has better things to do than code. So I am going to keep the code talk short and focus on how you or an intern can implement schema markup FAST so you can get on to other billable work or spend more time with your friends and family.
Schema Markup is Code: JSON-LD vs Microdata
It’s true, schema markup is written in code. Google recommends that you write it in JSON-LD, however microdata, RDFa are also options (formats explained).
- A script tag that puts markup in one block on the page and makes it easy to see markup for a page.
- A faster and cleaner way to implement schema markup. Easier to read and add detail.
- Google recommends using JSON-LD for rich results.
This is what it looks like:
- Microdata is written within the html. As a result, it can be easily overwritten when page layout changes are made.
- Google no longer uses microdata for their rich features. Bing and Yahoo primarily use microdata for their rich results.
- Microdata is harder to maintain because it is embedded in a web page and cannot be managed centrally.
This is what it looks like:
Google Recommendations & Schema.org Properties
Google has specific requirements and recommendations for local business schema markup which you can view here. The fields they require and recommend are what they use to build the local business listing, place action and inform local search (on desktop, mobile and for voice search). While Google recommends specific data in the schema markup, there is additional data you can use to describe your business and provide important information to search engines. In this blog I’ll cover the Google required and recommended data AND additional data you should add to get best SEO results.
How to do Local Markup on a Homepage
My blog titled, “Schema Demystified: Schema Markup and the SEO Benefits” on Brightlocal, I covered how to prioritize pages for doing schema markup. The most important page on a website is the page where you describe the business. This is usually the homepage. In this blog, I’ll show you how to create complete, high impact Schema markup. When done correctly, it contributes to building a Knowledge Graph Panel in Google search results, and helps Google match the business to local searchers.
What Kind of Organization Are you?
The first step is to identify what kind of organization you are optimizing. As you can see from the list below, schema.org provides you with a lot of options. When you are choosing the organization type, you want to be as specific as possible. If there is nothing that fits, don’t worry. Pick Organization or LocalBusiness and we can use a Wikipedia entry (known as AdditionalType) to define your business type.
The most general type of business is an Organization. Organization has the following types:
Since you are reading this, I assume that you manage SEO for a Local Business. Local Business is a type of Organization. Schema.org describes a Local Business as “A particular physical business or branch of an organization. Examples of Local Business include a restaurant, a particular branch of a restaurant chain, a branch of a bank, a medical practice, a club, a bowling alley, etc.” They key attribute of the local business is that it has a physical address. Below are the types of Local Business currently in the schema.org vocabulary.
Pick from the list below for the business type you are trying to optimize. If it is not on the list, choose Local Business (generic category) and we will use a field called AdditionalType to specify it further. You can also view the latest list of local business types here.
Prepare to Create your Schema Markup
Before we get started creating your Schema markup, you need to gather the information found in the table below. This will be the most time-consuming part of doing the Schema markup for a Local Business. I’ve provided an example for each field as well as additional information to help you complete the list. The homepage of the business is usually what you markup as the Local Business.
Important: The data you add in Schema markup needs to be displayed on the page! If the information is not on the page, don’t add it to the markup. OR, if you want to add the markup, add the content on the page somewhere, the footer is an acceptable place for the map and address, etc.
Download Google Sheets template here.
|Schema Property||Field in English||Description & Guidance||Example|
|type||Local Business Type||Look at the list of Local Businesses above and 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. Links to social media accounts or directory listings shown on the page.||https://twitter.com/BakerStStation|
|description||Description of the Business.||Use the description you use for Google My Business to keep it consistent.||Quaint, English-style tavern with 2 levels, craft beers & upmarket, globally inspired pub grub.|
|hasMap||Map||If the map is shown on the page then you can include the map. To get the link to business map, find the business in Google Maps, and click on “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
|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 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 a specific opening hours. You can create as many of these as you need for the current and also special holiday hours.
Example: Monday-Friday, 11:30-12am; Saturday-Sunday, 11:00-12am
Time format will be 24 hour clock and HH:MM:SS
|Monday-Friday Opens: 11:30:00
|contact point||How to Contact the Business||How to contact the business. Often the Main Number, Sales, Customer Service, etc.
Contact Option: Hearing Impaired/Toll Free
|Baker Street Station Main Number
Phone: +1 -519-265-7960
Contact Option: None
Area Served: Guelph
|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
|What type of cuisine to you serve?||English Pub Food|
|potential action||Reserve or Order Option||Can someone make a reservation or an order online: Reserve Action or Order Action. See Example Below.||See Example Below
|aggregate rating||Average Rating from business’s reviews||Using reviews on your website (not from Google+, Facebook, etc) take the average and also determine the low and high. For example, if you had 10 reviews, average rating was 4.6, and low is 1 and high is 5.
Guidelines for Local Business can be found here.
Potential Action: Order and Reserve Actions Examples
Here are is an example for Order Action to make it easier to understand….I hope. Additional fields and examples can be found here. The results of doing this is a great rich result with the action to order or reserve.
|Field in English||Description & Guidance||Example|
|Someone can make an Order or Reservation||
Options are OrderAction, or ReserveAction. OrderAction is for making online orders, ReserveAction isf or making online reservations.
|entry point||Order Link||This is the URL your users will go to make the order online.||https://order.pizzapizza.ca/PhoenixWEB/order/|
|delivery method||How is delivery done. There are only two options:||Pickup and Delivery|
|action platform||Action can be done on what Platform||This field tells search engines what platform someone is doing the action on for this link. Options are:
Desktop Computer: “http://schema.org/DesktopWebPlatform”
Apple IOS Device “http://schema.org/IOSPlatform”
Android Device: “http://schema.org/AndroidPlatform”
How to Do Schema Markup With Speed and Accuracy
So now you are familiar with all the things you need to optimize your homepage with schema markup. How can you do it without having to write code? There are a lot of tools out there to support you in how to do this (60+ Tools for Schema Markup) however there are two that I recommend. Why? Well because in my many conversations with digital marketing agencies who are doing Schema markup, their biggest challenges are:
- Maintaining the schema markup once it is deployed
- Figuring out where to put the JSON-LD on the web platform/CMS
- Doing schema markup easily across many pages and sites
- Learning the schema markup language and developing a strategy
Schema App – All recommended Fields, Automatic Deployment, Update Tracking
Schema App automatically generates the code and deploys it to a website using a WP, Shopify plugin or Google Tag Manager. It has the complete vocabulary for all Schema markup. Just enter your information and click save, the rest is done automatically. Schema App allows you to maintain all your Schema markup in one place, so it’s easy to update markup across locations. Schema App offers additional features such as Schema Analysis, Semantic Analytics and sub accounts for multiple customers. Try a 14 day free trial of all Schema App Capabilities, including expert support Watch the video tutorial on how to markup a local business on Schema App.
- Pros: Schema App has all the fields you require for Local Business. It notifies you if there are errors in your markup or if Google makes changes to its recommendations. Schema App saves your entries so you can update when Google recommendations change or if something in the business changes. Deploy automatically with the Schema App WordPress Plugin or Google Tag Manager. Additional Features (Sub Accounts, Analyzer, and Semantic Analytics) available through subscription.
- Cons: It is a little more complex but worth the investment if you have to create and manage Schema markup across many websites. Great video tutorials and support are available.
Merkle JSON-LD Generator – Easy to Use, Not All Fields, No Update Tracking, Manual Deployment
This is a web form that creates your code for you. You enter your information and the JSON-LD is created for your. You then need to cut and paste the JSON-LD anywhere in the html of your page.
- Pros: It is very easy to use. Has 75% of the required fields. Simplified language so anyone can use it. Visually appealing.
- Cons: Does not have all the fields Google recommends. Some web platforms can be tricky on where to put the JSON-LD. Hard to maintain your code when Google makes changes.
How to Markup a Local Business
In this video I’ll show you how to get great SEO results from local business markup using the Schema App editor. First of all you’re going to log in to Schema App and we’re going to find the type of business that you have. If it’s an organization, you’re going to go under local business and you can search through the list of businesses here.
Today we’re going to do an example that’s a bar or a pub. You can also search through the top and it will bring up whatever you search for. Once you’ve found what you want to mark up you’re going to go ahead and click on create. Enter the name of the business and if you intend on using automatic deployment with Schema App, you can go ahead and paste in the URL that you want the code to deploy to. Click OK. Now the fields for local business are going to load. Using your spreadsheet that we’ve created as a easy way to identify all the different things, go ahead and copy and paste the links that you’ve prepared. For example, for the image we’ll just go ahead and copy and paste that right in. Select untyped resource if it prompts you for that. For address you’ll go ahead and enter the address. Locality, remember that’s another word for city so you’re gonna go ahead and enter the city name in there. State/region and postal code. You can also go ahead and put in the link for the logo that you’ve gone ahead and prepared in your sheet. For the description, this is the description that you prepared. We often recommend that this description be the same description that you have in other places online, for example, google my business. For same as, this is where you can put different social media accounts using a plus sign to sort of enter as many that as you want in here. Again, you can just go ahead and cut and paste those in out of your worksheet. If you have any extras, just click on next to get rid of those.
Now contact point is one of these connected entities where you need to add more detail to what it’s about. What you’re going to do is go ahead and click on the down arrow and you’re going to say create a data item. I’m going to say it’s Baker Street Phone Number. And a name at the name of the department or whatever describes that contact pointer or that way to get hold of the business and click OK. Now that we’ve created this connected entity when we’re done filling all the fields here, we’re gonna go back and edit that later. Next, we’re going to go ahead and put in the URL. This is the same URL of the business that we put in the original, but this time it’s in the markup versus telling Schema App where you want to deploy the code. If you go ahead and accept reservations, this is a yes or no field. In this case, they don’t accept reservations and then we’re going to talk a bit about additional type here. Additional type is something that you can use in order to further clarify the business. In this case, we’re going to go ahead and do a Wikipedia lookup and we’re going to look up Gastropub and you’re going to look up sort of a name that describes the business or the thing that describes the business to further clarify. In this case, it’s a bar a pub but specifically, it’s a Gastropub.
Next on our list, we’re going to look at aggregate rating so you can go ahead and add a plus sign in order to add that in. In our case, in our example, we don’t have one but you can see here using the question marks you can see that the review value, the review count, best rating, worse rating, and URL. The best rating and worst rating set the scale that you want to use for or that you’re using in your reviews. These ratings today, Google recommends come directly off your website and that you’ve collected and not from other sites such as Facebook or Google my business. Next, we’re going to look at is area served. So this describes sort of the area that you do business in. Again you can go ahead and use that Wikipedia lookup and put in the area or if you’re going to reuse it you can go ahead and create a data type similar to what we did for gastropub. I’ll show you what I mean. Let’s say we are going to create a data item and we’re going to call it Wellington County and then for the identify or what we’re going to do is actually look up Wikipedia Wellington County and we’re going to go ahead and put that Wikipedia link in there. This way if you’re going to be using Schema App for a lot of different pages you can reuse that easily. Here you’re going to want to pick sort of what it is so it’s a County let’s see if so country’s in here so maybe we just do it a geo shape or a geo circle saying it’s like a geography.
Next on our list is geo so we’re going to scroll down these are all in alphabetical orders and we’re going to create a data item for the geo so we call it Geo Baker Street. This is the second one that we’re going to come in and edit. We’re going to make sure that these are geo coordinates. Next on my list is has map so again you can just go ahead and copy and paste that link that we’ve guided you to pull off of Google Maps. Again make sure that anything that you’re putting in your markup is displayed on the page so if the page has the link to the map then you can go ahead and include that there. We’re also next going to put in a menu so we’ll go ahead and cut and paste that menu in there and then following menu we’re going to do opening our specification.
This is where we go ahead and create another data item or say Opening Hours Regular. I will leave the URI there as default. Then we’re going to go ahead and go next so reserve or order action so that’s under potential action. In this case, we can’t make a reservation or order online on this website but if you could this is where you’d again create that connected data type. Serves cuisine, we’re going to put English Pub Food. Maybe we should just put Pub Food. The service area is a duplicate of the area served so you don’t need to worry about that and then next you’re going to put in the telephone number. You can go ahead and paste that in and that’s all we’ve got so I’ll go ahead and click on save. Now what we’re going to do is we’re going to go and add a couple more details here so contact point is the first thing we’re going to go in we’re going to go ahead and edit that. In contact point we’re going to say you know what are we doing so we’ll pick sales for that and then we’re going to go ahead and put that telephone number in again.
You can also go ahead and add these additional fields so we can go ahead and search for Guelph again since that’s the area served. Available languages is English. I haven’t added that in so again you can use Wikipedia to easily add that language in. If you have any other languages to search for those and you can add those in with the plus sign and then contact option is either toll-free or hearing-impaired which neither of this phone number is neither toll-free nor hearing-impaired supported. So go ahead and save these. It’s saying it wants to know but we’ll just leave that blank. We’re going to go back then to our Baker Street Station which is the the business and now what we’re going to do is we’re going to fill in the Geos so we’re going to go ahead and click on it and edit it again and so here all we want to do is fill in the longitude and latitude. Go ahead and we’ll paste those in and then go ahead and click on save.
Then we’ll go back again to our local business one more time and we’ll go ahead and go to the open hours and click on edit. For these what we’re going to do is is pick specifically the days of the week so we’re going to do Monday through Friday so add these in. Tuesday, Wednesday and we’re going to pick our open and closes so we’re going to pick it goes from 11:30 to midnight so I’ll pick midnight and then opens is at 11:30 so I’ll pick 11 and I will just change these here and then go ahead and click Save. Now you’ll notice in our example that we have two opening specifications so what you would do if you have two different times so you have a different time for the weekend you would just go ahead and add a second open time specification for the other hours that you have. For example, here we have our opening hours specification here so we’ll go ahead and add another one and this one will say weekend and then I would go ahead and edit that and add the details for Saturday and Sunday times. Now you’ve gone ahead and created all your markup, you can go ahead and get the JSON-LD directly from Schema App or if you’re integrating with Google tag manager or WordPress plug-in or other plugins, once you connect it to Schema App all you have to do is click Save and that is automatically deployed to your website. That’s how you use schema app in order to create comprehensive local business markup
Google does offer a Data Highlighter which allows you to do very basic markup by highlighting fields on your website and then it creates the code.
- Pros: Easy to use GUI interaction.
- Cons: It does not have all the fields we recommend for Local Business. Only optimizes it for Google. Hard to maintain markup.
If you don’t like tools, all good. Here is a sample piece of code that you can use and edit to enter your information. Watch out for syntax errors. View and copy the code here for easy editing.
Where to Paste the JSON-LD
If you aren’t using Schema App (which deploys markup automatically), you need to put the JSON-LD in the page code. The data, enclosed within the <script type=”application/ld+json”> … </script> tags can be placed in either the <HEAD> or <BODY>. Don’t worry, it won’t change the appearance of your page.
How to Test Your Schema Markup?
Google Search Console’s structured data report is the most accurate way of checking that your markup has been crawled by Google and if there are any errors. However, prior to the results showing up, you can use Google’s Structured Data Testing Tool to see if any warnings or errors appear. Read more about testing your markup in the blog titled “How do I know if my Schema Markup is working?“
Maintaining Your JSON-LD
Google’s recommendations for Schema markup changes regularly. In fact, on November 21st, Google released new Local restaurant and Online course rich cards. As a result, people started seeing more errors in the structured data testing tool. Schema App is currently the only tool on the market that allows you to manage your Schema markup centrally and notifies you if you need to update your Schema markup. We then saw another update where Google wanted Images for local business. Alternatively, you can stay on top of new releases from Google via their blog, or join a community online that follow these trends. I really like the Google+ group called Semantic Search Marketing. Schema App also publishes weekly news reports in the area of Schema Markup here.
What Else Can You Use It For? Business Intelligence
You did it. You made it to the end of the article. As a reward I’ll let you in on a secret. Schema markup can be used for more than just local business search optimization. Schema markup describes all of the content contained in your website. You can take this information and add it to your analytics as well. This way you have more information about what the traffic patterns mean. This area is called semantic analytics.
Local Business Schema Markup Resources
- Local Schema Markup Tools
- Google Recommendations
- Local Schema markup Video Tutorial for Schema App
- JSON-LD Generators
- Testing Tools
- Schema Markup Tools