Problème de structure imbriquée schema.org ( microdata )

WRInaute accro
Bonjour

J'ai constaté, que le nouvel outil de Google, détecte des erreurs dans mon code microdata schema.org.

Je suis en train de revoir mon site ( sur mon ordinateur ;) ), et j'ai un problème de balises imbriquées, avec listes ou non.

En clair, dans le cas d'une liste de liens de navigation, voici le code que j'ai "piqué" sur le net :

Code:
<div itemscope itemtype="http://schema.org/WebPageElement">
<link itemprop="additionalType" href="http://schema.org/ItemList" />
<meta itemprop="name" content="navigation_menu" />

<ul>
    <li itemprop="additionalType" itemscope itemtype="http://schema.org/SiteNavigationElement">
         <span itemprop="itemListElement">
         <a href="http://www.url_lien_1" itemprop="url">
         <span itemprop="name">Lien_1</span>
         </a>
        </span>
    </li>

   etc...

</ul>
</div>


Voilà mon problème :

Dans ce code, il n'y a qu'une seule liste de lien imbriquée, donc la balise "itemListElement" peut être la fille de "ItemList".

Mais moi, j'ai plusieurs listes imbriquées les unes dans les autres, avec une profondeur > 1.

Comment faire, pour qu'une balise "ItemList", puisse être la fille d'un élément d'une liste ?

Autrement dit, comment déclarer une "ItemList", puis une itemListElement", puis ( comme fille de cet élément de liste ), encore une "ItemList", suivie donc de plusieurs itemListElement" ?

J'ai également vu sur schema.org , qu'il fallait déclarer un élément de liste de cette manière :

Code:
 <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
   <a itemprop="item" href="http://www.lien_url">
   <span itemprop="name">Libellé Lien</span>
    </a>
    <meta itemprop="position" content="1" />
 </li>


C'est indiqué dans schema.org , qu'il est nécessaire de spécifier position ( ordre croissant ), pour que la position de l'item soit prise en compte dans le parsing de ce type de code microdata.

Est-il nécessaire aussi, de spécifier "ListItem" et "item" ?

Merci beaucoup de vos réponses.

Respectueusement.

Jean François Ortolo
 
WRInaute accro
Rebonjour

La balsie "itemListElement", peut avoir pour fils :

- ListItem
- Text
- Thing

Théoriquement, pour des arborescences imbriquées d'éléments de type "WebPagElement", ou bien "SiteNavigationElement", "Thing" devrait convenir, mais comment interfacer un "itemListElement", avec quelque chose du type "Thing", donc qui accepte soit "ItemList", soit autre chose qui puisse avoir "itemList" comme descendant immédiat ?

Merci beaucoup de votre réponse.

Amicalement.

Jean François Ortolo
 
WRInaute accro
Rebonjour

Tout mon site est maintenant sans erreur avec le nouvel outil de Google.

Je n'ai pu baliser en schema.org, ( Microdata ), que les <div, <ul, et autre <dl et balises internes de listes.

Pour les <table je me suis contenté, de mettre des "about".

Il semble que l'outil de Google ne détecte que les erreurs de syntaxe, ( de manière approfondie d'ailleurs ), mais pas de manière strictement sémantique.

Par exemple, il n'indique aucune erreur s'il n'y a pas de balisage du tout à certains endroits, ou que les balisages sont sémantiquement incomplets.

C'est mon cas, la plupart du temps je met des ItemList et ListItem, puis item et description, mais pas d'enrobage autour des ItemList.

Ce n'est qu'un début.

Respectueusement.

Jean François Ortolo
 
Discussions similaires
Haut