【问题标题】:schema.org: SiteNavigationElement with multiple elementsschema.org:具有多个元素的 SiteNavigationElement
【发布时间】:2023-03-05 07:28:01
【问题描述】:

我正在尝试为我的菜单导航实现 schema.org 微数据。 此导航将类似于以下内容:

<ul>
    <li><a href="#"><span>Name1</span></a></li>
    <li><a href="#"><span>Name2</span></a></li>
    <li><a href="#"><span>Name3</span></a></li>
</ul>

我想使用SiteNavigationElement,不幸的是,我能找到的所有示例都没有明确回答如何使用多个元素。

有人确定,如何在多个元素上使用SiteNavigationElement

更新:

这是我在阅读重复链接中的所有答案后想出的原始菜单结构:

<nav class="menu" itemscope itemtype="http://schema.org/SiteNavigationElement">
    <ul class="main-menu" role="menubar">
        <li class="main-menu">Home</li>
        <li class="parent">
            <ul class="sub-menu">
                <li><a itemprop="url" role="menuitem" href="index.php"><span itemprop="name">Home</span></a></li>
                <li><a itemprop="url" role="menuitem" href="tricks.php"><span itemprop="name">Tricks</span></a></li>
                <li><a itemprop="url" role="menuitem" href="features.php"><span itemprop="name">Features</span></a></li>
            </ul>
        </li>
    </ul>
 </nav>

现在,所有内容都已被谷歌完全索引,我可以在 Google 网站管理员工具中看到它。

那么 Google 站长工具是如何看待它的呢?

Page URL   | Items | Items with errors | Last detected |    Name    | Errors
----------------------------------------------------------------------------
Page1.php  |   1   |          -        |     2/11/16   |  Features  |    -
Page2.php  |   1   |          -        |     2/11/16   |  Features  |    -
Page3.php  |   1   |          -        |     2/11/16   |  Features  |    -
Page4.php  |   1   |          -        |     2/11/16   |  Features  |    -
...

我所有被索引并有菜单的页面(Page1.php - Page4.php),每个只有1项。并且检测到的项目始终只是 SiteNavigationElement 中指定的最后一个链接。

那么显然肯定有错误。

  • 为什么 google 只看到 一个 链接?
  • 为什么它总是最后一个链接?

【问题讨论】:

标签: navigation schema.org microdata


【解决方案1】:

这是我在阅读重复链接中的所有答案后想出的原始菜单结构

除了我的回答,似乎 ;-) 正如我在 my answer to the possibly duplicate question 中解释的那样,url 属性应该用于每个导航链接。相反,url 属性应该为整个导航提供一个 URL(通常不存在)。

对于所有其他 SiteNavigationElement 属性(如 Schema.org version 2.2)也是如此,例如您的示例中的 name:它用于导航的名称(例如,“导航”),而不是用于导航条目的名称。

所以使用SiteNavigationElement 似乎不是很有用。 WebPageElement 及其其他子类型也是如此。他们may be useful in special cases and in non-HTML contexts,但一般我不会将它们用于典型的网页。

【讨论】:

  • 那么我如何让谷歌知道我的菜单结构,以便在搜索结果中显示几个菜单链接?
  • @lockdoc:就 Schema.org 而言,没有其他类型的导航。一个相关的类型是BreadcrumbList,但当然只适用于面包屑。 -- 如果你的意思是Google’s Sitelinks:根据 Google 的结构化数据文档,这些不算作 Rich Snippet,因此 Schema.org 与显示它们无关(至少不直接)。
  • 在您的原始答案中,您建议仍使用SiteNavigationElement,但省略nameurl 属性。您是否也会为我的情况推荐这个,或者您更愿意推荐也删除整个 SiteNavigationElement
  • @lockdoc:正如我在此答案中提到的,我会将其从网页中删除(就像任何其他 WebPageElement + 其子类型一样),除非我知道保留它的充分理由(我没有)。
  • 好的,谢谢您的回答。这对我来说非常不满意,但事实就是这样:-(
猜你喜欢
  • 2017-09-06
  • 1970-01-01
  • 2012-10-29
  • 1970-01-01
  • 1970-01-01
  • 2019-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多