O SEO para o nosso domínio está sendo afetado

Tenho visto alguns problemas com o código

1. Propriedade url mal colocada

      <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>

O itemListElement é um ListItem.

O ListItem tem uma propriedade item que é uma Thing.
Um ListItem não pode ter uma propriedade url
Uma Thing pode. Veja ListItem - Schema.org Type

Portanto, a linha <meta itemprop='url' content='/u/elvis'> deve ser movida duas linhas para baixo, dentro do valor da propriedade 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 ausente

Este é um pouco mais subjetivo. O Google diz aqui Carousel (ItemList) Structured Data | Google Search Central  |  Documentation  |  Google for Developers que a propriedade é obrigatória

Então o Google diz “é obrigatório”.
Isso significa “o Google exige isso”, não “é exigido pelo schema”.

3. Validador Schema.org quebrado

Não sei o que está acontecendo, mas não está validando corretamente. Deveria ter pego o #1.

2 curtidas