The Ultimate JSON-LD Local Business Schema Guide

Abdul HamidLocal SEO

JSON-LD Schema Markup Guide for Local Business

How to Make Your Brand STAND OUT using JSON-LD Schema Markup.

JSON-LD, the easy way! This will be the ULTIMATE guide for any Local Business to STAND OUT.
Abdul Rahman Abdul Hamid

You can skim this article in less than 10 minutes!
Or read it thoroughly in 20 minutes!


Your ALL ENCOMPASSING Guide on JSON-LD Schema.

Read this and you’ll walk away knowing how to implement it on your own site, CORRECTLY.

Schema, the big bad wolf your SEO is afraid of, and most don’t quite understand just yet. There’s Microdata, RDFa, JSON-LD, like what’s really going on here? Now data is MICRO? As if it wasn’t confusing enough.

2 Feet Solutions Schema Guide Got You

 


DON’T WORRY, WE GOT YOU.


 

2 Feet Solutions Schema Guide Got You

Let’s rid ourselves of the dramatic prose, for a second, and get right into things. This is going to be a no holds barred bout against schema and the content you’re about to read is going to teach you how to rear naked choke that mother… well, you get it. 

So I’m going to do you a favour and keep this concise and to the point. To do that I’ll begin with a quick comparison of the two different formats for marking up your schema on your website by today’s standard. Keep in mind I’ve made sure that both formats have the same values essentially.

Your ALL ENCOMPASSING Guide on JSON-LD Schema.

Read this and you’ll walk away knowing how to implement it on your own site, CORRECTLY

Schema, the big bad wolf your SEO is afraid of, and most don’t quite understand just yet. There’s Microdata, RDFa, JSON-LD, like what’s really going on here? Now data is MICRO? As if it wasn’t confusing enough.

2 Feet Solutions Schema Guide Got You

 


DON’T WORRY, WE GOT YOU.


 

Schema Guide Got You 2 Feet Solutions

Let’s rid ourselves of the dramatic prose, for a second, and get right into things. This is going to be a no holds barred bout against schema and the content you’re about to read is going to teach you how to rear naked choke that mother… well, you get it. 

So I’m going to do you a favour and keep this concise and to the point. To do that I’ll begin with a quick comparison of the two different formats for marking up your schema on your website by today’s standard. Keep in mind I’ve made sure that both formats have the same values essentially.

LOCAL BUSINESS SCHEMA MARKUP

  • Connector.Connector.

    Type: LOCAL BUSINESS

  • Connector.Connector.

    Business Name

  • Connector.Connector.

    URL

  • Connector.Connector.

    Logo URL

  • Connector.Connector.

    Social Media Accounts

  • Connector.Connector.

    Google Map Embed Link

  • Connector.Connector.

    Geo Coordinates

  • Connector.Connector.

    Phone #

  • Connector.Connector.

    Postal Address

  • Connector.Connector.

    Business Hours

HTML Microdata Markup

<div itemscope itemtype="http://schema.org/LocalBusiness">
 <span itemprop="name">2 Feet Solutions</span>
 <a itemprop="url" href="http://www.2feetsolutions.com/">HQ</a>
 <img itemprop="logo" src="http://www.2feetsolutions.com/logo.png" />
<link itemprop="sameAs" href="https://facebook.com/2feetsolutions">
 <link itemprop="sameAs" href="https://twitter.com/2feetsolutions">
 <link itemprop="sameAs" href="http://plus.google.com/+2feetsolutions">
 <link itemprop="sameAs" href="https://www.youtube.com/user/2feetsolutions">
 <link itemprop="sameAs" href="http://www.linkedin.com/company/2feetsolutions">
<link itemprop="hasMap" href="https://goo.gl/x1fxoH">
<span itemprop="telephone">(226) 270-2704</span> </div> 
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> 
<span itemprop="addressLocality">London</span>, 
<span itemprop="addressRegion">ON</span> 
</div>
<div> <span itemprop="geo" itemscope itemtype="http://schema.org/GeoCoordinates"> 
<meta itemprop="latitude" content="42.9838202" /> 
<meta itemprop="longitude" content="-81.2521351" /> </div>
<div>Hours:
<meta itemprop="openingHours" content="Mo-Su 10:00-21:00">Mon-Sun 10am - 9:00pm
</div>

