SEO for our domain is being impacted

Using SemRush we are seeing these issues:

  1. 27 pages blocked from crawling, i.e.: Profile - Lendemor - Reflex
  2. issues in the carousel on page About - Reflex the position: A value for the position field is required for a nested ListItem and item or url: The item and url fields are mutually exclusive for a nested ListItem. Please remove one of them.

AFAIK, profile pages are intentionally blocked from being indexed:

3 Likes

Okay this makes a lot of sense about not crawling the profile pages.

For issues in the carousel on page About - Reflex the position: A value for the position field is required for a nested ListItem and item or url: The item and url fields are mutually exclusive for a nested ListItem. Please remove one of them.

What do you think?

I don’t know about that one, I’m going to leave someone who knows more to respond about that one.

I think there’s something wrong with the way SemRush is analyzing the page. Unless something has changed, Discourse doesn’t use the Carousel schema type. There’s a post from 2022 about the issue: SemRush Structured Data - #4 by Falco

Testing https://forum.reflex.dev/about on schema.org, it’s finding ItemList, AboutPage, and SiteNavigationElement schema types. No errors or warnings are being reported. You can check the results here: https://validator.schema.org/#url=https%3A%2F%2Fforum.reflex.dev%2Fabout.

4 Likes

Interesting, so the results here are incorrect then as this uses google search console: https://search.google.com/test/rich-results/result/r%2Fcarousels?id=kB-_lj4GOiubX0YgxJtjpA

1 Like

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 Dati strutturati Carosello (ItemList) | Google Search Central  |  Documentazione  |  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