每个人都知道微数据,但没有人知道如何以及何时正确使用它。在搜索了不同的StackOverflow问题和Google搜索结果后,我想出了以下结构。
<nav itemscope itemtype="http://schema.org/SiteNavigationElement">
<ul itemscope itemtype="http://schema.org/ItemList">
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<meta itemprop="position" content="1">
<a href="http://example.com/page1" itemprop="url">
<span itemprop="name">Page 1</span>
</a>
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<meta itemprop="position" content="2">
<a href="http://example.com/page2" itemprop="url">
<span itemprop="name">Page 2</span>
</a>
<ul itemscope itemtype="http://schema.org/ItemList">
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<meta itemprop="position" content="1">
<a href="http://example.com/page2-1" itemprop="url">
<span itemprop="name">Page 2-1</span>
</a>
</li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<meta itemprop="position" content="2">
<a href="http://example.com/page2-2" itemprop="url">
<span itemprop="name">Page 2-2</span>
</a>
</li>
</ul>
</li>
</ul>
</nav>
我唯一的问题是我得到了#34;页面上的多个ItemList标记是不允许的&#34;来自Google测试工具的错误:https://search.google.com/structured-data/testing-tool
每个其他schema.org验证器都可以。我的代码或Google工具中是否有错误?
更新:似乎Google并不认为页面上有多个项目列表。这是针对schema.org标准的定义。如果我将此代码放置两次,我会得到相同的错误。
<ul itemscope itemtype="http://schema.org/ItemList">
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<meta itemprop="position" content="1">
<a title="Page 1" href="http://example.com/page1" itemprop="url">
<span itemprop="name">Page 1</span>
</a>
</li>
</ul>
答案 0 :(得分:0)
Google Structured Data Testing Tool不是一般的Schema.org检查程序。大多数警告/错误都与Google搜索中的丰富结果有关。
例如,Carousels rich result使用ItemList
,因此错误可能意味着您的网页无法在Google的搜索结果中获得此丰富的结果。如果您不想(或不能)获得此丰富的结果,you can ignore the error。
Schema.org不限制在文档中使用类型的频率。