SEO for our domain is being impacted

I do see some issues with the code

1. misplaced url property

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

The itemListElement is a ListItem.

The ListItem has a property item which is a Thing.
A ListItem can not have a url property
A Thing can. See ListItem - Schema.org Type

Hence, the <meta itemprop='url' content='/u/elvis'> line should be moved two lines lower within the item property value.

      <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. missing position

This one is a bit more subjective. Google says here Carousel (ItemList) Structured Data | Google Search Central  |  Documentation  |  Google for Developers that the property is required

So Google says “it’s required”.
That means “Google requires it”, not “it’s required by the schema”.

3. broken Schema.org validator

I don’t know what it’s doing but it’s not correctly validating. It should have caught #1.

2 Likes