2011-11-07 28 views
12

Pracuję z użyciem mikrodanych i chcę korzystać z usługi Schema.org pod numerem keywords dla CreativeWork.W jaki sposób formatujesz słowa kluczowe w mikrodanych dla CreativeWork?

Schemat określa, że ​​powinien to być tekst, ale czy każde słowo kluczowe należy umieścić w oddzielnym elemencie z itemprop="keywords", czy też umieścić je wszystkie w jednym elemencie keywords? Jeśli umieściłem je wszystkie w jednym elemencie, czy używam przecinków jako separatora?

Odpowiedz

9

Należy utworzyć element itemprop dla każdego słowa kluczowego, co następuje:

<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> 
+0

Czy to naprawdę odpowiednia odpowiedź? Wydawało mi się, że możesz mieć tylko jeden atrybut itemprop na nieruchomość. –

+1

@ fwuensche: Możesz mieć [tę samą właściwość kilka razy dla jednego przedmiotu] (http://stackoverflow.com/a/22337572/1591669). – unor

+0

Chciałbym dodać itemprop = "url" do obu linków href. – Jonadabe

3

Moje czytanie specyfikacji prowadzi mnie do wniosku, że można mieć tylko jeden atrybut itemprop za nieruchomości.

Innymi słowy, nie sądzę, że utworzenie elementu itemprop dla każdego słowa kluczowego spowoduje utworzenie prawidłowej składni mikrodanych.

chciałbym umieścić każde słowo kluczowe w rozdzieloną spacjami listą i używać jednego itemprop:

<span itemprop="keywords"> 
    <a href="/tags/game/">Game</a>, 
    <a href="/tags/adult/">Adult</a> 
    </span> 

or 

<meta itemprop="keywords" content="Game Adult"/> 

Nie jestem pewien, co należy zrobić w przypadku słów kluczowych składających się z wielu słów, ponieważ w nic specyfikacja określająca, w jaki sposób słowa kluczowe powinny być oddzielone w tekście (przypuszczam, że są to spacje i znaki interpunkcyjne, np. przecinki).

@ Lawrence Woodman: czy można wskazać w opisie, w którym czytacie, że dozwolone jest posiadanie wielu elementów itemprop dla tej samej nieruchomości?

+1

Nie mogę śledzić, skąd otrzymujesz informację, że istnieje limit "tylko" jeden atrybut itemprop na właściwość "w bieżącym projekcie Microdata http://www.w3.org/html/wg/drafts/microdata/master/#property-names Czy odnosisz się do nazw właściwości lub wartości nieruchomości? Przykład kodu stwierdza, że ​​"właściwość" a "ma wartości" 1 "i" 2 "'. Ponadto wersja robocza określa, czy element ma wartość "a", czy jest adresem URL z atrybutu "href", więc Twój pierwszy przykład miałby słowa kluczowe: ['/ tags/game /', '/ tags/adult/"]" jako para nazwa-wartość w moim odczycie. –

2

Czytając dokument, powiedziałabym, że możesz użyć metatagów do analizy treści, która jest ukryta lub w złym formacie. Tak jest w przypadku priceCurrency i datePublished w kodzie poniżej, pobranym z schema.org documentation.

<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> 

Zakładając, że mam rację, zmieniłem mój kod na następujący.

<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> 

Załatwię to za kilka dni, więc przepraszam, nie wiem, czy to działa teraz.

AKTUALIZACJA: Po wdrożeniu kodu działa jak urok. Możesz zobaczyć wyniki przez Google Data Testing Tool i porównać z opisami rozszerzonymi użytymi na the real product.

7

Zmieniono definicję Schema.org na keywords property. Teraz brzmi:

Słowa kluczowe lub tagi użyte do opisania tej treści. Wiele wpisów na liście słów kluczowych jest zwykle rozdzielanych przecinkami.

Więc może to wyglądać tak w 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> 

(przykład wzięty z mojego powiązanej odpowiedź o semantic markup for tags.)

Jeśli nie chcesz mieć przecinki widoczne na stronie, można użyć meta element oprócz normalnego znaczników dla znaczników:

<meta itemprop="keywords" content="foo, bar" /> 

(To allowed umieścić ten meta elementu w "ciele".)

+0

to powinna być właściwa odpowiedź – xorinzor