Schema.org属性的子属性

时间:2015-02-28 01:44:08

标签: seo semantic-web schema.org microdata google-rich-snippets

我一直试图弄清楚这个谜语。 让我们说我们有一个电视剧集如下,

<main itemscope itemtype="https://schema.org/TVEpisode">
    <h1>
      <a itemprop="url" href="self.html">
          Pokemon - <span itemprop="episodeNumber">88</span>
      </a>
    </h1>
    <h2 itemprop="name">In the Pink</h2>
    <p>Source: <span itemprop="partOfSeries">Pokemon</span>
               <span itemprop="partOfSeason">Orange Islands</span>
    </p>
</main>

现在问题是我无法在这里添加'partOfSeries'的'sameAs'属性。如果我在'partOfSeries'中添加'sameAs'属性的锚点,Google结构化数据测试工具表示它无法找到sameAs属性。我无论如何也不知道这样做。同样适用于'seasonNumber',它是'partOfSeason'的孩子。 如果您也可以帮助'potentialAction'属性,那将是非常棒的。 谢谢

1 个答案:

答案 0 :(得分:1)

partOfSeason property需要Season type的值 partOfSeries property需要Series type的值 您在两种情况下都给出了文本值。

这是not wrong(只是不推荐),但是如果有文字值,则无法提供有关季节/系列的其他数据。

在Microdata语法中,您必须使用itemscope属性创建新的,并为其类型指定itemtype属性:

<span itemprop="partOfSeries" itemscope itemtype="http://schema.org/Series">
  <span itemprop="name">Pokemon</span>
</span>

<span itemprop="partOfSeason" itemscope itemtype="http://schema.org/Season">
  <span itemprop="name">Orange Islands</span>
</span>

(因为项目中的简单文本不被视为微数据值,您必须使用属性来处理与项目关联的所有内容,例如,在这种情况下,Schema.org的name。 )

现在,您可以添加仅适用于其父级(Series / Season)的其他属性,而不是TVEpisode

<span itemprop="partOfSeries" itemscope itemtype="http://schema.org/Series">
  <span itemprop="name">Pokemon</span>
  <link itemprop="sameAs" href="http://en.wikipedia.org/wiki/Pok%C3%A9mon_%28anime%29"/>
</span>

<span itemprop="partOfSeason" itemscope itemtype="http://schema.org/Season">
  <span itemprop="name">Orange Islands</span>
  <link itemprop="sameAs" href="http://en.wikipedia.org/wiki/List_of_Pok%C3%A9mon:_Adventures_on_the_Orange_Islands_episodes"/>
</span>

关于你的例子的附注: