I microdati possono essere implementati nei meta tag?


12

Si prega di considerare il seguente codice contrassegnato con gli attributi per fornire i microdati:

<!DOCTYPE html>
<html>
    <head>
        <title>Micro data test - Normal version</title>
    </head>
    <body>
        <div itemscope itemtype="http://schema.org/Product">
            <h1 itemprop="name">Product name</h1>
            <img alt="" itemprop="image" src="http://placehold.it/200x200" />
            <div itemprop="description">This is the product description.</div>
            <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
                <meta content="in_stock" itemprop="availability" />
                <span content="GBP" itemprop="priceCurrency">£</span><span itemprop="price">100.00</span>
            </div>
        </div>
    </body>
</html>

L'uso dello strumento di test dei dati strutturati di Google offre risultati positivi.

Questo va bene nell'esempio di test, tuttavia, vogliamo implementare microdati su una varietà di siti la cui struttura HTML varia notevolmente. Per implementare gli attributi in questo modo sarà necessario che qualcuno modifichi manualmente il markup HTML su ciascuno dei siti individualmente.

Preferibilmente, vorremmo essere in grado di chiamare una singola funzione che comprime tutti i microdati in un unico posto; tecnicamente ciò è possibile usando i meta tag nel modo seguente:

<!DOCTYPE html>
<html>
    <head>
        <title>Micro data test - Meta tag version</title>
    </head>
    <body>
        <meta itemscope itemtype="http://schema.org/Product" itemref="microName microImage microDescription microOffer" />
        <meta id="microName" itemprop="name" content="Product name" />
        <link id="microImage" itemprop="image" href="http://placehold.it/200x200" />
        <meta id="microDescription" itemprop="description" content="This is the product description." />
        <meta id="microOffer" itemprop="offers" itemscope itemtype="http://schema.org/Offer" itemref="microCurrency microPrice microAvail" />
        <meta id="microAvail" itemprop="availability" content="in_stock" />
        <meta id="microCurrency" itemprop="priceCurrency" content="GBP" />
        <meta id="microPrice" itemprop="price" content="100.00" />
        <div>
            <h1>Product name</h1>
            <img alt="" src="http://placehold.it/200x200" />
            <div>This is the product description.</div>
            <div>£100.00</div>
        </div>
    </body>
</html>

L'uso dello strumento di test dei dati strutturati di Google fornisce gli stessi risultati positivi del primo test.

Per riferimento (non lo faremmo mai su un sito reale) lo Strumento di test dei dati strutturati di Google restituisce un errore se si tenta di passare microdati nascosti dai CSS.

Quindi, sia il markup normale che quello meta-tag producono gli stessi risultati, tuttavia, ho alcune preoccupazioni dovute alle seguenti dichiarazioni di Google e Schema.org:

https://support.google.com/webmasters/answer/146750 afferma:

In generale, Google utilizzerà solo i dati sottoposti a markup visibili all'utente. I dati nascosti verranno ignorati. Tuttavia, in alcune circostanze, può essere utile fornire sia una versione leggibile da una macchina che una versione leggibile dall'uomo. Ad esempio, mentre la stringa di testo "Compleanno di Elvis" è significativa per molti lettori umani, non è significativa per i motori di ricerca come il 1935-01-08. Allo stesso modo, i lettori umani possono dedurre il significato del simbolo $, ma può essere utile dire specificamente ai motori di ricerca se i tuoi prezzi sono in pesos o dollari.

http://schema.org/docs/gs.html afferma (in relazione all'uso dei meta tag):

Questa tecnica dovrebbe essere usata con parsimonia. Usa meta con contenuto solo per informazioni che non possono essere contrassegnate diversamente.

http://schema.org/docs/faq.html#13 afferma:

Come regola generale, è necessario contrassegnare solo il contenuto visibile alle persone che visitano la pagina Web e non il contenuto in div nascosti o altri elementi di pagine nascoste.

Le mie domande sono:

  1. Sebbene non vengano restituiti errori, saremmo penalizzati dai motori di ricerca per l'utilizzo di metatag in questo modo (ovvero contenuti duplicati, informazioni nascoste, ecc.)?
  2. Se questo non è adatto, puoi suggerire un modo per dividere i microdati dai dati reali o dovremo mordere il proiettile e implementarlo in HTML caso per caso?

2
Questo tipo di cose rappresenta un atto di bilanciamento piuttosto complicato per Google. Anche se oggi non ci sono problemi, Google potrebbe facilmente modificare le sue norme. Google guadagna grazie a un motore di ricerca che porta i suoi utenti al contenuto più adatto meglio dei suoi concorrenti. I contenuti nascosti in ogni modo possono minare ciò, quindi sarà sempre più sicuro contrassegnare i contenuti visibili.

@Alohci Sì, questo è ciò di cui ho paura e non c'è modo di dirlo fino a quando non è troppo tardi! Grazie per i commenti, penso che dovremmo solo mordere il proiettile su questo e farlo normalmente.

Risposte:


6

Il tuo piano di utilizzo dei metadati per i microdati non è praticabile. Ecco le FAQ di Google sul perché non mostra i tuoi dati nei risultati di ricerca :

I tuoi contenuti sottoposti a markup sono nascosti agli utenti?

