可以有未定义的项目范围,还是我应该从可用模式中选择?
Is it ok to have undefined itemscope, or should I pick from available schema?
我想为网页使用微数据。但是 none 的现有可用模式似乎适合我的内容。我只需要坚持使用已定义的模式还是可以定义自己的模式?另外,我可以有一个空的 itemscope
还是定义更好?
<h1>Page Title</h1>
(table of contents)
term 1
term 2
...
<div itemscope>
<h2 itemprop="term">1. Piston</h2>
<h3>Definition - What does Piston mean?</h3>
<span itemprop="definition">A definition</span>
<h3>Explanation of Piston</h3>
<span itemprop="explanation">An explanation</span>
<h3>How to use Piston in a sentence.</h3>
<span itemprop="usage">Sentence using term.</span>
</div>
我在同一个页面上有 10 个术语,每个术语都有相同的信息。有一个未定义的 itemscope
可以吗?或者我应该将它定义为 "car parts" 之类的东西吗?或者我们可以不定义我们自己的 itemscope
而是从现有的模式结构中选择吗?
运行 通过 Google 模式工具,它说没有警告或错误,但当然给了我 'unspecified type' 和以下内容。
@type
https://search.google.com/term
https://search.google.com/definition
https://search.google.com/usage
选项 1: 您可以在不使用 itemtype
的情况下使用 itemscope
(就像在您的示例中一样)。那将是本地词汇表,您不能指望微数据消费者会使用这些数据。
<div itemscope>
<p itemprop="term">…</p>
<p itemprop="definition">…</p>
</div>
选项 2:您可以定义和使用自己的词汇表。不过,许多微数据消费者不太可能会使用这些数据,因为他们中的大多数人只能识别某些词汇表。
<div itemscope itemtype="https://example.com/my-vocabulary/">
<p itemprop="term">…</p>
<p itemprop="definition">…</p>
</div>
方案3(首选):你可以尽量用Schema.org,用你自己的types/properties,Schema.org不行' 提供合适的条件。您自己的属性必须指定为绝对 URI,并且您自己的类型必须指定为 Schema.org 的 additionalType
属性 的 URI 值。作为 Schema.org 类型,如果没有更具体的类型可用,您始终可以使用 Thing
。
<div itemscope itemtype="http://schema.org/Thing">
<link itemprop="additionalType" href="https://example.com/my-vocabulary/CarPartTerm" />
<p itemprop="https://example.com/my-vocabulary/term">…</p>
<p itemprop="https://example.com/my-vocabulary/definition">…</p>
</div>
也就是说,Schema.org 可能会为您的情况提供合适的 types/properties,例如 DefinedTerm
(Pending). If you think that a useful type/property is missing in Schema.org, you could propose that it gets added。
我想为网页使用微数据。但是 none 的现有可用模式似乎适合我的内容。我只需要坚持使用已定义的模式还是可以定义自己的模式?另外,我可以有一个空的 itemscope
还是定义更好?
<h1>Page Title</h1>
(table of contents)
term 1
term 2
...
<div itemscope>
<h2 itemprop="term">1. Piston</h2>
<h3>Definition - What does Piston mean?</h3>
<span itemprop="definition">A definition</span>
<h3>Explanation of Piston</h3>
<span itemprop="explanation">An explanation</span>
<h3>How to use Piston in a sentence.</h3>
<span itemprop="usage">Sentence using term.</span>
</div>
我在同一个页面上有 10 个术语,每个术语都有相同的信息。有一个未定义的 itemscope
可以吗?或者我应该将它定义为 "car parts" 之类的东西吗?或者我们可以不定义我们自己的 itemscope
而是从现有的模式结构中选择吗?
运行 通过 Google 模式工具,它说没有警告或错误,但当然给了我 'unspecified type' 和以下内容。
@type
https://search.google.com/term
https://search.google.com/definition
https://search.google.com/usage
选项 1: 您可以在不使用 itemtype
的情况下使用 itemscope
(就像在您的示例中一样)。那将是本地词汇表,您不能指望微数据消费者会使用这些数据。
<div itemscope>
<p itemprop="term">…</p>
<p itemprop="definition">…</p>
</div>
选项 2:您可以定义和使用自己的词汇表。不过,许多微数据消费者不太可能会使用这些数据,因为他们中的大多数人只能识别某些词汇表。
<div itemscope itemtype="https://example.com/my-vocabulary/">
<p itemprop="term">…</p>
<p itemprop="definition">…</p>
</div>
方案3(首选):你可以尽量用Schema.org,用你自己的types/properties,Schema.org不行' 提供合适的条件。您自己的属性必须指定为绝对 URI,并且您自己的类型必须指定为 Schema.org 的 additionalType
属性 的 URI 值。作为 Schema.org 类型,如果没有更具体的类型可用,您始终可以使用 Thing
。
<div itemscope itemtype="http://schema.org/Thing">
<link itemprop="additionalType" href="https://example.com/my-vocabulary/CarPartTerm" />
<p itemprop="https://example.com/my-vocabulary/term">…</p>
<p itemprop="https://example.com/my-vocabulary/definition">…</p>
</div>
也就是说,Schema.org 可能会为您的情况提供合适的 types/properties,例如 DefinedTerm
(Pending). If you think that a useful type/property is missing in Schema.org, you could propose that it gets added。