伙计们,我有几个不清楚之处。
我正在为谷歌优化我的网站,我开始使用结构化数据。
第一个问题:
我的网站有带子菜单的主菜单,子菜单有自己的子菜单等......
是否所有子菜单也需要声明itemscope itemtype="http://www.schema.org/SiteNavigationElement
还是只是 parent 需要?
在下面检查我的示例:
<ul itemscope itemtype="http://www.schema.org/SiteNavigationElement">
<li itemprop="name"><a itemprop="url" href="#">Car Parts</a></li>
<li itemprop="name">
<a itemprop="url" href="#">Car Models</a>
<ul itemscope itemtype="http://www.schema.org/SiteNavigationElement" class="dropdown"> <!-- THIS -->
<li itemprop="name"><a itemprop="url" href="#">Sub menu</a></li>
</ul>
</li>
</ul>
或者只需要这样 <ul itemscope itemtype="http://www.schema.org/SiteNavigationElement">
<li itemprop="name"><a itemprop="url" href="#">Car Parts</a></li>
<li itemprop="name">
<a itemprop="url" href="#">Car Models</a>
<ul class="dropdown"> <!-- THIS -->
<li itemprop="name"><a itemprop="url" href="#">Sub menu</a></li>
</ul>
</li>
</ul>
第二个问题<li itemprop="name">
itemprop
的值是 name
.这需要留在name
值或我需要更改 name
=> Car Models
?<a itemprop="url">
是否url
需要换我的www.example.com/category
还是只留下网址?谢谢
最佳答案
<ul itemscope itemtype="http://www.schema.org/SiteNavigationElement">
<li itemprop="name"><a itemprop="url" href="#">Car Parts</a></li>
<li class="dropdown">
<a class="dropdown-toggle" href="#">Car Models</a>
<ul class="dropdown-menu">
<li class="nav-item" itemprop="name">
<a class="dropdown-item nav-link" itemprop="url" href="https://stackoverflow.com">stackoverflow</a>
</li>
</ul>
</li>
</ul>
Itemprop 应该定义在导航项上,而不是下拉容器上。您也不需要重复模式声明,也不需要重新声明 itemscope。此外, itemprop=""正在定义 dom 项正在定义的属性类型。所以它应该保留为“名称”和“网址”。
这是一篇解释 itemprop 的 Mozilla 文章:https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemprop
关于html - 在 super 菜单中使用 SiteNavigationElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65476965/