In generale, Google non visualizzerà alcun contenuto in rich snippet non visibile all'utente umano. Non nascondere i contenuti che avete segnato in su per i rich snippet utilizzando tecniche come display:none, value-titleo css. Google ignorerà i contenuti che non sono visibili agli utenti umani, quindi dovresti contrassegnare il testo che i visitatori vedranno sulle tue pagine web.

L'unico modo per indurre Google a utilizzare i microdati forniti è di contrassegnarli dove si trovano nella pagina, visibili all'utente.

A questo punto, Google non sta penalizzando per aver tentato di abusare di rich snippet oltre a disattivare i rich snippet per quel sito. Non mi sorprenderebbe se Google iniziasse ad escludere del tutto i siti dai risultati di ricerca quando Google trova il sito che tenta di utilizzare i microdati in modo da non essere conforme alle linee guida.

Finché i tuoi metadati che stai contrassegnando sono visibili anche da qualche parte sulla pagina, è improbabile che Google penalizzi il tuo sito come dannoso. Tuttavia, i loro strumenti automatici rilevano quando esegui il markup dei dati in una posizione non visibile e non li mostrano nei risultati di ricerca.


Grazie per la risposta. Sollevi alcuni punti interessanti; sembra un po 'inutile implementare microdati nei meta tag se i dati non verranno utilizzati!

4

L'uso di meta(e link) elementi per i microdati va bene. A volte non c'è nemmeno alcuna alternativa ragionevole ad esso, ad esempio, se devono essere forniti codici specifici in cui non avrebbe senso mostrarli ai tuoi utenti.

Google utilizza persino metaalcuni dei loro esempi di rich snippet:

  • Prodotti e app software :

    <meta itemprop="priceCurrency" content="USD" />
  • Recensioni :

    <meta itemprop="datePublished" content="2006-05-04">
    <meta itemprop="bestRating" content="10"/>
    <meta itemprop="worstRating" content="1"/>
  • Video :

    <meta itemprop="uploadDate" content="2015-02-05T08:00:00+08:00"/>
    <meta itemprop="duration" content="PT1M33S" />
    <meta itemprop="interactionCount" content="2347" />
  • Articoli :

    <meta itemprop="datePublished" content="2015-02-05T08:00:00+08:00"/>

Quindi la domanda è: quanto è troppo (se c'è un limite)? E penso che sia sicuro presumere che non ci siano limiti rigidi , molto probabilmente dipende da vari fattori aggiuntivi.

Tuttavia, sarebbe logico che Google non respingesse il markup dei microdati se fosse utilizzato meta/ link. Perché? Perché supportano anche (e talvolta addirittura consigliano ) JSON-LD per fornire dati Schema.org, e questo consiste solo di contenuti "nascosti" (ovvero un scriptelemento nascosto usato come blocco di dati ).

E questo sarebbe ciò che suggerirei nel tuo caso: se non vuoi aggiungere i dati strutturati contrassegnando gli elementi esistenti, usa JSON-LD .


Grazie per i suggerimenti Dò un'occhiata a JSON-LD.

1

Non posso commentare se questo funzionerebbe per tutte le situazioni, ma usiamo Schema.org nel modo che descrivi - come meta "contenuto" nelle pagine del prodotto. Perché? È molto più portatile e non rovina i temi. Consente inoltre un controllo più granulare sulla formattazione dei dati e ottiene i dati rilevanti subito dopo <body>(molto al di sopra della piega). Vengono in mente piattaforme basate su hook (o addirittura basate su F&R come vQmod): non c'è modo di fluidificare F&R tutte le direttive nella struttura senza codificarle a vista.

Non abbiamo notato alcuna penalità, Google utilizza ancora i dati, li inserisce ancora nei widget SERP. Abbiamo ancora la maggior parte dei dati sulla pagina da qualche parte, ma per quanto riguarda la maggior parte del markup, è in 1 singolo meta container gerarchico usando content=""come il tuo esempio in basso solo la sua organizzazione integrata come "fare un'offerta". Ora non andare troppo lontano: cose strutturali come loop di recensioni, breadcrumb, descrizione principale o specifiche sono meglio lasciare fuori da questo meta container. Prova a codificarli per visualizzarli.

La maggior parte delle persone dirà "non usare content=""metas" ma, ancora una volta, la maggior parte di loro non l'ha mai provato. Lo stesso vale per cose come il markup ricco sugli elenchi di prodotti nelle categorie ... sì, infrangiamo anche questa regola :) Ricorda solo che Google non è l'unico pesce nel laghetto RDF. Ciò che G dice non è "creare o distruggere" in questa circostanza di utilizzo di formati di dati di emissione standard in un modo perfettamente accettabile per il resto dello stagno. Forse anche perché G stesso cambia idea in futuro. Vuole i dati sopra / sopra, ma ti fa codificare nei dati sotto / sotto, mentre i meta-attributi li mettono in primo piano e in un linguaggio accessibile dalla macchina.


Nota flaggellum, OpenGraph (OG) e altri funzionano con un metodo simile: come metas con contenuto in <head>o <body>. Ad Pinterest piacciono i dati per primi di Schema. Le schede Twitter funzionano in modo simile. E non abbiate paura di usare il vocabolario dei dati per il pangrattato e parti del ciclo delle recensioni, è valido.
Dhaupin,

Grazie per la risposta, è interessante sapere che il metodo meta tag è stato implementato con successo senza evidenti penalità.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.