Structured data for a company with 2 or more branches


Erik

Forum Member
Joined
Jun 13, 2016
Messages
11
Likes
3
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

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

<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
Likes
289
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.
 

Tim Colling

Moderator
Local Search Expert
Joined
Sep 3, 2014
Messages
801
Likes
290
I'd consider using Organization and subOrganization for cases like these.
 

Erik

Forum Member
Joined
Jun 13, 2016
Messages
11
Likes
3
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

Forum Member
Joined
Jun 17, 2014
Messages
34
Likes
17
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/loc...eviews-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
 

Similar threads


Local Search Forum


Weekly Digest
Subscribe/Unsubscribe


Google Product Exert

@LocalSearchLink

Join Our Facebook Group

Top