Schema.org

时间:2016-11-16 13:36:35

标签: html schema.org microdata

在阅读了数千个帖子,问题,博客文章和意见之后,我仍然对如何使用微数据标记网页感到困惑。如果微数据的主要目的是帮助搜索引擎更好地理解网页的内容(并且隐含地假定网页),那么从body元素中的itemtype网页开始是否正确,然后继续标记其余的嵌套元素定义哪个是主要实体,或者最好从一个物理类型开始,理想情况下,该类型是网页的主要主题并在顶层关联属性,或者最好在顶层具有不同的项目类型(即网页) ,博客文章和页面的主题)?

一个例子将更好地解释我的问题:如果我必须标记一个包含关于特定主题的博客文章的网页(比如关于无线技术),那么顶级项目应该是什么?应该是网页,博客或无线技术?

1 个答案:

答案 0 :(得分:3)

越多越好(有例外)

对于结构化数据,在典型情况下,指南应该是:越多越好。如果您提供更多结构化数据(即,您明确表示事物而不是隐含它们),那么消费者找到可以使用的东西的机会就会更高。

不遵守本指南的原因可能包括:

  • 您确切地知道您想要支持哪些消费者,以及他们寻找什么,并且您不关心其他(例如,未知或新的)消费者。
  • 您知道消费者的行为方式无法应对某些结构。
  • 您需要保存尽可能多的字符(带宽/性能)。
  • 提供额外的结构化数据太复杂/昂贵。
  • 结构化数据对任何可能的消费者来说都是无用的。
  • ...

WebPage提供的内容

因此,除非你有理由不这样做,否则提供WebPage type ... 如果你可能提供可能有趣的数据可能是个好主意。例如:

当然它也允许你使用potentialAction,但如果这是你需要WebPage项的唯一内容,你也可以使用反向属性mainEntity。< / p>

更具体的<!-- A - only the topic --> <div itemscope itemtype="http://schema.org/Thing"> <span itemprop="name">wireless technology</span> </div> 类型

对于更具体的类型也是如此,它们提供了额外的信号:

  • mainEntityOfPage如果它是关于例如的页面网站,您或您的组织。
  • AboutPage如果是网上商店的结帐页面。
  • CheckoutPage如果它是关于多个内容的页面(例如,列出博客帖子,图库,产品类别的分页页面......)。
  • CollectionPage如果是联系页面。
  • ContactPage如果它只是一件事(例如,博客帖子,照片......)。
  • ItemPage例如用户档案。
  • ProfilePage如果是......那就是这个页面。
  • QAPage用于搜索功能的结果页面。
  • ...

你的例子

你的三个案例是:

<!-- B - the blog post + the topic -->
<div itemscope itemtype="http://schema.org/BlogPosting">
  <div itemprop="about" itemscope itemtype="http://schema.org/Thing">
    <span itemprop="name">wireless technology</span>
  </div>
</div>
<!-- C - the web page + the blog post + the topic -->
<div itemscope itemtype="http://schema.org/ItemPage">
  <div itemprop="mainEntity" itemscope itemtype="http://schema.org/BlogPosting">
    <div itemprop="about" itemscope itemtype="http://schema.org/Thing">
      <span itemprop="name">wireless technology</span>
    </div>
  </div>
</div>
FROM graylog2/server:latest
COPY udp-input-graylog.json /usr/share/graylog/data/contentpacks
ENV GRAYLOG_CONTENT_PACKS_AUTO_LOAD udp-input-graylog.json
ENV GRAYLOG_CONTENT_PACKS_LOADER_ENABLED true
ENV GRAYLOG_CONTENT_PACKS_DIR data/contentpacks

A传达:有一些名称&#34;无线技术&#34; B传达:有一篇博文关于&#34;无线技术&#34; C传达:有一个包含一个博客帖子的网页(该网页的主要内容关于&#34;无线技术& #34;

虽然我不建议使用A,但使用B非常好,并且可能足以满足大多数用例。虽然C已经提供了比B更多的细节(即页面是针对单个事物的,并且这个东西是博客文章,而不是页面上可能还有其他项目),但这可能不需要这么简单案件。但是只要你能提供更多的数据,这就会改变,在这种情况下,我会选择C。