Je vois quelques problèmes avec le code
1. Propriété url mal placée
<div itemprop='itemListElement' itemscope itemtype='http://schema.org/ListItem'>
<meta itemprop='url' content='/u/elvis'>
<a href='/u/elvis' itemprop='item'>
<span itemprop='image'>
<img width="45" height="45" class="avatar" src="https://sea1.discourse-cdn.com/flex001/user_avatar/forum.reflex.dev/elvis/45/31_2.png">
</span>
<span itemprop='name'>
elvis
- elvis
</span>
</a>
</div>
L’itemListElement est un ListItem.
Le ListItem a une propriété item qui est une Thing.
Un ListItem ne peut pas avoir de propriété url
Une Thing le peut. Voir ListItem - Schema.org Type
Par conséquent, la ligne <meta itemprop='url' content='/u/elvis'> devrait être déplacée deux lignes plus bas dans la valeur de la propriété item.
<div itemprop='itemListElement' itemscope itemtype='http://schema.org/ListItem'>
<a href='/u/elvis' itemprop='item'>
<meta itemprop='url' content='/u/elvis'>
<span itemprop='image'>
<img width="45" height="45" class="avatar" src="https://sea1.discourse-cdn.com/flex001/user_avatar/forum.reflex.dev/elvis/45/31_2.png">
</span>
<span itemprop='name'>
elvis
- elvis
</span>
</a>
</div>
2. position manquant
Celui-ci est un peu plus subjectif. Google dit ici Carousel (ItemList) Structured Data | Google Search Central | Documentation | Google for Developers que la propriété est requise
Donc Google dit “c’est requis”.
Cela signifie “Google l’exige”, pas “c’est requis par le schéma”.
3. Validateur Schema.org défectueux
Je ne sais pas ce qu’il fait, mais il ne valide pas correctement. Il aurait dû détecter le problème #1.
