Website JSON-LD Schema For Multiple Locations

When you’re trying to give a website the best Local SEO setup, most of the time you concentrate on getting on Google Business (aka Google Places), making sure you use the area’s name on the site and getting reviews.

The other part of a good local SEO setup is structured data. Below I’ll show you how to use Schema markup to better assist Google and other sites with identifying your business details, especially when you have more than one location.

This is even more essential if you’ve got more than one location listed on a single page of your site, which can be the case with one page or small websites.

I’ve started using JSON-LD instead of the microdata version because you can just group it all together in one script. The downside is that you have to update the code if your location data is changed, but I find it a lot cleaner.

So with the example below, I’ll use a fake brewery that has two locations. We’ll call it “Monty’s Grail Brewery”.

We’ll also assume that the two locations have different phone numbers, different hours and separate Facebook Location Pages.

Essentially there are two locations under one business, as opposed to two departments within one location (which could be the case, and requires a bit different set up).

Here’s what we need from each location, in terms of data:

  • Location name (we’ll use ‘midtown’ and ‘downtown’ as indicators)
  • Phone number
  • Address
  • Logo url
  • Website
  • Geo Coordinates
  • Hours
  • Phone Number
  • Facebook URL (two separate if you have them)

So gather that info together, and here’s what it would look like when fully entered:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Organization",
  "name": "Monty's Grail Brewery",
  "image": "https://www.montysgrail.com/profile.png",
  "@id": "https://www.montysgrail.com",
  "url": "https://www.montysgrail.com",
  "location":
   [
    {
     "@type": "Brewery",
     "parentOrganization": {
      "name": "Monty's Grail Brewery"
     },
     "name" : "Monty's Grail Brewery - Downtown",
     "image": "https://www.montysgrail.com/profile.png",
     "address": {
     "@type": "PostalAddress",
     "addressLocality": "MyTown",
     "addressRegion": "Province",
     "postalCode": "N0N1E0",
     "streetAddress": "456 Main St"
     },
     "geo": {
       "@type": "GeoCoordinates",
       "latitude": 43.9705366,
       "longitude": -81.4076207
     },
     "openingHoursSpecification": [{
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
       "Monday",
       "Tuesday",
       "Wednesday",
       "Sunday"
      ],
      "opens": "11:00",
      "closes": "23:00"
      },{
     "@type": "OpeningHoursSpecification",
     "dayOfWeek": [
      "Thursday",
      "Friday",
      "Saturday"
     ],
     "opens": "11:00",
     "closes": "02:00"
     }],
    "telephone" : "+1 555-555-5555",
    "sameAs": "https://www.facebook.com/montysdowntown",
    "priceRange": "$$",
    "servesCuisine": "Craft Beer"
   },
   {
    "@type": "Brewery",
    "parentOrganization": {
    "name": "Monty's Grail Brewery"
    },
    "name" : "Monty's Grail Brewery - Midtown",
    "image": "https://www.montysgrail.com/profile.png",
    "address": {
     "@type": "PostalAddress",
     "addressLocality": "MyTown",
     "addressRegion": "Province",
     "postalCode": "N0N1E0",
     "streetAddress": "123 Main Rd"
    },
    "geo": {
     "@type": "GeoCoordinates",
      "latitude": 43.980443,
      "longitude": -81.3569621
     },
    "openingHoursSpecification": [{
     "@type": "OpeningHoursSpecification",
     "dayOfWeek": [
     "Monday",
     "Tuesday",
     "Wednesday",
     "Sunday"
    ],
    "opens": "11:00",
    "closes": "23:00"
    },{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
     "Thursday",
     "Friday",
     "Saturday"
    ],
    "opens": "11:00",
    "closes": "02:00"
    }],
    "telephone" : "+1 555-555-5555",
    "sameAs": "https://www.facebook.com/montysmidtown",
    "priceRange": "$$",
    "servesCuisine": "Craft Beer"
    }
   ],
  "description": "The best brewery and pub in MyTown"
 }
</script>

 

Replace the sample data with your own, and add the above to your <head> area and you should be ready to go.

Before you do so, you can also paste your final code in Google’s Structured Data Testing Tool to check if you’re missing anything or have any issues with the code.

 

Leave a Reply

Your email address will not be published. Required fields are marked *