keywords
Microdataを使用していて、Schema.orgを使用したいと思いCreativeWork
ます。
スキーマはテキストである必要があることを指定していますが、各キーワードを別々の要素itemprop="keywords"
に配置しますか、それともすべてを1つのkeywords
要素に配置しますか?それらをすべて1つの要素に入れる場合、区切り文字としてコンマを使用しますか?
keywords
Microdataを使用していて、Schema.orgを使用したいと思いCreativeWork
ます。
スキーマはテキストである必要があることを指定していますが、各キーワードを別々の要素itemprop="keywords"
に配置しますか、それともすべてを1つのkeywords
要素に配置しますか?それらをすべて1つの要素に入れる場合、区切り文字としてコンマを使用しますか?
Schema.orgのkeywords
プロパティの定義が変更されました。今それは読みます:
このコンテンツを説明するために使用されるキーワードまたはタグ。キーワードリストの複数のエントリは、通常、コンマで区切られます。
したがって、Microdataでは次のようになります。
<article itemscope itemtype="http://schema.org/BlogPosting">
<footer>
<ul itemprop="keywords">
<li><a href="/tags/foo" rel="tag">foo</a>,</li>
<li><a href="/tags/bar" rel="tag">bar</a></li>
</ul>
</footer>
</article>
(タグのセマンティックマークアップに関する私の関連する回答からの例。)
ページにカンマを表示したくない場合はmeta
、タグの通常のマークアップに加えて要素を使用できます。
<meta itemprop="keywords" content="foo, bar" />
(この要素を「本体」に配置することは許可されています。)meta
itemprop
次のように、キーワードごとに要素を作成する必要があります。
<div itemscope itemtype="http://schema.org/CreativeWork">
<span itemprop="name">Resistance 3: Fall of Man</span>
by <span itemprop="author">Sony</span>.
Keywords:
<a href="/tags/game/"><span itemprop="keywords">Game</span></a>,
<a href="/tags/adult/"><span itemprop="keywords">Adult</span></a>
</div>
仕様を読んだ結果、プロパティごとに1つのitemprop属性しか持てないという結論に達しました。
つまり、キーワードごとにitemprop要素を作成しても、正しいマイクロデータ構文が作成されるとは思いません。
各キーワードをスペースで区切ったリストに入れ、単一のitempropを使用します。
<span itemprop="keywords">
<a href="/tags/game/">Game</a>,
<a href="/tags/adult/">Adult</a>
</span>
or
<meta itemprop="keywords" content="Game Adult"/>
キーワードに複数の単語が含まれている場合にどうすればよいかわかりません。これは、テキスト内でキーワードをどのように区切るかを指定する仕様がないためです(スペースやカンマのような句読点で想定しています)。
@Lawrence Woodman:仕様のどこで、同じプロパティに対して複数のitemprop要素を持つことが許可されているかを示していただけますか?
ドキュメントを読むことで、メタタグを使用して、非表示または不正な形式のコンテンツを解析できると思います。これは、 schema.orgのドキュメントpriceCurrency
から抜粋した以下のdatePublished
コードの場合です。
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
Price: <span itemprop="price">$6.99</span>
<meta itemprop="priceCurrency" content="USD" />
<link itemprop="availability" href="http://schema.org/InStock">In Stock
</div>
Product details
<span itemprop="numberOfPages">224</span> pages
Publisher: <span itemprop="publisher">Little, Brown, and Company</span> -
<meta itemprop="datePublished" content="1991-05-01">May 1, 1991
Language: <span itemprop="inLanguage">English</span>
ISBN-10: <span itemprop="isbn">0316769487</span>
私が正しいと仮定して、コードを次のように変更しました。
<div itemscope itemtype="http://schema.org/CreativeWork">
<!-- way too many content -->
<h5>Keywords</h5>
<meta itemprop="keywords" content="Rio de Janeiro, Brazil">
<a href="/tags/rio/" rel="nofollow">Rio de Janeiro</a>
<a href="/tags/brazil/" rel="nofollow">Brazil</a>
</div>
数日で展開するので、今はうまくいくかわかりません。
更新:コードをデプロイした後、それは魅力のように機能します。Google Data Testing Toolで結果を確認し、実際の製品で使用されているリッチスニペットと比較できます。