具有多个页面属性的微数据标记

时间:2014-01-29 17:08:06

标签: microdata schema.org

我正在创建一个网页,目前我正在为代码添加微数据标记。我正在使用schema.org的MusicGroup

我有一个index.html页面,我想从这里获取该乐队的名称和图像属性:

<div class="container" itemscope itemtype="http://schema.org/MusicGroup">
    ...
    <a href="index.php"><img itemprop="image" src="img/logo.png" alt="logo" /></a>
    <p>We are <span itemprop="name">NAME OF THE BAND</span>.</p>
    ...
</div>

但是在about_us.html页面上有一个简短的描述,我也想使用它:

<div class="container" itemscope itemtype="http://schema.org/MusicGroup">
    ...
    <p itemprop="description">A description of the band.</p>
    ...
</div>

当我使用这样的代码时,搜索引擎(可以理解)将它们视为两个不同的MusicGroup:

MusicGroup 1:
图片:... / img / logo.png
名称:BAND的名字

MusicGroup 2:
描述:乐队的描述。

如何将这些属性链接到一个项目?

1 个答案:

答案 0 :(得分:1)

Microdata的名称 - 值对是per webpage, not per website

因此,在一个关于音乐组的网站上,可以预期每个页面都包含一个“自己的”MusicGroup项,但实际上它总是与同一个音乐组有关。但是从Microdata或schema.org的角度来看,这些不同的项目不会以这种方式进行语义连接(但消费者可能会猜测这一点,例如通过比较属性值)。

Microdata的itemid attribute可用于唯一标识每个项目。但要求所使用的词汇表支持“项目的全局标识符”(itemid用于schema.org上的某些类型(例如,在MedicalScholarlyArticle的示例中),但我不清楚如果它真的支持按照Microdata的要求用于其他类型,例如MusicGroup)。

所以在你的情况下,你可以:

  • 保持原样
  • 复制信息,以便每个项目都包含所有相关内容(可能是using meta/link elements
  • 在一个页面上移动所有信息(可能是using itemref
  • (如果应该允许一般用于schema.org)使用itemid来声明几个项目实际上是同一件事