我已将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运行时出现错误:
两个operatingSystem,aggregateRating,applicationCategory,提供 是必需的。
所以我有几个问题:
1 - 我有error
这是否重要?这个错误会强制google忽略其他所有内容吗?
2 - 我现在是否必须创建新的可见<div>
来保存这些新字段?
3 - 在4个必填字段中,只有一个applicationCategory
与我的情况相关......其他字段不是......所以为什么我必须使用它们?
更新:我想使用Microdata格式而不是JSON-LD格式(或RDFa)。请参阅comparison of formats here。
答案 0 :(得分:2)
1 - 是的,是的。
2 - 不,见下文。
3 - 好的,只需添加操作系统,如下所示。如果您支持2+ operatingSystem,请将其设为数组(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>
答案 1 :(得分:2)
您不必提供这些属性。词汇表Schema.org没有定义任何必需的属性。
如果Google的结构化数据测试工具说需要一个属性,那么只表示获取Google搜索结果功能之一需要此属性(例如,Rich Snippet)。
如果您不提供属性,Google(可能)将不会显示该搜索结果功能。没有其他事情发生。不提供SDTT希望看到的所有属性是完全正常/正常的。
如果您可以提供属性,但又不想在页面上显示这些属性,则可以使用link
元素(如果值为URI)或meta
元素(对于所有其他值)。对于微数据,这些元素可能会添加到body
,默认情况下会隐藏。