Schema.org SiteNavigationElement是否应该像这样构造
<div itemscope itemtype="http://www.schema.org/SiteNavigationElement">
<ul>
<li itemprop="url"><a href="#" itemprop="name">Link 1</a>
</ul>
</div>或者像这样?
<div itemscope itemtype="http://www.schema.org/SiteNavigationElement">
<ul>
<li>
<a href="#" itemprop="url"><span itemprop="name">Link 1</span></a>
</li>
</ul>
</div>发布于 2014-03-02 20:45:05
你的问题似乎是:
itemprop="url"上指定li吗?itemprop="name"上指定a吗?这两个问题的答案是:不,你不应该这样做。微数据为以下元素定义了特殊的解析规则a。
URL的url属性需要一个URL作为值。微数据定义您必须使用a/area/link/etc. (本质上,具有src或href属性的任何元素)之类的元素来指定URL。在第一个示例中,url属性的值不是URL,而是文本"Link 1“。
因为a元素上的属性(如果它们具有href属性)总是以href内容(而不是元素内容)作为值,所以您的第一个示例将把URL作为name属性的值(当然,它需要文本,而不是URL )。
所以:你的第一个例子会产生错误的结果。第二个例子很好。
注意,还可以省略span元素。而不是
<li>
<a href="#" itemprop="url"><span itemprop="name">Link 1</span></a>
</li>你可以用
<li itemprop="name">
<a href="#" itemprop="url">Link 1</a>
</li>(关于堆栈溢出的问题,请参见我同样的回答。)
发布于 2015-09-28 13:35:48
根据搜索引擎土地的说法,应该是这样的:
<ul itemscope itemtype="http://www.schema.org/SiteNavigationElement">
<li itemprop="name">
<a itemprop="url" href="#">Link 1</a>
</li>
<li itemprop="name">
<a itemprop="url" href="#">Link 2</a>
</li>
<li itemprop="name">
<a itemprop="url" href="#">Travel Resources</a>
</li>
</ul>发布于 2014-03-02 15:26:30
SiteNavigationElement对我和其他一些人都有问题,就像我们可以在@bybe的评论中看到的那样。我们可以说,问题是缺乏范围。
SiteNavigationElement是指导航系统的单个项,因此它被读为:站点导航的一个元素。或者它是指整个导航系统,因此它被读为:站点的导航元素
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<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>
</body>
</html>这有点复杂,因为不仅将导航系统的每个成员视为一个值得标记的元素,还需要一个组合语法,使用additionalType来传达这样的想法,即这些链接是属于某物的项目列表。
我已经将这个答案上的代码修改成上面的版本,以适应一种作为微数据和HTML来工作和验证的方法。在这个问题的版本历史中,您可以看到我早期使用的选项。我换了那些密码是因为
https://webmasters.stackexchange.com/questions/58926
复制相似问题