web-dev-qa-db-ja.com

Schema Microdataメタタグをhtml本文に挿入しますか?

私はこの質問に対する答えをインターネットとstackoverflowで長い間探しましたが、本文にメタタグを入れてはいけないというリンクを見つけました。

schema.orgのWebサイトでは、メタタグが本文に直接ネストされていることが明確に示されています http://schema.org/AggregateRating

そこに投稿されている例を見てください

 Customer reviews:

  <div itemprop="reviews" itemscope itemtype="http://schema.org/Review">
    <span itemprop="name">Not a happy camper</span> -
    by <span itemprop="author">Ellie</span>,
    <meta itemprop="datePublished" content="2011-04-01">April 1, 2011
    <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
      <meta itemprop="worstRating" content = "1">
      <span itemprop="ratingValue">1</span>/
      <span itemprop="bestRating">5</span>stars
    </div>
    <span itemprop="description">The lamp burned out and now I have to replace
    it. </span>
  </div>


 <div itemprop="reviews" itemscope itemtype="http://schema.org/Review">
    <span itemprop="name">Value purchase</span> -
    by <span itemprop="author">Lucas</span>,
    <meta itemprop="datePublished" content="2011-03-25">March 25, 2011
    <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating">
      <meta itemprop="worstRating" content = "1"/>
      <span itemprop="ratingValue">4</span>/
      <span itemprop="bestRating">5</span>stars
    </div>
    <span itemprop="description">Great microwave for the price. It is small and
    fits in my apartment.</span>
  </div>

メタタグを<head>に保持する場合、これら2つの日付をレビューにどのように関連付けますか? <meta itemprop="datePublished" content="2011-04-01"><meta itemprop="datePublished" content="2011-03-25">

これは混乱を引き起こしているので、適切に行う方法を知りたいです。

61
Timo Huovinen

meta要素の場合

  • itemprop属性とcontent属性を持ち、
  • name属性、http-equiv属性、およびcharset属性はありません。

metaにこのbodyを含めることは有効です。 (値がURLの場合、 代わりにlinkを使用する必要があります 。)

どうして? Microdata仕様はHTML5を変更する であるため。

RDFaはmetabodyを許可することでHTML5も変更することに注意してください 場合によっては。)


<head>metaタグを保持する場合、これら2つの日付をレビューにどのように関連付けますか?

itemref属性を使用

<!DOCTYPE html>
<html>
<head>
  <title>Using itemref for meta in the head</title>
  <meta itemprop="datePublished" content="2011-03-25" id="date">
</head>
<body>

  <div itemscope itemtype="http://schema.org/Review" itemref="date">
    <span itemprop="name">…</span>
  </div>

</body>
</html>

itemrefは、スペースで区切られたid値のリストを取るため、2つ以上の要素を参照することもできます。アイテムに追加する必要があるすべての要素(id属性を含む)のitempropをそのitemref属性に追加するだけです(例:itemref="date author rating")。

76
unor

また、HTMLマークアップを完全に回避し、JSON-LDマークアップを使用することも可能です。 完全に<head>に含まれています anywhereHTMLドキュメント(動的にインジェクトされることさえ!) このように:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Restaurant",
  "name": "Fondue for Fun and Fantasy",
  "description": "Fantastic and fun for all your cheesy occasions",
  "openingHours": "Mo,Tu,We,Th,Fr,Sa,Su 11:30-23:00",
  "telephone": "+155501003333",
  "menu": "http://example.com/menu"
}
</script>

schema.org の例をご覧ください。通常、これらには https://schema.org/Restaurant のようなJSONサンプルマークアップが含まれています。

これに関する別の良い記事があります http://www.seoskeptic.com/json-ld-google-knowledge-graph-schema-org-seo/

9
Gruber

Whatwg.orgから読むことができるのは、本文で使用するのが正しいことです。 http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-meta-element

Bloggの本文でメタタグを使用して、「datePublished」および「dateUpdated」プロパティを指定します。 Googles Rich Snippets Testing Tool は、それが正しいことを伝え、w3cはコードを検証します。

8
superhero

次を使用できます。

<meta itemprop="">

ページの実際のテキスト(製品名など)を表示したくない場合でも、機械で読み取り可能なschema.orgのセマンティックマークアップ(ロボット、SEOなど)を実行するために、ページの本文で。

参照: http://schema.org/docs/gs.html#advanced_missing

Webページには、マークアップするのに役立つ情報が含まれている場合がありますが、その情報はページに表示される方法のためにマークアップできません。情報は、画像(たとえば、5つのうち4つの評価を表すために使用される画像)またはFlashオブジェクト(たとえば、ビデオクリップの継続時間)で伝達される場合があります。ページ上(価格の通貨など)。

5
Rowe Morehouse

私はこのようにします:

<meta id="md_course" itemprop="course" name="course"   content="..."/>
<meta id="md_lang" itemprop="language" content="eng"/>
<title id="md_title" itemprop="title" >Motivation and Course Overview</title>
</head>
<body itemscope itemtype=".../Presentation" itemref="md_course md_lang md_title md_field"> 
4
ladar

Schema.orgのmicrodataを初めて使用するとき、Webページのheadタグにメタタグを追加しましたが、そのページを Googleのリッチスニペットテストツール に対して実行したとき、データは抽出されませんでした。次に、メタタグをページの本文に移動すると、データが抽出されていることが示されました。

3
HBCondo