- Home
- Categorie
- Coding e Sistemistica
- HTML e CSS
- Problema microdata
-
Problema microdata
Ciao a tutti,
ho un problema di "comprensione" della logica con cui usare i dati strutturati.
Dovendo creare una scheda prodotto, dichiarata con:
[HTML]<div itemscope itemtype="htt p ://data-vocabulary.org/Product">[/HTML]
e dovendo inserire la parte dei prezzi, con prezzo, offerta, scadenza promo etc
[HTML]<div itemprop="offers" itemscope itemtype="htt p ://schema.org/Offer">[/HTML]
Ho visto alcuni esempi in cui la parte Offers veniva separata dalla parte products (in pratica veniva chiuso il div product ed aperto un nuovo div per offers) mentre in altri esempi Offer rientrava annidato dentro product.
Nel primo caso il validatore non mi dà errori, però non mi pare corretto. Nel secondo caso, il tool di Google mi dice che ci sono alcuni valori non validi per il tipo di dato strutturato Product
Qualche idea?
-
ciao Giacomo, a rigore di logica dovresti annidare e poi cercare di risolvere i problemi che ti riporta il validatore. Riguardo questi ultimi puoi riportarli anche qui?
-
Ciao Marco,
grazie per la risposta.Per fare un esempio: ho usato la data di scadenza della promo con il dato strutturato PriceValidUntil, in questo modo:
[HTML]Promozione valida fino al <time itemprop="priceValidUntil" datetime="2015-06-25" >25/06/2015</time>[/HTML]
La risposta che il validatore di Google mi passa è questa:
La proprietà Product/priceValidUntil di un oggetto di tipoProduct non viene riconosciuta da Google.**
che mi fa pensare che product ed offers vadano separati
Stessa cosa per quanto riguarda highPrice e lowPrice, caratteristiche di Offers che ho annidato in Product.
Idee?
-
ciao Giacomo,
vedi che se vai nella pagina Product di schema.org e cerchi "priceValidUntil" non trovi niente! Questo significa che questa proprietà non è un attributo di Product.
Allora cerco "priceValidUntil" dentro schema.org e scopro che è un attributo di Offer, che è attributo di Offers che a sua volta (ecco ci siamo) è attributo di Product.
Quindi dovresti implementare una struttura di questo tipo:
*Product
-- Offers
---- Offer
------ priceValidUntil*Sicuramente è in questo che hai sbagliato qualcosa!
-
Ciao Marco,
possibilissimo che sia come dici, la cosa mi torna e forse non avevo fatto caso ad Offer-Offers
Dunque rimaniamo all'interno del product, creiamo una sezione offers e poi, da lì, impostiamo offer. E' così, giusto?
-
Esatto!
-
domani proverò. Grazie!
-
Ciao Marco,
ho verificato ma, in realtà, la mia struttura era già così.Ti mostro il codice:
[HTML]
<div itemscope itemtype="htt p://data-vocabulary.org/Product"><!-- microdata -->
<div class="span2">
<span itemprop="image">
<div class="icona-prodotto"><img src="/img/shop/facile-adsl-home.gif" alt="XXXX" />
</div></span>
</div><div class="span6">
<h2 itemprop="name"><a href="XXX.php">XXX</a></h2>
<span itemprop="description">Connessione ADSL 2+ XXX</span>
<ul class="info">
<li>Marca: <span itemprop="brand">YYY</span></li>
<li>Categoria: <span itemprop="category" content="ADSL">ADSL</span></li>
</ul><div itemprop="offers" itemscope itemtype="htt p://schema.org/Offer">
<ul class="prezzi">
<li>Contributo mensile <span itemprop="price" content="34,10"><strong>34,10 € i.i.</strong>(27,95 € i.e.)</span></li>
<li>Attivazione <span itemprop="highPrice" >183,00 € i.i. (150,00 € i.e.) </span><br /><span itemprop="lowPrice" ><strong>61,00 € (i.i.)</strong>(50,00 i.e.)</span><em>In Promozione</em></li>
</ul>
<h2 class="promozione">Promozione valida fino al <time itemprop="priceValidUntil" datetime="2015-07-09" >09/07/2015</time></h2>
</div><!-- fine offers -->
</div><!-- fine span 6 -->
</div><!-- microdata Product -->[/HTML]dunque, che ne pensi?
-
Mi rispondo da solo:
avevo un errore (nella prima dichiarazione del product facevo riferimento a data-vocaboulary.org invece che schema.org)Inoltre gli attributi highPrice e lowPrice appartengono a:
[HTML]<div itemprop="offers" itemscope itemtype="htt p://schema.org/AggregateOffer">[/HTML]
Dovrei cambiare la struttura della pagina e dei dati per poterli usare.
Penso quindi che, per questo prodotto, ne farò a meno e lascerò così com'è adesso (che funziona se tolgo questi due attrib.)
Grazie ancora!
-
Di niente! Meglio che hai trovato l'errore comunque!!!
-
Sempre io scusa,
ho (ri)trovato una risorsa molto interessante che mi aveva passato un collega:
developers.google.com/structured-data/customize/social-profilesSi concentra sui socials però in realtà parla di come lavorare al KG riguardo alla propria persona/brand!
-
@marco.panichi said:
Sempre io scusa,
ho (ri)trovato una risorsa molto interessante che mi aveva passato un collega:
developers.google.com/structured-data/customize/social-profilesSi concentra sui socials però in realtà parla di come lavorare al KG riguardo alla propria persona/brand!
terrò presente ed aggiungo ai segnalibri, grazie!
-
Ciao, avevo un problema simile ed il tutto sembrerebbe legato ad un errore nella documentazione ufficiale di Google, in particolare l'esempio relativo alle recensioni aggregate - che si possono associare non ad una "Thing" bensì come suggerito ad un Product oppure ad un BlogPosting come ho fatto io nel mio caso. La cosa da controllare in questi casi di errore, in sostanza, è che il dizionario del termine usato preveda l'uso di quell'attributo.
Giusto per integrare la discussione visto che mi è capitata una cosa simile poco fa
-
ok, grazie per il tuo feedback
-
ringrazio pure io!
(chissà che non venga implementata la funzione "Ringrazia" come in altri forum, sarebbe utile!)
-
Prego, nessun problema