JSON-LD Schema Markup

<script type="application/ld+json">
{ "@context" : "http://schema.org",
 "@type" : "LocalBusiness",
 "legalName" : "2 Feet Solutions",
 "url" : "http://2feetsolutions.com/",
 "logo" : "http://2feetsolutions.com/logo.png",
 "sameAs" : [ "http://www.facebook.com/2feetsolutions",
 "http://www.twitter.com/2feetsolutions",
 "http://plus.google.com/+2feetsolutions",
 "https://www.youtube.com/user/2feetsolutions",
 "http://www.linkedin.com/company/2feetsolutions"],
 "hasMap":"https://goo.gl/x1fxoH",
"contactPoint" : [{ 
 "@type" : "ContactPoint", 
 "telephone" : "+1-226-270-2704", 
 "contactType" : "customer service" }],
"address": {
 "@type": "PostalAddress",
 "addressLocality": "London",
 "addressRegion": "ON"
 },
 "geo": {
 "@type": "GeoCoordinates",
 "latitude": "42.9838241",
 "longitude": "-81.2521351"
 },
 "openingHours": "Mo,Tu,We,Th,Fr,Sa,Su 10:00-21:00"
}
</script>

HTML Microdata Markup

<div itemscope itemtype="http://schema.org/LocalBusiness">
 <span itemprop="name">2 Feet Solutions</span>
 <a itemprop="url" href="http://www.2feetsolutions.com/">HQ</a>
 <img itemprop="logo" src="http://www.2feetsolutions.com/logo.png" />
<link itemprop="sameAs" href="https://facebook.com/2feetsolutions">
 <link itemprop="sameAs" href="https://twitter.com/2feetsolutions">
 <link itemprop="sameAs" href="http://plus.google.com/+2feetsolutions">
 <link itemprop="sameAs" href="https://www.youtube.com/user/2feetsolutions">
 <link itemprop="sameAs" href="http://www.linkedin.com/company/2feetsolutions">
<link itemprop="hasMap" href="https://goo.gl/x1fxoH">
<span itemprop="telephone">(226) 270-2704</span> </div> 
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> 
<span itemprop="addressLocality">London</span>, 
<span itemprop="addressRegion">ON</span> 
</div>
<div> <span itemprop="geo" itemscope itemtype="http://schema.org/GeoCoordinates"> 
<meta itemprop="latitude" content="42.9838202" /> 
<meta itemprop="longitude" content="-81.2521351" /> </div>
<div>Hours:
<meta itemprop="openingHours" content="Mo-Su 10:00-21:00">Mon-Sun 10am - 9:00pm
</div>

JSON-LD Schema Markup

<script type="application/ld+json">
{ "@context" : "http://schema.org",
 "@type" : "LocalBusiness",
 "legalName" : "2 Feet Solutions",
 "url" : "http://2feetsolutions.com/",
 "logo" : "http://2feetsolutions.com/logo.png",
 "sameAs" : [ "http://www.facebook.com/2feetsolutions",
 "http://www.twitter.com/2feetsolutions",
 "http://plus.google.com/+2feetsolutions",
 "https://www.youtube.com/user/2feetsolutions",
 "http://www.linkedin.com/company/2feetsolutions"],
 "hasMap":"https://goo.gl/x1fxoH",
"contactPoint" : [{ 
 "@type" : "ContactPoint", 
 "telephone" : "+1-226-270-2704", 
 "contactType" : "customer service" }],
"address": {
 "@type": "PostalAddress",
 "addressLocality": "London",
 "addressRegion": "ON"
 },
 "geo": {
 "@type": "GeoCoordinates",
 "latitude": "42.9838241",
 "longitude": "-81.2521351"
 },
 "openingHours": "Mo,Tu,We,Th,Fr,Sa,Su 10:00-21:00"
}
</script>

