: Schema.org: How to properly markup foreign organization with offers I want to collect useful resources regarding other businesses like - to give an example - groupon. Things like the address,
I want to collect useful resources regarding other businesses like - to give an example - groupon. Things like the address, founders and a general description of that company. Sometimes this description can be more specific though.
I also want to let the users rate this company and want to show interesting products or offers by that company - all on that same page.
How would you mark up this schema? I was looking at similar websites and they're all using different schemas:
www.topcashback.co.uk/ebookers/ (Schema: Product) www.vouchercodes.co.uk/ebookers.com (Schema: Organization) www.trustpilot.com/review/www.ebookers.com (Schema: LocalBusiness)
Well LocalBusiness and Product seem wrong. Personally I'd go with Organization. But: if the whole page is of type Organization, how can I display Product or Offer inside? Organizations do not have properties for that. There are properties like makesOffer which should be inside an Offer and link to an Organization. But what if it's on the same page, inside the container which marks up an Organization?
More posts by @Margaret670
1 Comments
Sorted by latest first Latest Oldest Best
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:
If it’s a local business, use LocalBusiness.
If it’s a corporation, use Corporation.
etc.
<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:
With founder, you reference the Person.
With location, you reference the PostalAddress.
With aggregateRating, you reference the AggregateRating.
etc.
<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).
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.