# SEO for our domain is being impacted

**URL:** https://meta.discourse.org/t/seo-for-our-domain-is-being-impacted/327841
**Category:** Bug
**Created:** [September 24, 2024, 12:45am UTC](https://meta.discourse.org/t/seo-for-our-domain-is-being-impacted/327841 "2024-09-24T00:45:09Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![tomg](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@tomg](https://meta.discourse.org/u/tomg)
#### Post date: [September 24, 2024, 12:45am UTC](https://meta.discourse.org/t/seo-for-our-domain-is-being-impacted/327841/1 "2024-09-24T00:45:09Z")

</div>

Using SemRush we are seeing these issues:

1. 27 pages blocked from crawling, i.e.: [reflex-dev · Discussions · GitHub](https://forum.reflex.dev/u/Lendemor)
2. issues in the carousel on page [reflex-dev · Discussions · GitHub](https://forum.reflex.dev/about) 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.

---

<div class="post-metadata">

### Author: ![Firepup650](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/firepup650/32/465200_2.png) [@Firepup650](https://meta.discourse.org/u/Firepup650)
#### Post date: [September 24, 2024, 12:53am UTC](https://meta.discourse.org/t/seo-for-our-domain-is-being-impacted/327841/2 "2024-09-24T00:53:55Z")

</div>

> [@tomg](#):
>
> 27 pages blocked from crawling, i.e.: [Profile - Lendemor - Reflex](https://forum.reflex.dev/u/Lendemor)

AFAIK, profile pages are intentionally blocked from being indexed:

> [@How to edit robot.txt for indexing user profiles?](https://meta.discourse.org/t/how-to-edit-robot-txt-for-indexing-user-profiles/113644/2):
>
> User profiles are disallowed as the version which is seen by the crawler contains no useful information. It’s not a question of whether the server can handle it or “take the hit”, it’s the tens of thousands of effectively empty pages which will waste the crawl time allocated to your site by the search engines.

> [@Applying Schema.org on the user profile page for improved author authority on Google](https://meta.discourse.org/t/applying-schema-org-on-the-user-profile-page-for-improved-author-authority-on-google/196054/5):
>
> The tricky thing though is that we don’t even allow indexing on user pages. Generally we see them as low value pages to add to Google. Stack Overflow and a few other places do allow indexing here. I guess a lot is depending on our strategy around user pages, they are very possibly a spam and abuse vector with mixed in privacy concerns. Potentially if we only allowed indexing to particular groups and we had an HTML view that was better than just a blank page with a user name. Then t…

---

<div class="post-metadata">

### Author: ![tomg](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@tomg](https://meta.discourse.org/u/tomg)
#### Post date: [September 24, 2024, 1:17am UTC](https://meta.discourse.org/t/seo-for-our-domain-is-being-impacted/327841/3 "2024-09-24T01:17:21Z")

</div>

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

For issues in the carousel on page [About - Reflex](https://forum.reflex.dev/about) 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?

---

<div class="post-metadata">

### Author: ![Firepup650](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/firepup650/32/465200_2.png) [@Firepup650](https://meta.discourse.org/u/Firepup650)
#### Post date: [September 24, 2024, 1:41am UTC](https://meta.discourse.org/t/seo-for-our-domain-is-being-impacted/327841/4 "2024-09-24T01:41:43Z")

</div>

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

---

<div class="post-metadata">

### Author: ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)
#### Post date: [September 24, 2024, 3:31am UTC](https://meta.discourse.org/t/seo-for-our-domain-is-being-impacted/327841/6 "2024-09-24T03:31:38Z")

</div>

> [@tomg](#):
>
> For issues in the carousel on page [About - Reflex](https://forum.reflex.dev/about)

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](https://meta.discourse.org/t/semrush-structured-data/219210/4)

Testing [https://forum.reflex.dev/about](https://forum.reflex.dev/about) on [schema.org](http://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](https://validator.schema.org/#url=https%3A%2F%2Fforum.reflex.dev%2Fabout).

---

<div class="post-metadata">

### Author: ![tomg](https://avatars.discourse-cdn.com/v4/letter/t/ac8455/32.png) [@tomg](https://meta.discourse.org/u/tomg)
#### Post date: [September 24, 2024, 4:48pm UTC](https://meta.discourse.org/t/seo-for-our-domain-is-being-impacted/327841/7 "2024-09-24T16:48:31Z")

</div>

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](https://search.google.com/test/rich-results/result/r%2Fcarousels?id=kB-_lj4GOiubX0YgxJtjpA)

---

<div class="post-metadata">

### Author: ![RGJ](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/rgj/32/523185_2.png) [@RGJ](https://meta.discourse.org/u/RGJ)
#### Post date: [September 24, 2024, 5:41pm UTC](https://meta.discourse.org/t/seo-for-our-domain-is-being-impacted/327841/8 "2024-09-24T17:41:08Z")

</div>

I do see some issues with the code

### 1. misplaced `url` property

```plaintext
      <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](https://schema.org/ListItem)

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

```plaintext
      <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 &nbsp;|&nbsp; Documentation &nbsp;|&nbsp; Google for Developers](https://developers.google.com/search/docs/appearance/structured-data/carousel#list-item) that the property is required

 ![image](https://global.discourse-cdn.com/meta/original/4X/3/0/d/30d7f60f67a1de6f7856222a6659c6a736b1c2c7.png)

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

### 3. broken [Schema.org](http://Schema.org) validator

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