我正在研究以下对 SEO 友好的导航:
<nav itemprop="breadcrumb" itemscope itemtype="https://schema.org/BreadcrumbList">
<ul id="hornavmenu" class="nav navbar-nav">
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" >
<a href="index.html" class="fa-home active" itemprop="item"><span itemprop="name">Start</span></a>
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" >
<a href="about.html" class="fa-group " itemprop="item"><span itemprop="name">About</span></a>
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" >
<a href="contact.html" class="fa-comment " itemprop="item"><span itemprop="name">Contact</span></a>
</li>
</ul>
</nav>
所以问题是,在谷歌搜索中,面包屑列表看起来像这样:
网址 -> 开始 -> 关于 -> 联系方式
这当然是错误的,但是代码中有什么问题?此外,我还想补充:
<nav itemscope="itemscope" itemtype="http://www.schema.org/SiteNavigationElement">
…
</nav>
。但是我在哪里添加面包屑列表以及如何合并这两者?
不鼓励在面包屑列表中包含"主页"链接,如 Google 的面包屑页面上所示,所有示例都省略了主页点。痕迹导航不用于主导航,您应该有足够的链接在其他地方扎根。
根据我使用BreadcrumbList的经验,当链接指向域时,Google确实会省略SERP中面包屑中的"主页"链接。在本例中,您使用的是"index.html",它可能与"example.com"页面不同。
SiteNavigationElement 用于指示网站的主导航。如前所述,面包屑不是这个。使用SiteNavigationElement进行实际导航。有关更多详细信息,请参阅什么是 schema.org 站点导航元素的正确用法?。
BreadcrumbList
类型用于面包屑。不要将其用于其他用途。
在您的情况下,它似乎是一个导航菜单。SiteNavigationElement
类型可用于这些。它可能看起来像:
<nav itemscope itemtype="http://schema.org/SiteNavigationElement">
<ul>
<li><a href="index.html">Start</a></li>
<li><a href="about.html">About</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</nav>
如您所见,它适用于整个导航,而不是单个导航链接。因此,请勿使用name
或url
作为链接。
如果要提供有关每个链接页面的结构化数据,可以将ItemList
与SiteNavigationElement
一起使用。这将类似于您的BreadcrumbList
示例。
注意:我建议根本不使用SiteNavigationElement
,除非您有特定的用例或消费者(在这种情况下,您应该遵循他们的文档)。