0
votes

I have a Website that typically describes an Organization/LocalBusiness/FurnitureStore and what it sells: brands (not owned), product categories, single products (not owned), service categories and single services (owned). I need help to define the best/correct microdata structure for the whole website. I would like to help a simple, clear example/tutorial for dummies.

As suggested I have splitted the original question in different posts. Read a complete description of the problem »

Single “Product Category” WebPage

http://www.schiano-arredamenti.it/camerette-per-bambini-e-ragazzi/

A. header - FurnitureStore: logo, name, nav.

B. main

  1. category name
  2. description
  3. images (gallery of products)

C. footer - FurnitureStore: copyrightHolder of Website, vatID, url to "Contact us" WebPage (with address, telephone, email etc.), url to "Privacy policy" WebPage etc.

If main describes an Offer/Category is it right to apply itemscope itemtype="FurnitureStore" to the body, so that header and footer microdata are applied? Or is better to apply itemscope itemtype="Offer" to the body and itemprop="seller" to the header with itemref="footer"? mainEntityOfPage can help? Is there a better solution? What changes?

1
Does it mean you have two FurnitureStore items (one in the header, one in the footer)? What do you mean with Category (in "Offer/Category")? - unor
I mean that FurnitureStore is splitted in header and footer: is it possible to "merge" them (and set the FurnitureStore as seller)? Whit Category I mean a an offered product category, i.e. "Kitchens", not a single kitchen product, as an "Arredo3 Wega" kitchen specific configuration. - Lorenzo De Tomasi
I did, but it only contains a LocalBusiness and an Offer, right? Anyway, I tried to answer what I think is your core question here. Feel free to comment if anything’s unclear or if I misunderstood something. - unor

1 Answers

0
votes

When using Microdata, you don’t "annotate" the HTML5 elements. The HTML5 elements just serve as a carrier, so to say.

So from the Microdata perspective, it does not matter which of these you’d choose:

<div itemscope itemtype="http://schema.org/Thing">
  <h1 itemprop="name">Foo</h1>
</div>
<span itemscope itemtype="http://schema.org/Thing">
  <span itemprop="name">Foo</span>
</span>
<div itemscope itemtype="http://schema.org/Thing">
  <meta itemprop="name" content="Foo" />
</div>
<div itemscope itemtype="http://schema.org/Thing" itemref="bar">
</div>
<div itemprop="name" id="bar">Foo</div>

It’s all the same to Microdata, it only cares about the parsed name-value pairs. (But keep in mind that some elements are for different types of values, so if you have a date, you’d have to use time, and if you have a URL, you’d have to use a, link etc.).

Also note that Microdata does not care about an itemscope-element’s content, it only looks for itemprop values. So in this example, <p>Foobar</p> is not part of the Microdata:

<div itemscope itemtype="http://schema.org/Thing">
  <p>Foobar</p>
</div>

So choose HTML5 elements according to their definitions (i.e., semantic markup) and then, in a second step, apply Microdata as needed. If your HTML structure doesn’t allow something you want to convey (and you can’t change it), you may add meta and link elements as needed.

tl;dr: It does not matter which itemtype you use on the body and which on the main element, as long as you can state what you want to state. It mostly depends on your HTML structure, and what is easier for you to implement.