The one on the left is the most commonly used and known which is Microdata, aka HTML, Rich Snippets, Schema, whatever people have been calling it. Doesn’t matter. I’m not going to get into definitions here for the sole reason that I know most of you don’t care, you just want to know how to do this properly so that your sites benefit in the search engine rankings. If that’s you, you’re in the right place so listen up because this is currently the most in-depth and fully ecnompassing breakdown and source for JSON-LD schema that you can use on your own site, within 15 minutes, and that includes the time it takes to read this. I’m not going to get into a rant about how effective this is for SEO and how you must have Schema if you are truly aiming for gainful search engine optimization results. Doesn’t matter if you’re a local business in London Ontario or a Digital Marketing company in Toronto Ontario– schema is an absolute necessity.

Now, let’s skim through this. There are two language types, HTML and JSON-LD. I’m specifically talking about the language used to input them on your site. 

We’re going to focus on JSON-LD, for one reason (among many other, much better ones) because it doesn’t screw up with your designs that you spent hours, days, and even weeks building. Both options work, and they should be regarded to hold the same weight in the eyes of the search engines. Anyone that says otherwise is really making shit up because no one has run any conclusive tests yet. However, I will go on record to say that I do strongly believe that JSON-LD is paving the way to become the leading choice for Schema markup, which will in turn, make it more appealing to the search engines. Who knows. I’m just a dude writing this on his kitchen table while his 4 year old son is playing Black Ops, when he really shouldn’t (Don’t worry, science stuff told me it’s okay).

The concepts are the same, the markups are the same, the only difference is the language. Kind of like Quebecers and the rest of Canada ;), how do ya like them poutines?

For the purpose of this article and due to the fact that most of my clientele is made up of this, we’re going to focus on the Local Business Schema Markup Type. So this assumes that your online business is in fact a local business (doesn’t have to be, but use this to gain rankings in a locality if you want) and you’re using your homepage as the headquarters of your brand. Hence me naming the homepage of this website HQ.

Let’s begin:

The one on the left is the most commonly used and known which is Microdata, aka HTML, Rich Snippets, Schema, whatever people have been calling it. Doesn’t matter. I’m not going to get into definitions here for the sole reason that I know most of you don’t care, you just want to know how to do this properly so that your sites benefit in the search engine rankings. If that’s you, you’re in the right place so listen up because this is currently the most in-depth and fully ecnompassing breakdown and source for JSON-LD schema that you can use on your own site, within 15 minutes, and that includes the time it takes to read this. I’m not going to get into a rant about how effective this is for SEO and how you must have Schema if you are truly aiming for gainful search engine optimization results. Doesn’t matter if you’re a local business in London Ontario or a Digital Marketing company in Toronto Ontario– schema is an absolute necessity.

Now, let’s skim through this. There are two language types, HTML and JSON-LD. I’m specifically talking about the language used to input them on your site. 

We’re going to focus on JSON-LD, for one reason (among many other, much better ones) because it doesn’t screw up with your designs that you spent hours, days, and even weeks building. Both options work, and they should be regarded to hold the same weight in the eyes of the search engines. Anyone that says otherwise is really making shit up because no one has run any conclusive tests yet. However, I will go on record to say that I do strongly believe that JSON-LD is paving the way to become the leading choice for Schema markup, which will in turn, make it more appealing to the search engines. Who knows. I’m just a dude writing this on his kitchen table while his 4 year old son is playing Black Ops, when he really shouldn’t (Don’t worry, science stuff told me it’s okay).

The concepts are the same, the markups are the same, the only difference is the language. Kind of like Quebecers and the rest of Canada ;), how do ya like them poutines?

For the purpose of this article and due to the fact that most of my clientele is made up of this, we’re going to focus on the Local Business Schema Markup Type. So this assumes that your online business is in fact a local business (doesn’t have to be, but use this to gain rankings in a locality if you want) and you’re using your homepage as the headquarters of your brand. Hence me naming the homepage of this website HQ.

Let’s begin:

You have two options.

Numero
0.0
Uno

Take the JSON-LD Local Business Schema Markup code up top and copy/paste it into a text editor. I’m going to break down each and every line of the code below, and you just need to follow along with your text editor and replace all of the pertinent info that matches up with your site.

