2011-11-07 9 views
12

Sto lavorando con Microdata e desidero utilizzare Schema.org keywords per CreativeWork.Come formattare le parole chiave in Microdata per un CreativeWork?

Lo schema specifica che deve essere di testo ma inserisco ogni parola chiave in un elemento separato con itemprop="keywords" oppure le inserisco tutte in un elemento keywords? Se li metto tutti in un elemento, utilizzo le virgole come separatore?

risposta

9

è necessario creare un elemento itemprop per ogni parola chiave come segue:

<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

È davvero la risposta giusta? Mi è sembrato che tu potessi avere un solo attributo itemprop per proprietà. –

+1

@fwuensche: puoi avere la [stessa proprietà più volte per un articolo] (http://stackoverflow.com/a/22337572/1591669). – unor

+0

Vorrei aggiungere itemprop = "url" a entrambi i link href. – Jonadabe

3

La mia lettura della specifica mi porta alla conclusione che si può avere un solo attributo itemprop per immobile.

In altre parole, non penso che la creazione di un elemento itemprop per ogni parola chiave creerà una sintassi dei microdati corretta.

avrei messo ogni parola chiave in un elenco separato da spazi, e utilizzare un unico itemprop:

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

or 

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

io non sono sicuro di quello che dovrebbe essere fatto nel caso in cui una parola chiave contiene più parole, poiché non v'è nulla in la specifica che dice come le parole chiave dovrebbero essere separate nel testo (suppongo dagli spazi e dalla punteggiatura come la virgola).

@Lawrence Woodman: è possibile indicare dove si legge, nelle specifiche, che è consentito avere più elementi itemprop per la stessa proprietà?

+1

Non riesco a seguire dove si ottiene l'informazione che c'è un limite per 'solo un attributo itemprop per proprietà' nella bozza di Microdata corrente http://www.w3.org/html/wg/drafts/microdata/master/#property-names Ti stai riferendo ai nomi di proprietà o ai valori di proprietà? L'esempio di codice afferma che "la proprietà" a "ha i valori" 1 "e" 2 "'. Inoltre la bozza specifica se l'elemento è un 'a' il valore è l'URL dal suo attributo' href', quindi il tuo primo esempio avrebbe 'parole chiave: ['/tag/gioco/','/tag/adulto/'] 'come coppia nome-valore nella mia lettura. –

2

Leggendo i documenti, direi che è possibile utilizzare i metatag per analizzare il contenuto che è nascosto o in un formato non valido. Questo è il caso di priceCurrency e datePublished nel codice sotto, preso da 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> 

Supponendo che abbia ragione, ho modificato il mio codice di seguito.

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

Lo distribuirò tra qualche giorno, mi spiace non posso dire se funziona adesso.

AGGIORNAMENTO: Dopo aver distribuito il codice, funziona come un incantesimo. Puoi vedere i risultati attraverso Google Data Testing Tool e confrontarli con i rich snippet usati su the real product.

7

La definizione di Schema.org keywords property è stata modificata. Ora si legge:

Parole chiave o tag utilizzati per descrivere questo contenuto. Più voci in un elenco di parole chiave sono in genere delimitate da virgole.

Così potrebbe assomigliare a questo in 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> 

(esempio tratto dalla mia risposta correlate su semantic markup for tags.)

Se non si desidera avere virgole visibili sulla pagina, è possibile utilizzare un elemento meta in aggiunta al markup normale per i tag:

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

(E 'allowed collocare questo elemento meta nel "corpo".)

+0

questa dovrebbe essere la risposta giusta – xorinzor

Problemi correlati