Ich sehe einige Probleme mit dem Code
1. Falsch platzierte url-Eigenschaft
<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>
Das itemListElement ist ein ListItem.
Das ListItem hat eine Eigenschaft item, die ein Thing ist.
Ein ListItem kann keine url-Eigenschaft haben
Ein Thing kann. Siehe ListItem - Schema.org Type
Daher sollte die Zeile <meta itemprop='url' content='/u/elvis'> zwei Zeilen tiefer innerhalb des item-Eigenschaftswerts verschoben werden.
<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. Fehlende position
Diese ist etwas subjektiver. Google sagt hier Carousel (ItemList) Structured Data | Google Search Central | Documentation | Google for Developers, dass die Eigenschaft erforderlich ist
Google sagt also “es ist erforderlich”.
Das bedeutet “Google verlangt es”, nicht “es ist vom Schema erforderlich”.
3. Defekter Schema.org-Validator
Ich weiß nicht, was er tut, aber er validiert nicht richtig. Er hätte #1 erkennen müssen.