Numero
0.0
Deux

Give me your e-mail and I’ll send you the exact same Schema Markup I use for my local business. You can swipe it and just fill in the blanks then copy/paste for your business.

If you don’t want to give me your e-mail address, that’s cool, I get it.

Don’t worry. I’m going to be breaking down the full schema markup which I use, so whether you sign up for the email or not, you’ll see the most optimized JSON-LD schema markup for a Local Business. If you send me your e-mail so I can send you the code, then you can copy/paste right into to your site. Otherwise, you’ll have to go add what you’re missing from the original markup as you go through this along with my markup.

Schema SEO Guide

<script type=’application/ld+json’>

Well, this just lets the thingy know that you’re creating something new on the page and it needs to be read, or crawled, or whatever. It also lets the thingy know that it’s an application written in the specific language of JSON-LD, or like they put it, ld+json, because some people just like to watch the world burn.

Anyways, moving on.

“@context”: “http://www.schema.org”,

This line is absolutely mandatory, regardless of the page or website in exactly the same format as listed above. The @ prefix means that if you have it in your markup, then it is required. I’m sure there’s more to it than that, but like I said, keeping things simple here.

Now “context” refers to where the information being used is pulled from, and where the thing reading it can derive more information regarding the info they are reading.

The url will always be the same regardless of your site. It’s just the website for Schema itself. What? You thought it lived in its mom’s basement?

“@type”: “ProfessionalService”,

Now this is where it starts getting tricky. Just kidding. This just breaks down the type of business on the website. This is a very critical step in letting the search engines know where to rank you in terms of topical relevance.

The “type” of business is taken from a category listing recognized by schema.org.

Here’s a real handy dandy spreadsheet with a bunch of categories you can use for your business. Just scroll through the first column and see what matches what you do, then match it up with the appropriate Schema type.

“@id”: “http://2feetsolutions.com”,

This just refers to how Google should identifies your business. Ultimately, this needs to be your URL. This becomes more nuanced when you create schema markups for an article or person, as then you may us a different URL to point to a page about the article or person.

“additionalType”: “http://www.productontology.org/id/Digital_Marketing”,

Here’s an extra layer for you to branch deeper into categorizing your Local Business in the eyes of Google. This specific type is useful if your website’s purpose is to promote or sell a product or service.

“name”: “2 Feet Solutions”,

Straight-forward enough, the name of your Local Business. You will want to name it exactly the same as your Google My Business verified Name for consistency across listings.

“url”: “http://2feetsolutions.com”,

Simple enough, no explanation needed here I hope.

“sameAs”: [
“https://plus.google.com/+2FeetSolutions”,

“https://www.youtube.com/c/2feetsolutions”,

“http://2feetsolutions.blogspot.ca/”,

“https://www.facebook.com/2FeetSolutions/”,

“https://www.twitter.com/2FeetSolutions/”,

“https://www.instagram.com/2FeetSolutions/”,

“https://www.linkedin.com/company/2FeetSolutions”
],

This is crucial here, you are able to list out your social media accounts in relation to your Local Business. The idea here is that you’re telling Google that these pages/links are the same as your marked up page.

“logo”: “http://goo.gl/YyMNuy”,

Place the link to your company logo here. This is useful if you want your logo showing up in the search results. Consider this necessary.

“image”: “http://goo.gl/e2bScn”,

When you go to place an image URL here, I prefer to use the Google URL Shortener in order to keep it neat. Whether you take that step or not should not make a discernible difference in the efficacy of this markup. I did, however, want to point it out.

“description”: “Quality Lead Generation and SEO Service for local businesses. Immediate Results Guaranteed with our Proprietary SEO Methods or 2X YOUR MONEY BACK!”,

You can boil this down to just copying and pasting your META description, if they’re optimized correctly.

“Email”: “hi@2feetsolutions.com”,

Straight-forward here people, moving on.

“address”: {
“type”: “PostalAddress”,
“addressLocality”: “London”,
“addressRegion”: “ON”,
“addressCountry”: “Canada”
},

