2017-07-28 74 views
-2

我嘗試了一個簡單的例子,但SiteNavigationElement在我使用Google Structured testing tool進行測試時無法正常工作。SiteNavigationElement無法正常工作

<div itemscope itemtype="http://schema.org/WebPageElement"> 
    <link itemprop="additionalType" href="http://schema.org/ItemList" /> 
    <meta itemprop="name" content="navigation_menu" /> 
    <ul> 

    <li itemprop="additionalType" itemscope itemtype="http://www.schema.org/SiteNavigationElement"> 
     <span itemprop="itemListElement"> 
     <a href="http://www.example.com/link_1" itemprop="url"> 
      <span itemprop="name">Link 1</span> 
     </a> 
     </span> 
    </li> 

    <li itemprop="additionalType" itemscope itemtype="http://www.schema.org/SiteNavigationElement"> 
     <span itemprop="itemListElement"> 
     <a href="http://www.example.com/link_2" itemprop="url"> 
      <span itemprop="name">Link 2</span> 
     </a> 
     </span> 
    </li> 

    </ul> 
</div> 

回答

0

additionalType屬性不應被用於創建另一個項目(你與itemscope + itemtype做)。它的工作是提供其他類型的URI,所以URI本身就是這裏的值。

看來你想標記你的導航中的每個鏈接。這不可能與SiteNavigationElement(它can only be used to mark up the whole navigation,所以它的typically useless)。

這將有可能ItemList,你可以提供SiteNavigationElementadditionalType(但我不希望任何消費者利用這一點):

<div itemscope itemtype="http://schema.org/ItemList"> 
    <link itemprop="additionalType" href="http://schema.org/SiteNavigationElement" /> 
    <ul> 
    <li itemprop="itemListElement" itemscope itemtype="http://schema.org/WebPage"> 
     <a href="/link-1" itemprop="url"><span itemprop="name">Link 1</span></a> 
    </li> 
    <li itemprop="itemListElement" itemscope itemtype="http://schema.org/WebPage"> 
     <a href="/link-2" itemprop="url"><span itemprop="name">Link 2</span></a> 
    </li> 
    </ul> 
</div>