2

私は Google Schema を試していて、いくつかのコード ジェネレーターを見てきましたが、それらはデザインが異なります。これらの例の情報に使用しているリンク: http://schema.org/Book

1) itemscope itemtype="someSchemeURL.org" または実際の href を使用するのが適切なのはいつですか? 例:

<div itemprop="author" itemscope itemtype="http://schema.org/Person">
or
<div itemprop="bookFormat" href="http://schema.org/bookFormatType">

2 番目の例は、div で href 属性が受け入れられないため、有効な HTML ではありません。

2) 上記の例では、最初の列は常に itemprop で、2 番目の列は常に itemscope itemtype ですか?

3) itemscope itemtype が指定されていない場合、itemprop はデフォルトで親の itemscope itemtype になりますか? 例:

<div itemscope itemtype="http://schema.org/Book">
    <div class="book" itemprop="name"></div>
    <div itemprop="author" itemscope itemtype="http://shema.org/Person">
        <div class="author" itemprop="name"></div>
    </div>
</div>
The .author class will result in the name attributed to "author"
The .book class will result in the name attributed to "book"

つまり、複数の itemprop が同じ名前を持っていても、itemprop は常に親要素に適用されるということですよね?

4) メタ、リンク、スパン、または div をいつ使用するかはどこで指定されていますか? それとも、これは好みに任されていますか?例:

<div>
    <meta itemprop="datePublished" content="2013-07-01">
    Some text
</div>
<div>
    Some text
    <link itemprop="bookFormat" href="http://schema.org/bookFormatType">Ebook
</div>

2 番目の例は無効ですが、これはコード ジェネレーターの 1 つからの例です。その特定のジェネレーターは無効なコードを生成するので、私はそれを使用しないことを知っていますが、リンクタグを使用するという彼らのアイデアはどこから得ていますか (間違っていますが)?

4

1 に答える 1

4

これらのドキュメントは、ほぼすべての質問に答えることができます。すでにご覧になっているかもしれませんが、念のため。

したがって、質問に対する回答は、表示される順序で次のように表示されます。

1.最初の方が正解です。公式の microdata 仕様が教えてくれます

ただし、microdata が最も役立つのは、他の作成者や読み取り者が協力してマークアップを新たに使用できる状況で使用される場合です。

この目的のために、各項目に「http://example.com/person 」、「 http://example.org/catまたは「http://band.example 」などのタイプを指定する必要があります。 .net/ ". タイプは URL として識別されます。

アイテムのタイプは、itemscope 属性と同じ要素の itemtype 属性の値として指定されます。

<section itemscope itemtype="http://example.org/animals#cat">
 <h1 itemprop="name">Hedral</h1>
 <p itemprop="desc">Hedral is a male american domestic
 shorthair, with a fluffy black fur with white paws and belly.</p>
 <img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months">
</section>

2.いいえ。Itempropは、エンティティのプロパティを示すために使用されます。Itemscope - エンティティ スコープ。itemtype - エンティティのタイプこれらは、(少なくとも理論上は) 別々に使用できる、異なる意味を持つ異なるタグです。ドキュメントの内容:

大まかに言うと、microdata は名前と値のペアのグループで構成されます。グループはアイテムと呼ばれ、名前と値の各ペアはプロパティです。アイテムとプロパティは通常の要素で表されます。

アイテムを作成するには、itemscope 属性を使用します。

アイテムにプロパティを追加するには、アイテムの子孫の 1 つで itemprop 属性を使用します。

そして例

<div itemscope>
 <p>My name is <span itemprop="name">Elizabeth</span>.</p>
</div>

<div itemscope>
 <p>My name is <span itemprop="name">Daniel</span>.</p>
</div>

3. itemscope itemtypeがitempropと共に指定されている場合でも、親タイプのプロパティのままです。この場合、このプロパティはエンティティ自体です。そして、あなたの例は正しいです。名前は異なるエンティティに移動します。プロパティの処理についてdocが述べていることは次のとおりです。

itemprop 属性を持つ要素によって追加された名前と値のペアのプロパティ値は、次のリストで最初に一致した場合に与えられます。

要素が itemscope 属性も持っている場合、値は要素によって作成されたアイテムです。

要素が meta 要素の場合、値は要素の content 属性の値 (存在する場合)、またはそのような属性がない場合は空の文字列です。

要素が audio、embed、iframe、img、source、track、または video 要素である場合、値は、属性が設定された時点の要素に関連する要素の src 属性の値を解決した結果の絶対 URL です。そのような属性がない場合、または解決するとエラーが発生する場合は、空の文字列。

要素が a 要素、area 要素、または link 要素の場合、値は、要素の href 属性の値を、属性が設定された時点の要素に関連して解決した結果の絶対 URL、またはそのような要素がない場合は空の文字列です。属性、またはそれを解決するとエラーになる場合。

要素が object 要素の場合、値は、属性が設定された時点の要素に関連する要素の data 属性の値を解決した結果の絶対 URL、またはそのような属性がない場合、または解決する場合は空の文字列です。エラーになります。

要素がデータ要素の場合 値は、要素の value 属性の値である場合はその値であり、そうでない場合は空の文字列です。

要素が時刻要素の場合値は要素の日時値です。

それ以外の場合、値は要素の textContent です。

URL プロパティ要素は、a、area、audio、embed、iframe、img、link、object、source、track、および video 要素です。

4.お好みでどうぞ。検索エンジンからの一般的なアドバイスがあります - マークアップ消費者

ただし、原則として、Web ページを訪れた人に見えるコンテンツのみをマークアップし、非表示の div やその他の非表示のページ要素のコンテンツはマークアップしないでください。

Schema.org doc は、隠し要素の使用が理にかなっている場合の概要を説明しています。

多くのページは、itemscope、itemtype、および itemprop 属性 (セクション 1 で説明) と、schema.org で定義されたタイプおよびプロパティ (セクション 2 で説明) のみを使用して記述できます。ただし、場合によっては、項目のプロパティをマシンが理解するのが難しい場合があります。このセクションでは、ページをマークアップするときに、機械が理解できるバージョンの情報を提供する方法について説明します。

日付、時刻、期間: time タグを datetime と共に使用します

列挙と正規参照: href で link タグを使用します。

不足している/暗示的な情報: コンテンツでメタ タグを使用します。

詳細については、このリンクを確認してください。

于 2013-07-25T20:28:35.350 に答える