If you’re a Local Business with that serves customers at your location, then you will want to list out your full address here.

  1. Street Address
  2. City
  3. Province/State
  4. Postal Code/Zip Code
  5. Country

The idea here is that you want this address to mimic exactly what shows up on your Google My Business Listing to the public as well as an exact copy of what is used to build out your citations. If you’re a service business that serves its customers within a set service area instead, you can list your pertinent location information as it shows in the GMB listing (ie. City + Region + Country).

“geo”: {
“@type”: “GeoCoordinates”,
“latitude”: “42.9943361”,
“longitude”: “-81.301257”
},

Go to www.google.com/maps and search for your business. At this point it should show up since you’ve verified your Google My Business listing. If you haven’t, you can still find your GPS coordinates through many sites such as:

http://www.gps-coordinates.net/

If you’ve gone down the path of Google Maps then you’ll find your Geo Coordinates in the URL of your Google Maps result.

“areaServed”: {
“@type”: “City”,
“name”: “London”
},

This enables you to let the Search Engine know exactly what area you service. You can change this to Region (Province/State) or Country as well to broaden it. What I would recommend is that you use this on a page by page basis which allows you to target multiple areas to populate in the search engine results. For myself, I’ve put London, it’s interesting to note though that since the area I’m serving is technically London, Ontario in Canada, rather than London, UK most people are familiar with, would the search engines pick up on that?

I guess that’s why it’s even more important to enter in the GeoCooridnates we mentioned earlier as well as having MyMaps embeds (mentioned next). It just goes to show how you have to approach your SEO methodically and holistically to ensure best results. It’s not about gaming the system, rather creating quality content that targets the people it serves. It’s meant to buffer out the noise. Anyways, let’s not get carried away, moving on.

“hasMap”: “https://goo.gl/maps/jGKLdphNgbL2”,

This is what I was just mentioning earlier. I’ve used Goo.gl URL shortener for this, it just allows me to keep it clean when I’m writing up the markup and I figured the best way to go about it is using a Google owned property.

“openingHours”: “Mo, Tu, We, Th, Fr 10:00-21:00”,

Straight forward enough, you can specify weekend/holiday hours as well, so this is very customizable.

“contactPoint”: {
“@type”: “ContactPoint”,
“contactType”: “Sales”,
“telephone”: “+1(226) 977-8246”,
“availableLanguage”: “English”
},

Allows you to offer up your phone number along with a few more additional details, which is always nice.

“hasOfferCatalog”: {
“@type”: “OfferCatalog”,
“name”: “2 Feet Solutions”,
“itemListElement”: [

Pay attention here. This is where most Schema markups fall short, and where you have an opportunity to stand out. Think of this portion like your sales catalogue where you can document your departments and products, at least think of it that way. Better yet, think of it as matching up your “departments” with the “categories” on your Google My Business Listing. In this snippet we’re just beginning the code sequence for laying out the products/services offered. We’ve identified the type of code to be an “OfferCatalog” for “2 Feet Solutions”.

{
“@type”: “OfferCatalog”,
“name”: “Internet Marketing Service”,
“itemListElement”: [

Here we’ve matched up our OfferCatalog with our Category in Google My Business Listing. You will also want to follow the same structure for your interior pages and interlinking between them on your site. Think of Internet Marketing Service as the D”Department” and each individual “Offer” that will fall underneath it as a product/service you sell/promote with specific landing pages for each “Offer” targeting niche-specific keywords.

{
“@type”: “Offer”,
“itemOffered”: {
“@type”: “Service”,
“name”: “Web Design”
}
},

Now you can begin listing what you have to “Offer” or in other words, sell, within each corresponding category. I love this because this allows you to really pinpoint and break down what you specialize in as a company providing a service.

{
“@type”: “Offer”,
“itemOffered”: {
“@type”: “Service”,
“name”: “Search Engine Optimization”
}
},
{
“@type”: “Offer”,
“itemOffered”: {
“@type”: “Service”,
“name”: “Local SEO”
}
},
{
“@type”: “Offer”,
“itemOffered”: {
“@type”: “Service”,
“name”: “Conversion Rate Optimization”
}
},
{
“@type”: “Offer”,
“itemOffered”: {
“@type”: “Service”,
“name”: “Website Development”
}
},
{
“@type”: “Offer”,
“itemOffered”: 
{
“@type”: “Service”,
“name”: “Facebook Ads Consulting”
}
},
{
“@type”: “Offer”},
“itemOffered”: {
“@type”: “Service”,
“name”: “Video Marketing SEO”
}
},
{
“@type”: “Offer”,
“itemOffered”: {
“@type”: “Service”},
“name”: “Content Marketing”
}
}
]
}
]
},

