为什么使用 Schema.org 微数据来标记网页元素?

2024-04-09

我明白为什么以及如何使用Schema.org http://schema.org/将微数据添加到您的网站,这不是一个问题。问题是为什么 Schema.org 支持某些可以用简单 HTML5 标记的内容。其中包括

Types

  • WebPage http://schema.org/WebPage and WebSite http://schema.org/WebSite

    我明白为什么WebPage and WebSite例如,需要在链接中引用某个组织的页面/站点,但无需用此标记您自己的页面 -<html>标签就是这样做的。

  • 站点导航元素 http://schema.org/SiteNavigationElement

    为什么不直接使用<nav> http://www.w3.org/TR/html5/sections.html#the-nav-element?

  • Table http://schema.org/Table

    只需使用<table> http://www.w3.org/TR/html5/tabular-data.html#the-table-element.

特性

  • 网页/主页内容 http://schema.org/mainContentOfPage

    <main> http://www.w3.org/TR/html5/grouping-content.html#the-main-element element

  • 网页/相关链接 http://schema.org/relatedLink

    <link> http://www.w3.org/TR/html5/document-metadata.html#the-link-element里面的元素<head>


这个答案主要是关于WebPageElement类型(如SiteNavigationElement).

For WebPage, see 我对问题的回答Schema.org 中网页结构的隐含性 https://stackoverflow.com/a/40636188/1591669(tl;dr:提供WebPage,即使对于当前页面)。

For WebSite,与上述答案类似的原因也适用。 HTML 不允许您说明有关整个网站的某些信息(顺便说一下,Google 丰富的结果使用了这种类型)。


Schema.org 不限于 HTML5。

Schema.org 是可以与各种语法一起使用的词汇表 https://stackoverflow.com/a/17589792/1591669(如 JSON-LD、Microdata、RDFa、Turtle 等),独立或采用各种宿主语言(如 HTML 4.01、XHTML 1.0/1.1、(X)HTML5、XML、SVG 等)。因此,使用其他方式来指定某事物是(或:关于;或:表示)站点范围的导航、表格等是例外,而不是规则。

但即使在 HTML5 文档中也可能有理由使用这些类型,例如:

  • HTML5 标记和来自 Microdata/RDFa 的注释是两个“不同的世界”:Microdata/RDFa 解析器只对注释感兴趣,在成功解析文档后,底层标记不再相关(例如,在 a 中指定了某些内容table元素在 Microdata/RDFa 层中丢失)。

  • 通过使用类似的类型WebPageElement http://schema.org/WebPageElement,您可以指定在纯 HTML5 中无法指定的元数据。例如,author http://schema.org/author/license http://schema.org/license/ETC。一张桌子的。

  • 您可以使用这些类型来指定当前文档中不存在的某些数据,例如,您可以在您的个人网站上说您是维基百科中表格的作者。

也就是说,这些并不是与广大作者相关的典型用例。除非您有使用它们的特定原因,否则您可能想忽略它们。它们对于典型的网站没有用。使用它们甚至可能有问题 https://wordpress.stackexchange.com/a/218014/34147在某些情况下。

另请参阅我的 Schema.org 问题WebPageElement 和 mainContentOfPage 的用途 https://github.com/schemaorg/schemaorg/issues/1251,我建议弃用WebPageElementmainContentOfPage财产。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么使用 Schema.org 微数据来标记网页元素? 的相关文章