RDFa面包屑导航

5

当你使用ul元素来格式化您的面包屑(旨在获得更好的Google搜索结果)时,如何定义RDFa标记?我问这个问题是因为li元素是彼此兄弟而不是子元素。我正在做类似这样的事情:

<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 元素内是顺序排列的吗?


他们是兄弟姐妹,但只有在引用它们与父元素 ul 的关系时才是如此。从 CSS 的角度来看,它们实际上是兄弟元素。你的 RDFa 基本上是在说,这些 li 元素对应于某些底层数据结构。因此,对于想要弄清它们代表什么的语义观点来说,你的 RDFa 解释了它们实际上是分层的。 - J. M. Becker
2个回答

5
是的。您可以使用Google测试工具进行检查。您的代码将生成以下结果: enter image description here 虽然还需要一些澄清。
  • 正如您所看到的,链接链中的最后一个链接(“当前级别”)未显示。似乎Google需要一些合理的URL才能显示它。您可以在面包屑的最后一部分添加带有页面地址的href:
a class="currentLevel" title="Current Level" href="/my_page.html" rel="v:url" property="v:title"

抱歉引用了一下 - 由于某种原因,SO不允许我在这里放置可见代码。

您将获得类似以下内容:

enter image description here

  • 正如Google 文档中面包屑导航所述:

使用标题属性标识面包屑名称,前缀为v:,如下所示:

<span property="v:title">. 

rel属性表示链接是面包屑导航的URL。属性应该在元素中指定,而不是嵌套在其中,像这样:

<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>更好,因为您正在处理一个有序的面包屑列表,而不是一个无序的列表。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接