As you can see, this method allows you build out your site structure so that your categories are parent pages to your offer pages which you can use to target niche-specific keywords. The main thing the Search Engine’s are looking for is brand authority around a specific niche, as well as topical relevance. Now, with your GMB listing you’ve already let Google know that you’re within a specific category, in this example, Internet Marketing Service. Now, with your additional pages built out in the correct site structure, when the Search Engines search your site they can readily see how your site is structured and the relevance of it being structured in the way it is in relation to the subject matter at hand.

Now to top things off, Reviews.

“aggregateRating”: {“@type”:”AggregateRating”, “ratingValue”:”4.8″,”bestRating”:”5″,”worstRating”:”1″,”reviewCount”: “5”}
}

This is the watered-down JSON-LD Schema Markup to show the stars in your search engine results. You know those search results that you see with a star rating on it and the actual stars showing up right in Google? This is how they accomplish it. With this code. Now, this is called an aggregate rating because it’s not tallied from a specific source, this is up to the person writing up the markup to tally up and verify. So this can be a combination of reviews from your Google Reviews Account to your Yelp Page. You have to average out the rating value here and input it manually, but the idea is the same. Unfortunately, people do take advantage of this and make up fictitious reviews, but I can’t condone that.

That’s it.

</script>

Oh yeah! Don’t forget to close the script at the end.

If you don’t want to give me your e-mail address, that’s cool, I get it.

Don’t worry. I’m going to be breaking down the full schema markup which I use, so whether you sign up for the email or not, you’ll see the most optimized JSON-LD schema markup for a Local Business. If you send me your e-mail so I can send you the code, then you can copy/paste right into to your site. Otherwise, you’ll have to go add what you’re missing from the original markup as you go through this along with my markup.

Schema SEO Guide

<script type=’application/ld+json’>

Well, this just lets the thingy know that you’re creating something new on the page and it needs to be read, or crawled, or whatever. It also lets the thingy know that it’s an application written in the specific language of JSON-LD, or like they put it, ld+json, because some people just like to watch the world burn.

Anyways, moving on.

“@context”: “http://www.schema.org”,

This line is absolutely mandatory, regardless of the page or website in exactly the same format as listed above. The @ prefix means that if you have it in your markup, then it is required. I’m sure there’s more to it than that, but like I said, keeping things simple here.

Now “context” refers to where the information being used is pulled from, and where the thing reading it can derive more information regarding the info they are reading.

The url will always be the same regardless of your site. It’s just the website for Schema itself. What? You thought it lived in its mom’s basement?

“@type”: “ProfessionalService”,

Now this is where it starts getting tricky. Just kidding. This just breaks down the type of business on the website. This is a very critical step in letting the search engines know where to rank you in terms of topical relevance.

The “type” of business is taken from a category listing recognized by schema.org.

Here’s a real handy dandy spreadsheet with a bunch of categories you can use for your business. Just scroll through the first column and see what matches what you do, then match it up with the appropriate Schema type.

“@id”: “http://2feetsolutions.com”,

This just refers to how Google should identifies your business. Ultimately, this needs to be your URL. This becomes more nuanced when you create schema markups for an article or person, as then you may us a different URL to point to a page about the article or person.

“additionalType”: “http://www.productontology.org/id/Digital_Marketing”,

Here’s an extra layer for you to branch deeper into categorizing your Local Business in the eyes of Google. This specific type is useful if your website’s purpose is to promote or sell a product or service.

“name”: “2 Feet Solutions”,

Straight-forward enough, the name of your Local Business. You will want to name it exactly the same as your Google My Business verified Name for consistency across listings.

