我是否必须创建新的可见元素才能遵守 Google 的微数据 Schema.org 要求?
Do I have to create new visible elements to abide by Google's Microdata Schema.org requirements?
我已将 Schema.org/Microdata 属性添加到我网站上的列表组件中:
// This is one item in my list:
<div itemscope
itemtype = "http://schema.org/WebApplication"
>
<span itemprop = "name">
The Awesome Web App 01
</span>
<span
itemprop = "locationCreated"
itemscope
itemtype = "http://schema.org/City"
>
<span itemprop = "name">
Chicago
</span>
</span>
</div>
当我 运行 通过 google Structured Data Testing Tool 我得到错误:
Two of operatingSystem, aggregateRating, applicationCategory, offers
are required.
所以我有几个问题:
1 - 我有这个 error
重要吗?错误会强制 google 忽略其他所有内容吗?
2 - 我现在必须创建新的可见 <div>
来保存这些新字段吗?
3 - 在 4 个必填字段中,只有一个 applicationCategory
与我的情况相关...其他的不...所以我为什么要使用它们?
更新: 我想使用 Microdata 格式而不是 JSON-LD 格式(或 RDFa)。看到一个comparison of formats here.
1 - 是的,是的。
2 - 不,见下文。
3 - 好的,只需添加操作系统,如下所示。如果您支持 2+ 操作系统,请将其设为数组 (JSON-LD) 或包含另一个 <span></span>
.
以下内容有效,Google 将正确解析:
<div itemscope
itemtype = "http://schema.org/WebApplication"
>
<span itemprop = "name">
The Awesome Web App 01
</span>
<span
itemprop = "locationCreated"
itemscope
itemtype = "http://schema.org/City"
>
<span itemprop = "name">
Chicago
</span>
</span>
<span itemprop = "operatingSystem">
Android
</span>
<span itemprop = "applicationCategory">
Games
</span>
</div>
如果要隐藏元素的值,请使用此方法:
<span>
<meta itemprop = "operatingSystem" content="Android"/>
</span>
您不必提供这些属性。词汇表 Schema.org 未定义任何必需的属性。
如果Google的结构化数据测试工具说需要属性,那只意味着这个属性是获得Google之一所必需的' s 搜索结果功能(例如,丰富网页摘要)。
如果您不提供属性 ,Google 将(很可能)不会显示该搜索结果功能。没有其他事情发生。完全 fine/normal 不提供 SDTT 希望看到的所有属性。
如果您可以提供属性,但不想让它们在您的页面上可见,您可以使用 link
元素(如果值是 URI)或 meta
元素(对于所有其他值)。对于微数据,这些元素可能会添加到 body
,默认情况下它们是隐藏的。
我已将 Schema.org/Microdata 属性添加到我网站上的列表组件中:
// This is one item in my list:
<div itemscope
itemtype = "http://schema.org/WebApplication"
>
<span itemprop = "name">
The Awesome Web App 01
</span>
<span
itemprop = "locationCreated"
itemscope
itemtype = "http://schema.org/City"
>
<span itemprop = "name">
Chicago
</span>
</span>
</div>
当我 运行 通过 google Structured Data Testing Tool 我得到错误:
Two of operatingSystem, aggregateRating, applicationCategory, offers are required.
所以我有几个问题:
1 - 我有这个 error
重要吗?错误会强制 google 忽略其他所有内容吗?
2 - 我现在必须创建新的可见 <div>
来保存这些新字段吗?
3 - 在 4 个必填字段中,只有一个 applicationCategory
与我的情况相关...其他的不...所以我为什么要使用它们?
更新: 我想使用 Microdata 格式而不是 JSON-LD 格式(或 RDFa)。看到一个comparison of formats here.
1 - 是的,是的。
2 - 不,见下文。
3 - 好的,只需添加操作系统,如下所示。如果您支持 2+ 操作系统,请将其设为数组 (JSON-LD) 或包含另一个 <span></span>
.
以下内容有效,Google 将正确解析:
<div itemscope
itemtype = "http://schema.org/WebApplication"
>
<span itemprop = "name">
The Awesome Web App 01
</span>
<span
itemprop = "locationCreated"
itemscope
itemtype = "http://schema.org/City"
>
<span itemprop = "name">
Chicago
</span>
</span>
<span itemprop = "operatingSystem">
Android
</span>
<span itemprop = "applicationCategory">
Games
</span>
</div>
如果要隐藏元素的值,请使用此方法:
<span>
<meta itemprop = "operatingSystem" content="Android"/>
</span>
您不必提供这些属性。词汇表 Schema.org 未定义任何必需的属性。
如果Google的结构化数据测试工具说需要属性,那只意味着这个属性是获得Google之一所必需的' s 搜索结果功能(例如,丰富网页摘要)。
如果您不提供属性 ,Google 将(很可能)不会显示该搜索结果功能。没有其他事情发生。完全 fine/normal 不提供 SDTT 希望看到的所有属性。
如果您可以提供属性,但不想让它们在您的页面上可见,您可以使用 link
元素(如果值是 URI)或 meta
元素(对于所有其他值)。对于微数据,这些元素可能会添加到 body
,默认情况下它们是隐藏的。