This is a more technical follow-up post on “The Semantic Web is going mainstream”. As a general introduction to the subject and an explanation of why this is important and what it could mean for the future I recommend first reading that article.
Good Relations
The GoodRelations vocabulary supports three main concepts: a BusinessEntity, a ProductOrService and an Offering. Although Google currently only supports the latter two, it is expected that, in time, the entire vocabulary will be supported. Therefore I would recommend to not just follow the current recommendation, but to follow the official standard. Although the main concepts are quite self-descriptive, I will explain them in a little more detail.
Business Entity
A BusinessEntity is used to describe a company offering a certain service or product, or to describe the manufacturer of a product. Besides information like the company name and classification, it is also possible to provide information about store-locations and opening hours.
It is possible, but not necessary to include this information on every page. RDFa provides ways to link to this information on a separate page. E.g. when the manufacturer of a product provides it’s information on it’s own website, it is recommended to use a link with the “hasManufacturer” property from the product page.
Product Or Service
A ProductOrService is used to describe the specifics of a certain product or service, such as name, description, category, color, weight, dimensions, stock-number, barcode, etc. In addition it is possible to add links to similar products and related products (such as spare parts)
By using links to indicate similar or related products it is entirely possible to point to products on other websites. E.g. if a company sells protective sleeves for a certain phone model, it might point to this model on the website of the phone manufacturer. In this way, when a user searches for protective sleeves for this model, the company’s product will show up.
Offering
An Offering describes the specifics of a certain product offering. This includes condition, inventory level, price (possibly in several currencies), payment methods, delivery methods, stores or outlets providing this offering etc.
Again it is not necessary to include basic information, such as payment and delivery methods, on every page. A link with the correct property suffices.
RDFa
To add the information for the GoodRelations vocabulary to a web page, the W3C standard RDFa specification is used. By using an industry standard the information can not only be understood by Google, but by everyone using one of the many tools and libraries available.
RDFa provides the content provider with a way to indicate the meaning of a piece of text or a link. The meaning is indicated by choosing the right word from one of the many controlled vocabularies. These vocabularies are like dictionaries on a certain (usually very small) topic. This way, once a consumer, like Google, has added logic to their system to understand this vocabulary, it can “understand” every page using it.
For an excellent explanation of RDFa I suggest looking through this presentation:
Implementing GoodRelations
The following code shows an example implementation of the GoodRelations vocabulary in a product offering page, and is based on the example provided by the makers of the GoodRelations vocabulary:
In this example a product offering is provided, with name, description, stock and price information. Additionally, it’s linked to the BusinessEntity selling it and to the product this is an accessory for.
In a similar way a manufacturer can provide information about his products, which can be linked by businesses selling these products.
Posted from Beijing, Beijing, China.
Related posts:
Did you like what you read? Consider supporting me:


[…] For a more technical introduction, please read “The implementation of GoodRelations“. […]
[…] te doen Je kunt zelf zorgen dat Ric Snippets in de zoekresultaten verschijnen. Dit doe je door het toevoegen van een eenvoudige code aan je productpagina’s. Deze door Google ondersteunde codes komen uit het GoodRelations […]