“url”: “http://2feetsolutions.com”,

Simple enough, no explanation needed here I hope.

“sameAs”: [
“https://plus.google.com/+2FeetSolutions”,
“https://www.youtube.com/c/2feetsolutions”,
“http://2feetsolutions.blogspot.ca/”,
“https://www.facebook.com/2FeetSolutions/”,
“https://www.twitter.com/2FeetSolutions/”,
“https://www.instagram.com/2FeetSolutions/”,
“https://www.linkedin.com/company/2FeetSolutions”],

This is crucial here, you are able to list out your social media accounts in relation to your Local Business. The idea here is that you’re telling Google that these pages/links are the same as your marked up page.

“logo”: “http://goo.gl/YyMNuy”,

Place the link to your company logo here. This is useful if you want your logo showing up in the search results. Consider this necessary.

“image”: “http://goo.gl/e2bScn”,

When you go to place an image URL here, I prefer to use the Google URL Shortener in order to keep it neat. Whether you take that step or not should not make a discernible difference in the efficacy of this markup. I did, however, want to point it out.

“description”: “Quality Lead Generation and SEO Service for local businesses. Immediate Results Guaranteed with our Proprietary SEO Methods or 2X YOUR MONEY BACK!”,

You can boil this down to just copying and pasting your META description, if they’re optimized correctly.

“Email”: “hi@2feetsolutions.com”,

Straight-forward here people, moving on.

“address”: {
“type”: “PostalAddress”,
“addressLocality”: “London”,
“addressRegion”: “ON”,
“addressCountry”: “Canada”
},

If you’re a Local Business with that serves customers at your location, then you will want to list out your full address here.

  1. Street Address
  2. City
  3. Province/State
  4. Postal Code/Zip Code
  5. Country

The idea here is that you want this address to mimic exactly what shows up on your Google My Business Listing to the public as well as an exact copy of what is used to build out your citations. If you’re a service business that serves its customers within a set service area instead, you can list your pertinent location information as it shows in the GMB listing (ie. City + Region + Country).

“geo”: {
“@type”: “GeoCoordinates”,
“latitude”: “42.9943361”,
“longitude”: “-81.301257”
},

Go to www.google.com/maps and search for your business. At this point it should show up since you’ve verified your Google My Business listing. If you haven’t, you can still find your GPS coordinates through many sites such as:

http://www.gps-coordinates.net/

If you’ve gone down the path of Google Maps then you’ll find your Geo Coordinates in the URL of your Google Maps result.

“areaServed”: {
“@type”: “City”,
“name”: “London”
},

This enables you to let the Search Engine know exactly what area you service. You can change this to Region (Province/State) or Country as well to broaden it. What I would recommend is that you use this on a page by page basis which allows you to target multiple areas to populate in the search engine results. For myself, I’ve put London, it’s interesting to note though that since the area I’m serving is technically London, Ontario in Canada, rather than London, UK most people are familiar with, would the search engines pick up on that?

I guess that’s why it’s even more important to enter in the GeoCooridnates we mentioned earlier as well as having MyMaps embeds (mentioned next). It just goes to show how you have to approach your SEO methodically and holistically to ensure best results. It’s not about gaming the system, rather creating quality content that targets the people it serves. It’s meant to buffer out the noise. Anyways, let’s not get carried away, moving on.

“hasMap”: “https://goo.gl/maps/jGKLdphNgbL2”,

This is what I was just mentioning earlier. I’ve used Goo.gl URL shortener for this, it just allows me to keep it clean when I’m writing up the markup and I figured the best way to go about it is using a Google owned property.

“openingHours”: “Mo, Tu, We, Th, Fr 10:00-21:00”,

Straight forward enough, you can specify weekend/holiday hours as well, so this is very customizable.

“contactPoint”: {
“@type”: “ContactPoint”,
“contactType”: “Sales”,
“telephone”: “+1(226) 977-8246”,
“availableLanguage”: “English”
},

Allows you to offer up your phone number along with a few more additional details, which is always nice.

“hasOfferCatalog”: {
“@type”: “OfferCatalog”,
“name”: “2 Feet Solutions”,
“itemListElement”: [

Pay attention here. This is where most Schema markups fall short, and where you have an opportunity to stand out. Think of this portion like your sales catalogue where you can document your departments and products, at least think of it that way. Better yet, think of it as matching up your “departments” with the “categories” on your Google My Business Listing. In this snippet we’re just beginning the code sequence for laying out the products/services offered. We’ve identified the type of code to be an “OfferCatalog” for “2 Feet Solutions”.

{
“@type”: “OfferCatalog”,
“name”: “Internet Marketing Service”,
“itemListElement”: [

Here we’ve matched up our OfferCatalog with our Category in Google My Business Listing. You will also want to follow the same structure for your interior pages and interlinking between them on your site. Think of Internet Marketing Service as the D”Department” and each individual “Offer” that will fall underneath it as a product/service you sell/promote with specific landing pages for each “Offer” targeting niche-specific keywords.

{
“@type”: “Offer”,
“itemOffered”: {
“@type”: “Service”,
“name”: “Web Design”
}
},

Now you can begin listing what you have to “Offer” or in other words, sell, within each corresponding category. I love this because this allows you to really pinpoint and break down what you specialize in as a company providing a service.

{
“@type”: “Offer”,
“itemOffered”: {
“@type”: “Service”,
“name”: “Search Engine Optimization”
}
},
{
“@type”: “Offer”,
“itemOffered”: {
“@type”: “Service”,
“name”: “Local SEO”
}
},
{
“@type”: “Offer”,
“itemOffered”: {
“@type”: “Service”,
“name”: “Conversion Rate Optimization”
}
},
{
“@type”: “Offer”,
“itemOffered”: {
“@type”: “Service”,
“name”: “Website Development”
}
},
{
“@type”: “Offer”,
“itemOffered”: {
“@type”: “Service”,
“name”: “Facebook Ads Consulting”
}
},
{
“@type”: “Offer”},
“itemOffered”: {
“@type”: “Service”,
“name”: “Video Marketing SEO”
}
},
{
“@type”: “Offer”,
“itemOffered”: {
“@type”: “Service”},
“name”: “Content Marketing”
}
}
]
}
]
},

