在SEO条款…
最好把方案放在包含所有链接的父母上?
<nav itemscope="itemscope" itemtype="http://www.schema.org/SiteNavigationElement"> <a href="#">Link 1</a> <a href="#">Link 2</a> <a href="#">Link 3</a> </nav>
…或者应该将每个链接视为自己的元素?
<nav> <span itemscope="itemscope" itemtype="http://www.schema.org/SiteNavigationElement"> <a itemprop="url" href="#"> <span itemprop="name">Link 1</span> </a> </span> <span itemscope="itemscope" itemtype="http://www.schema.org/SiteNavigationElement"> <a itemprop="url" href="#"> <span itemprop="name">Link 2</span> </a> </span> <span itemscope="itemscope" itemtype="http://www.schema.org/SiteNavigationElement"> <a itemprop="url" href="#"> <span itemprop="name">Link 3</span> </a> </span> </nav>
解决方法
如果SiteNavigationElement用于整个导航(即导航链接列表),则您的第一个示例是正确的。
如果SiteNavigationElement用于单个导航条目(即导航链接列表中的链接),则您的第二个示例是正确的。
我认为Schema.org不明确地定义哪个变体是什么意思,因为他们只说:
A navigation element of the page.
然而,父类型WebPageElement
定义为:
A web page element,like a table or an image
而且,所有其他的孩子类型(如Table
或WPFooter
)似乎都被用于整个事物,而不是东西的特定部分。
<nav itemscope itemtype="http://schema.org/SiteNavigationElement"> <ul> <li><a href="javascript:void()" class="outlink" data="/link-1">Link 1</a></li> <!-- don’t use the 'url' or 'name' property here! --> <li><a href="javascript:void()" class="outlink" data="/link-2">Link 2</a></li> </ul> </nav>