2

Say I have markup like this on https://example.org/index.html:

<span itemscope itemtype="https://schema.org/LocalBusiness">
    <meta itemprop="url" content="https://example.org/index.html">
    <meta itemprop="name" content="Example Industries">
    <span itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
        <meta itemprop="addressCountry" content="CA">
        <meta itemprop="addressRegion" content="ON">
        <meta itemprop="addressLocality" content="Ottawa">
    </span>
    <meta itemprop="telephone" content="613-555-1234">
    ...
</span>

Then on https://example.org/employees/joe-blow.html I have

<span itemscope itemtype="https://schema.org/Person">
    <meta itemprop="url" content="https://example.org/employees/joe-blow.html">
    <meta itemprop="givenName" content="Joe">
    <meta itemprop="familyName" content="Blow">
    <span itemprop="worksFor" itemscope itemtype="https://schema.org/LocalBusiness">
        <meta itemprop="url" content="https://example.org/index.html">
        <meta itemprop="name" content="Example Industries">
    </span>
</span>

I obviously don't want to repeat all the information about the LocalBusiness within each Person. Is this a valid way for the Person to reference the LocalBusiness on another page?


I've also tried it like this:

https://example.org/index.html:

<span itemid="#business" itemscope itemtype="https://schema.org/LocalBusiness">
    <meta itemprop="url" content="https://example.org/index.html">
    <meta itemprop="name" content="Example Industries">
    <span itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
        <meta itemprop="addressCountry" content="CA">
        <meta itemprop="addressRegion" content="ON">
        <meta itemprop="addressLocality" content="Ottawa">
    </span>
    <meta itemprop="telephone" content="613-555-1234">
    ...
</span>

https://example.org/employees/joe-blow.html:

<span itemscope itemtype="https://schema.org/Person">
    <meta itemprop="url" content="https://example.org/employees/joe-blow.html">
    <meta itemprop="givenName" content="Joe">
    <meta itemprop="familyName" content="Blow">
    <link itemprop="worksFor" href="https://example.org/#business">
</span>

But Google's validator doesn't seem to recognize the linked information. It complained unless I re-included the name property of the LocalBusiness.

  • 1
    Side note: You must use link with href attribute (instead of meta with content attribute) if the value is a URL, e.g., for your url properties. – unor Feb 22 '17 at 16:10
1

How to reference/link with Microdata and Schema.org

If possible, I would use both ways (url property from Schema.org & itemid attribute from Microdata).

While Schema.org isn’t that strict about it, I think it makes sense to use different URIs for them, if you want to differentiate between the page and the thing:

  • Schema.org’s url property gives the URI of the page about the thing.
  • Microdata’s itemid attribute gives the URI of the thing.

For example, the URI https://example.org/employees/joe-blow.html points to a page about Joe Blow, and the URI https://example.org/employees/joe-blow.html#i is the URI for Joe Blow himself. Then you could specify:

<div itemscope itemtype="http://schema.org/Person" itemid="/employees/joe-blow.html#i">
  <link itemprop="url" href="/employees/joe-blow.html" />
</div>
<div itemscope itemtype="http://schema.org/AboutPage" itemid="/employees/joe-blow.html">
  <link itemprop="about mainEntity" href="/employees/joe-blow.html#i" />
  <!-- just for the sake of the example; you would typically include the 'Person' item here -->
</div>

Search engine support

Google’s SDTT doesn’t follow links. Copying my comment to a related question:

The SDTT doesn’t support it, but of course that doesn’t necessarily mean that Google doesn’t support it. I guess it makes sense that the tool doesn’t follow references, because there could be many, possibly endless, even to external documents. -- My guess (I have no evidence, just a guess) is that the Googlebot will follow those references (these are, after all, normal a/area/link hyperlinks), but without "adding" the structured data from the linked page to the linking page.

As far as I know, no search engine documents that they would follow references in structured data to do something with it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.