gpt4 book ai didi

html - Schema.org 中网页结构的隐含性

转载 作者:太空狗 更新时间:2023-10-29 14:18:53 30 4
gpt4 key购买 nike

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

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

最佳答案

越多越好(有异常(exception))

当涉及到结构化数据时,指南应该是,在典型情况下:越多越好 .如果您提供更多结构化数据(即,您使事情变得明确而不是让它们隐含),消费者找到可以利用的东西的机会就更高。

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

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

  • 什么 WebPage提供

    因此,除非您有理由不这样做,否则提供 WebPage type 可能是个好主意。 ...如果你能提供可能有趣的数据。例如:
  • 它允许您为页面和页面上的事物或页面所代表的内容提供不同的 URI,例如人、建筑物等(参见 why this can be usefula slightly more technical answer with details)。
  • hasPart 允许您连接可能是顶级项目的项目,对于它们不一定清楚它们的关系。
  • isPartOf 允许你做这个 WebPage其他内容的一部分(例如,如果您提供 WebSite 项目,则是网站的一部分,或 CollectionPage 的一部分)。
  • 您在页面上有面包屑:使用 breadcrumb 明确表示它们代表此页面的面包屑。
  • 您提供可访问性信息:使用 accessibilityAPI , accessibilityControl , accessibilityFeature , accessibilityHazard
  • author / contributor / copyrightHolder / editor / funder /等等。页面与author不同/... 例如页面的主要内容。
  • 该页面有不同的 license 比页面中包含的一些部分。
  • 您提供可以在页面上/使用页面完成的操作:使用 potentialAction .

  • 当然它也允许你使用 mainEntity ,但如果这是您唯一需要的东西 WebPage项目,你也可以使用逆属性 mainEntityOfPage .

    更具体的 WebPage类型

    对于更具体的类型也是如此,它们提供了额外的信号:
  • AboutPage 如果它是关于例如的页面网站、您或您的组织。
  • CheckoutPage 如果是网上商店的结账页面。
  • CollectionPage 如果它是一个关于多种事物的页面(例如,一个列出博客文章的分页页面、一个画廊、一个产品类别,......)。
  • ContactPage 如果是联系页面。
  • ItemPage 如果它是关于一件事情的(例如,一篇博客文章,一张照片,……)。
  • ProfilePage 例如用于用户配置文件。
  • QAPage 如果是……好吧,就在这一页。
  • SearchResultsPage 用于搜索功能的结果页面。

  • 你的榜样

    你的三个案例是:

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

    <!-- 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>

    A 传达:有一种东西叫“无线技术”。
    B转达:有博文 关于 “无线技术”。
    C传达:有一个网页 包含单个 博客文章(如 该页面的主要内容 ) 关于 “无线技术”。

    虽然我不建议使用 A,但使用 B 完全没问题,并且对于大多数用例来说可能已经足够了。虽然 C 已经提供了比 B 更多的细节(即该页面用于单个事物,并且该事物是博客文章,而不是页面上可能也存在的其他一些项目),但对于这样一个简单的项目来说可能不需要它案件。但是一旦你能提供更多数据,这种情况就会改变,在这种情况下,我会选择 C。

    关于html - Schema.org 中网页结构的隐含性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40633571/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com