Stuart M February 2016

Schema.org - Referencing single definition multiple times

I have a page containing multiple Articles, I want each one to describe the Publisher as an Organisation, but what I'd like to avoid is redefining that Organisation for every single article. Is this possible?

The itemref attribute only seems to work in the opposite direction, specifying a parent > child relationship, not the other way around.

In this example I've taken the organisation example from Schema.org which I hope illustrates the problem - you can't repeat this markup every time, it would bloat the page.

<div itemscope itemtype="http://schema.org/Organization">
  <span itemprop="name">Google.org (GOOG)</span>
  Contact Details:
    <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
      Main address:
        <span itemprop="streetAddress">38 avenue de l'Opera</span>
        <span itemprop="postalCode">F-75002</span>
        <span itemprop="addressLocality">Paris, France</span>
      ,
    </div>
      Tel:<span itemprop="telephone">( 33 1) 42 68 53 00 </span>,
      Fax:<span itemprop="faxNumber">( 33 1) 42 68 53 01 </span>,
      E-mail: <span itemprop="email">secretariat(at)google.org</span>
  Members:
  - National Scientific Members in 100 countries and territories: Country1, Country2, ...
  - Scientific Union Members, 30 organizations listed in this Yearbook:
  List of Alumni:
  <span itemprop="alumni" itemscope itemtype="http://schema.org/Person">
    <span itemprop="name">Jack Dan</span>
  </span>,
  <span itemprop="alumni" itemscope itemtype="http://schema.org/Person">
    <span itemprop="name">John Smith</span>
  </span>
</div>

<div itemscope itemtype="http://schema.org/NewsArticle">
  <meta itemprop="url" content="{{canonical_url}}" />
  <link itemprop="mainEntityOfPage" href="{{canonical_url}}">
  <meta itemprop        

Answers


unor February 2016

If you have an Organization item and several Article items on the same page, you can use Microdata’s itemref attribute to provide the Organization item as value for the publisher property:

<div itemprop="publisher" itemscope itemtype="http://schema.org/Organization" id="publisher-1">
</div>

<article itemscope itemtype="http://schema.org/Article" itemref="publisher-1">
</article>

<article itemscope itemtype="http://schema.org/Article" itemref="publisher-1">
</article>

<article itemscope itemtype="http://schema.org/Article" itemref="publisher-1">
</article>

If using this, you have to make sure that the div (for the Organization item) is not a child element of another element with itemscope (otherwise it would be added to this item as publisher in addition).

Post Status

Asked in February 2016
Viewed 3,581 times
Voted 12
Answered 1 times

Search




Leave an answer