Structured data for a company with 2 or more branches

Erik

Member
Joined
Jun 13, 2016
Messages
11
Hi,

I'm implementing structured data on some of my websites and I keep running into this question that I can not find the answer to:

How do I implement structured data for a @localbusiness with 2 (or more) branches when there is no difference in hierarchy.

I've found the @subOrganization and @branchOf types but I don't think they really apply?

I would also like to make a distinction for companies where the different branches don't have their own landing pages, and companies that do. If there is separate landing pages at the moment I'm just putting the data on those pages. I'm not sure that's the right way to do it and I'm also not sure what to do if there is no separate landing pages.

Do you have any tips on how to handle this? I might be overthinking it but I'd like to get it right.

Thanks in advance.

Regards,

Erik
 

Erik

Member
Joined
Jun 13, 2016
Messages
11
I still can't figure this out. Can anyone help me? This is what I got so far:

structured data 2 branches.jpg<script type="application/ld+json">
{
"@context": "http://www.schema.org",
"@type": "Dentist",
"name": "",
"url": "",
"sameAs": [
""
],
"logo": "",
"image": "",
"description": "",
"address": {
"@type": "PostalAddress",
"streetAddress": "",
"addressLocality": "",
"addressRegion": "",
"postalCode": "",
"addressCountry": ""
},
"geo": {
"@type": "",
"latitude": "",
"longitude": ""
},
"hasMap": "",
"openingHours": "Mo 09:00-17:30 Tu 08:30-17:30 We, Th, Fr 08:00-17:30",
"contactPoint": {
"@type": "",
"contactType": "",
"telephone": "",
"email": ""
},
"@subarganization": "http://www.schema.org",
"@type": "Dentist" (Didn't continue because I got an error here that @suborganization doesn't work with Dentist)

}
</script><code style="margin: 0px; padding: 0px; border: 0px; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; white-space: inherit;"><script type="application/ld+json">
{
"@context": "http://www.schema.org",
"@type": "Dentist",
"name": "",
"url": "",
"sameAs": [
""
],
"logo": "",
"image": "",
"description": "",
"address": {
"@type": "PostalAddress",
"streetAddress": "",
"addressLocality": "",
"addressRegion": "",
"postalCode": "",
"addressCountry": ""
},
"geo": {
"@type": "",
"latitude": "",
"longitude": ""
},
"hasMap": "",
"openingHours": "Mo 09:00-17:30 Tu 08:30-17:30 We, Th, Fr 08:00-17:30",
"contactPoint": {
"@type": "",
"contactType": "",
"telephone": "",
"email": ""
},
"@subarganization": "http://www.schema.org",
"@type": "Dentist" (I didn't continue here because I got the error, but I would enter address details etc. from the second branch).

}
</script> </code>

 
Last edited:
Joined
Oct 25, 2013
Messages
770
You could use the department tag.
HTML:
<script type="application/ld+json">
    {
        "@context": "http://schema.org",
        "@type": "Organization",
        "name": "name",
        "url": "http://site.com",
        "logo": "http://logo.com",
        "sameas": [
	""
	],
        "department": 
        [
          {
              "@type": "Dentist",
              "name": "officename",
              "address": {
                "@type": "PostalAddress",
                "addressRegion": "region",
                "postalCode": "post",
                "streetAddress": "Street"
              },
              "openingHours": [
                "Tu-Fr 15:00-00:00"
              ],
              "email" : "branch@site.com"
          },
          {
              "@type": "Dentist",
              "name": "officename",
              "address": {
                "@type": "PostalAddress",
                "addressRegion": "region",
                "postalCode": "post",
                "streetAddress": "Street"
              },
              "openingHours": [
                "Tu-Fr 15:00-00:00"
              ],
              "email" : "branch@site.com"
          }
        ]    
    }
  </script>
To be perfectly honest though, I don't trust Google to correctly interpret something like this that's not already a pretty common best practice. Most local businesses don't implement schema at all, and many that try don't do it correctly (thanks Yoast). Having schema for multiple branches on one page is something that I don't believe has an established best practice yet.

For my two cents, there's nothing wrong with having two blocks of JSON-LD. It's still read just fine. I'd be inclined to just list the schema for both branches in two separate script tags, and let Google parse it out. The main thing I'd say is important is this line from the guidelines:

It should be an up-to-date and accurate reflection of the topic and content already found on the page, such as text, images, and videos.
If you're talking about the home page and you've got both locations mentioned, then I would be very surprised if Google would mis-interpret things if you had two blocks of JSON-LD code on page. Thanks to Yoast, many sites already have two blocks of JSON code on their site anyway, it still gets read. I'd even be inclined to think that that'd be more easily understandable than trying to include both in some way, like I took a stab at above.

Unfortunately, all this is kind of conjecture. Without actually talking to one of the Google engineers, it's hard to say how this stuff gets interpreted. As long as it passes through Google's schema testing tool, we kind of have to say 'good enough' and move on.

One last aside, you'll only want both schema on pages that mention both businesses. The majority of your site will presumably only have content relating to one branch or the other.
 

Erik

Member
Joined
Jun 13, 2016
Messages
11
Thanks you for your reply James! This is something I can work with.
 

Erik

Member
Joined
Jun 13, 2016
Messages
11
I'd consider using Organization and subOrganization for cases like these.
Hi Tim,

Thanks for your reply. That was also my first instinct. But in this case it's a Dentist. It is a localbusiness. Or does it not really matter in your opinion?
 

Andy

Member
Joined
Jun 17, 2014
Messages
34
The main thing I'd say is important is this line from the guidelines
To understand google's guidelines I strongly suggest to (re)read David Deering's Understanding Google's Updated Structured Data Guidelines - Local University

the article has already been shared on this forum http://www.localsearchforum.com/local-seo-ranking/39991-aggregated-schema-reviews-services-ok-site-wide-per-service.html

the unicity of the article is that Deering is an expert but also he spoke with engineers from the google team to clarify the guidelines
 

Weekly Digest

Weekly Digest
Subscribe/Unsubscribe

Trending: Most Viewed

Promoted Posts

New advertising option: a promoted post by a Sterling Sky employee reviewing your product or service; this will also be shared on the Sterling Sky & LSF Twitter accounts, our Facebook group, LinkedIn, and both newsletters. More information...

Local Search Forum


Google Product Exert

@LocalSearchLink

Join Our Facebook Group

Top