As you can see, this method allows you build out your site structure so that your categories are parent pages to your offer pages which you can use to target niche-specific keywords. The main thing the Search Engine’s are looking for is brand authority around a specific niche, as well as topical relevance. Now, with your GMB listing you’ve already let Google know that you’re within a specific category, in this example, Internet Marketing Service. Now, with your additional pages built out in the correct site structure, when the Search Engines search your site they can readily see how your site is structured and the relevance of it being structured in the way it is in relation to the subject matter at hand.

Now to top things off, Reviews.

“aggregateRating”: {“@type”:”AggregateRating”, “ratingValue”:”4.8″,”bestRating”:”5″,”worstRating”:”1″,”reviewCount”: “5”}
}

This is the watered-down JSON-LD Schema Markup to show the stars in your search engine results. You know those search results that you see with a star rating on it and the actual stars showing up right in Google? This is how they accomplish it. With this code. Now, this is called an aggregate rating because it’s not tallied from a specific source, this is up to the person writing up the markup to tally up and verify. So this can be a combination of reviews from your Google Reviews Account to your Yelp Page. You have to average out the rating value here and input it manually, but the idea is the same. Unfortunately, people do take advantage of this and make up fictitious reviews, but I can’t condone that.

That’s it.

</script>


Oh yeah! Don’t forget to close the script at the end.

This blog article is a living article, which means I will continue to update into an All-Encompassing JSON-LD Schema guide. Most people can’t read more than 1,000 words in one sitting so I’m trying to space it out. If you’ve gotten this far reading this, next I will break down what Schema Markups every single site needs, and then I will break it down based on the type of website you’re running and the best Schema Markup for your specific page and business type.

Thanks for reading and if you’re a local business in London, Ontario and need help understanding how you can take advantage of JSON-LD Schema to increase the CTR (Click Through Ratio) for your listing shoot me an e-mail with your questions and I’ll help you along: abdul@2feetsolutions.com