I think Organization
should be the main entity for your page. But ideally you would check for each organization if one of the subtypes applies and use it instead:
<body vocab="http://schema.org/" typeof="WebPage">
<article property="mainEntity" typeof="Organization">
</article>
</body>
Now you provide appropriate properties that reference other items which you want to say something about:
<body vocab="http://schema.org/" typeof="WebPage">
<article property="mainEntity" typeof="Organization">
<div property="founder" typeof="Person"></div>
<div property="location" typeof="PostalAddress"></div>
<div property="aggregateRating" typeof="AggregateRating"></div>
</article>
</body>
For representing "interesting products or offers", it depends on what it actually is:
- If you want to represent an offer the organization makes,
makesOffer
is appropriate (it doesn’t link to an Organization
but to an Offer
), which from the Offer
can reference the Product
.
- If you want to represent a product the organization manufactured (no matter if the organization still offers it or not), you can use the reverse¹ of the
manufacturer
property (because Schema.org doesn’t define an inverse property like "manufactured").
<body vocab="http://schema.org/" typeof="WebPage">
<article property="mainEntity" typeof="Organization">
<div property="founder" typeof="Person"></div>
<div property="location" typeof="PostalAddress"></div>
<div property="aggregateRating" typeof="AggregateRating"></div>
<section>
<div property="makesOffer" typeof="Offer"></div>
<div rev="manufacturer" typeof="Product"></div> <!-- see an alternative below -->
</section>
</article>
</body>
An alternative to using the reverse of manufacturer
is to use a Product
item that references in manufacturer
the Organization
via its URI:
<body vocab="http://schema.org/" typeof="WebPage">
<article property="mainEntity" typeof="Organization" resource="http://example.com/organizations/acme#this">
<div typeof="Product">
<link property="manufacturer" href="http://example.com/organizations/acme#this" />
</div>
</article>
</body>
¹ Microdata doesn’t offer a standard mechanism for this (but there is a proposal for itemprop-reverse
). RDFa offers a mechanism (rev
), but it’s not part of the subset RDFa Lite. JSON-LD offers a mechanism (@reverse
).