在阅读了数千个帖子,问题,博客文章和意见之后,我仍然对如何使用微数据标记网页感到困惑。如果微数据的主要目的是帮助搜索引擎更好地理解网页的内容(并且隐含地假定网页),那么从body元素中的itemtype网页开始是否正确,然后继续标记其余的嵌套元素定义哪个是主要实体,或者最好从一个物理类型开始,理想情况下,该类型是网页的主要主题并在顶层关联属性,或者最好在顶层具有不同的项目类型(即网页) ,博客文章和页面的主题)?
一个例子将更好地解释我的问题:如果我必须标记一个包含关于特定主题的博客文章的网页(比如关于无线技术),那么顶级项目应该是什么?应该是网页,博客或无线技术?
答案 0 :(得分:3)
对于结构化数据,在典型情况下,指南应该是:越多越好。如果您提供更多结构化数据(即,您明确表示事物而不是隐含它们),那么消费者找到可以使用的东西的机会就会更高。
不遵守本指南的原因可能包括:
WebPage
提供的内容因此,除非你有理由不这样做,否则提供WebPage
type ... 如果你可能提供可能有趣的数据可能是个好主意。例如:
它允许您为页面和页面上的内容提供不同的URI,或者页面代表的内容,如人,建筑物等(请参阅why this can be useful和{ {3}})。
a slightly more technical answer with details允许您连接可能是顶级项目的项目,对于这些项目,它们不一定清楚它们是哪种关系。
hasPart
允许您将此WebPage
部分用于其他内容(例如,如果您提供isPartOf
项目,则为author
部分,或WebSite
)。
您在页面上有面包屑:使用CollectionPage
表明它们代表了此页面的面包屑。
您提供辅助功能信息:使用breadcrumb
,accessibilityAPI
,accessibilityControl
,accessibilityFeature
accessibilityHazard
/ author
/ contributor
/ copyrightHolder
/ editor
/等。页面的页面与例如WebPage
/ ...的页面不同。页面的主要内容。
该页面与页面中包含的部分内容不同funder
。
您提供可在页面上/在页面上执行的操作:使用license
。
...
当然它也允许你使用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。