2013-08-19 44 views
5

当您使用ul元素来设置您的面包屑(旨在获得更好的Google搜索结果)时,如何定义RDFa标记?我问的原因是li元素是彼此的兄弟姐妹,而不是孩子。我正在做类似:RDFa Breadcrumbs

<div class="dv_breadcrumbs"> 
    <ul xmlns:v="http://rdf.data-vocabulary.org/#"> 
    <li typeof="v:Breadcrumb"><a title="Level1" href="/level1" rel="v:url"><span property="v:title">Level1</span></a></li> 
    <li typeof="v:Breadcrumb"><a title="Level2" href="/level2" rel="v:url"><span property="v:title">Level2</span></a></li> 
    <li typeof="v:Breadcrumb"><a title="Level3" href="/level3" rel="v:url"><span property="v:title">Level3</span></a></li> 
    <li typeof="v:Breadcrumb"><a title="lever4" href="/level4" rel="v:url"><span property="v:title">Level4</span></a></li> 
    <li typeof="v:Breadcrumb"><a class="currentLevel" title="Current Level" rel="v:url" property="v:title">Current Level</a></li> 
    </ul> 
</div> 

它是正确的吗?搜索引擎是否会明白在ul元素中面包屑项目是按顺序排列的?

+0

他们是兄弟姐妹,但只有当引用他们的关系到父'ul'。基本上,当你的观点是标记本身,就像CSS那样,它们就是兄弟姐妹。你的RDFa基本上是说,这些'li'对应于一些底层的数据结构。所以关于一个想要弄清楚它们代表什么的语义观点,你的RDFa解释它们实际上是分层的。 – TechZilla

回答

5

是的。您可以使用Google Testing Tool进行检查。您的代码将在以下内容中为resultenter image description here

虽然需要一些说明。

  • 正如您看到链中的最后一个链接(“当前级别”)未显示。 Google似乎需要一些合理的网址来显示它。你可以用你的网页地址添加HREF到breadcumb的最后一部分:
a class="currentLevel" title="Current Level" href="/my_page.html" rel="v:url" property="v:title" 

(对不起,引用 - 由于某种原因SO不允许我在这里把可见的代码)。

,你会得到像水木清华:

enter image description here

  • 因为它在谷歌doc规定的面包屑:

的路径名称使用title属性进行标识,带有v:前缀 ,如下所示:

<span property="v:title">. 

rel属性 表示该链接是该路径的网址。该物业 属性应在一个元素中指定,而不是嵌套 里面,像这样:

<a href="books.html" rel="v:url" property="v:title">Books</a>. 

因此,最好重写你的代码是这样的:

<div class="dv_breadcrumbs"> 
    <ul xmlns:v="http://rdf.data-vocabulary.org/#"> 
    <li typeof="v:Breadcrumb"><a title="Level1" href="/level1" rel="v:url" property="v:title">Level1</a></li> 
    <li typeof="v:Breadcrumb"><a title="Level2" href="/level2" rel="v:url"property="v:title">Level2</a></li> 
    <li typeof="v:Breadcrumb"><a title="Level3" href="/level3" rel="v:url" property="v:title">Level3</a></li> 
    <li typeof="v:Breadcrumb"><a title="lever4" href="/level4" rel="v:url" property="v:title">Level4</a></li> 
    <li typeof="v:Breadcrumb"><a class="currentLevel" title="Current Level" href="/my_page.html" rel="v:url" property="v:title">Current Level</a></li> 
    </ul> 
</div> 
0

是的,搜索引擎倾向于按照RDFa标记的HTML元素的顺序来推定面包屑的顺序。

不过,如果你想拥有真正的语义HTML,那么也许一个<ol><ul>更好,因为你处理面包屑的有序列表,而不是一个无序名单。