使用 SemRush,我们看到以下问题:
- 27 个页面被阻止抓取,例如:reflex-dev · Discussions · GitHub
- 页面 reflex-dev · Discussions · GitHub 轮播图中的问题,关于 position:嵌套 ListItem 需要 position 字段的
value,并且item或url:嵌套 ListItem 的 item 和 url 字段是互斥的。请删除其中一个。
使用 SemRush,我们看到以下问题:
value,并且 item 或 url:嵌套 ListItem 的 item 和 url 字段是互斥的。请删除其中一个。据我所知,个人资料页面是故意阻止被索引的:
这对于不抓取个人资料页面来说非常有意义。
关于 About - Reflex 页面轮播中的问题,位置:嵌套的 ListItem 需要一个 value 来表示位置字段,并且 item 或 url:嵌套的 ListItem 的 item 和 url 字段是互斥的。请删除其中一个。
你觉得怎么样?
我不知道那个,我将留给更了解的人来回答。
我认为 SemRush 分析该页面的方式有问题。除非有什么变化,否则 Discourse 不使用轮播图模式类型。有一篇 2022 年关于此问题的帖子:SemRush Structured Data - #4 by Falco
在 schema.org 上测试 \u003chttps://forum.reflex.dev/about\u003e,它找到了 ItemList、AboutPage 和 SiteNavigationElement 模式类型。没有报告错误或警告。您可以在此处查看结果:\u003chttps://validator.schema.org/#url=https%3A%2F%2Fforum.reflex.dev%2Fabout\u003e。
有趣的是,这里的结果不正确,因为这使用了 Google Search Console:https://search.google.com/test/rich-results/result/r%2Fcarousels?id=kB-_lj4GOiubX0YgxJtjpA
我确实看到了一些代码问题
url 属性放错位置 <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>
itemListElement 是一个 ListItem。
ListItem 有一个 item 属性,它是一个 Thing。
ListItem 不能有 url 属性
Thing 可以。请参阅 ListItem - Schema.org Type
因此, <meta itemprop='url' content='/u/elvis'> 行应该移到 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>
position这一个稍微主观一些。谷歌在这里 Carousel (ItemList) Structured Data | Google Search Central | Documentation | Google for Developers 说该属性是必需的
所以谷歌说“它是必需的”。
这意味着“谷歌需要它”,而不是“模式本身需要它”。
我不知道它在做什么,但它没有正确验证。它应该已经捕获了 #1。