【问题标题】:Right way to set microdata for Q&A HTML为问答 HTML 设置微数据的正确方法
【发布时间】:2014-11-30 13:27:55
【问题描述】:

假设一个人有一个简单的问答 HTML,并想添加微数据,应该如何进行?

<h2>My Question</h2>
<p>My Answer</p>

我知道schema.org 的例子,但我觉得不是很清楚。看起来有点矫枉过正。我需要一个简单的解决方案。我可以这样继续吗?

<h2 itemscope itemtype="http://schema.org/Question">My Question</h2>
<p itemscope itemtype="http://schema.org/Answer">My Answer</p>

我只想告诉问题是什么,答案是什么。这对搜索引擎来说足够了吗?或者我应该有更复杂的东西,比如:

<div itemscope itemtype="http://schema.org/Question">
  <h2 itemprop="name">My Question</h2>
  <p itemscope itemtype="http://schema.org/Answer">My Answer</p>
</div>

使用itemprop="name" 来判断问题的正确方法是什么?上面提到的 schema.org 示例中的itemprop="name"itemprop="text" 有什么区别?

【问题讨论】:

    标签: html schema.org microdata


    【解决方案1】:

    从您的第一个示例中,微数据解析器只会知道有一个 Question 和一个 Answer 项目,没有任何进一步的内容。微数据没有规定必须考虑具有itemscope属性的HTML元素的内容,它只关心property values

    使用online Microdata parsers 测试您的示例:


    nametext

    对于这个问题,name 将是“为问答 HTML 设置微数据的正确方法”,text 将是问题主体(“说一个人有一个简单的问题……”)。

    如果整个问题只包含这样一个短行,我会使用text 属性而不是name (*)。 name 原则上也可以是“问题 1”,如果你想要/需要的话。

    但是您也可以将这两个属性用于一个简短的问题,即itemprop="name text",但这可能不是很优雅(但如果您知道某些数据消费者使用了name 属性,这可能很有意义)。

    * Answer 的示例也使用了text(并且没有name)。


    您可能还想使用问题的suggestedAnswer property 和/或答案的parentItem property 来关联这两项。

    所以对于一个简短的问题,它可能看起来像:

    <section itemscope itemtype="http://schema.org/Question">
      <h2 itemprop="name text">My Question</h2>
      <div itemprop="suggestedAnswer" itemscope itemtype="http://schema.org/Answer">
        <p itemprop="text">My Answer</p>
      </div>
    </section>
    

    【讨论】:

    • 嗨@unor如何使用`parentItem`属性,有什么例子吗?
    • @dr.dimitru:在 Microdata 中,您可能希望使用 itemref 属性(因为问题通常不是答案的子级)。 -- 如果你在实现它时遇到问题,我想为它创建一个单独的问题是有意义的(答案取决于你的标记结构)。
    猜你喜欢
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 2019-05-11
    • 2013-09-22
    相关资源
    最近更新 更多