Schema.org的常见问题页面

时间:2018-02-02 10:52:25

标签: html5 schema.org microdata

我有一个FAQ页面,我希望用更好的html架构来完成它。

<main role="main" itemscope itemtype="http://schema.org/WebPage">
  <article itemprop="mainContentOfPage">
    <header>
      <h1>Frequently Asked Questions</h1>
    </header>
    <section itemscope itemtype="http://schema.org/Question">
      <h2 itemprop="name">Some question #1</h2>
      <p itemprop="suggestedAnswer acceptedAnswer" itemscope itemtype="http://schema.org/Answer">
        <span itemprop="text">This is an answer #1</span>
      </p>
    </section>
    <section itemscope itemtype="http://schema.org/Question">
      <h2 itemprop="name">Some question #2</h2>
      <p itemprop="suggestedAnswer acceptedAnswer" itemscope itemtype="http://schema.org/Answer">
        <span itemprop="text">This is an answer #2</span>
      </p>
    </section>
    <section itemscope itemtype="http://schema.org/Question">
      <h2 itemprop="name">Some question #3</h2>
      <p itemprop="suggestedAnswer acceptedAnswer" itemscope itemtype="http://schema.org/Answer">
        <span itemprop="text">This is an answer #3</span>
      </p>
    </section>
  </article>
</main>

我认为页面的更好类型是FAQPage而不是WebPage,但FAQPage具有待定状态,并且未在Google结构化数据测试工具中验证。

您对此计划有何看法?这是对的吗?

1 个答案:

答案 0 :(得分:3)

FAQPage将是该页面的最佳类型。如果你不想在它发布之前使用它,WebPage是最好的选择。您现在也可以考虑使用这两种类型,只要WebPage是核心词汇表的一部分,就删除FAQPage(如果它转到attic,则删除FAQPage) :

<main itemscope itemtype="http://schema.org/WebPage http://schema.org/FAQPage">

我不会使用mainContentOfPage属性。它期望WebPageElement,这通常没用。

在您的情况下,Question项目未连接到WebPage项目。为此,您可以使用hasPart property

<main itemscope itemtype="http://schema.org/WebPage http://schema.org/FAQPage">

  <section>

    <h2 itemprop="name">Frequently Asked Questions</h2>

    <article itemprop="hasPart" itemscope itemtype="http://schema.org/Question"></article>
    <article itemprop="hasPart" itemscope itemtype="http://schema.org/Question"></article>
    <article itemprop="hasPart" itemscope itemtype="http://schema.org/Question"></article>

  </section>

</main>

(我切换了articlesection元素,因为我认为从语义上来说这更有意义。)