dati strutturati google per i video

I video sono dei contenuti che nel corso degli ultimi anni hanno assistito a un incremento incredibile. Anche nella Ricerca Google è diventato sempre più importante mostrare dei video esplicativi dell’argomento trattato.

In questo modo gli utenti hanno la possibilità di comprendere, fin da subito, quale sia il topic e se si tratta di un contenuto di loro interesse.

Proprio per questo, tra le best pratice di Google per gli e-commerce, è chiaramente indicato che inserire dati strutturati sul proprio sito, anche per quanto riguarda i video, può essere un’ottima strategia.

Tramite questi dati, infatti, il motore di ricerca può comprendere che il formato di quello specifico contenuto è un video e può così mostrarlo agli utenti come risultato di ricerca.

In questo articolo vedremo come inserire il markup relativo i video, quali linee guida rispettare e alcuni esempi.

 

Miglioramenti nei risultati di ricerca

Come abbiamo detto, i video sono tipologie di contenuti che possono aiutare tantissimo il sito a mostrare informazioni aggiuntive agli utenti.

Il corretto inserimento del markup relativo i video, inoltre, può fornire anche degli altri miglioramenti nei risultati di ricerca.

Vediamo quali:

  • Badge dal vivo: il badge dal vivo è un elemento importantissimo in quanto sta a indicare che un video, di qualsiasi durata, è trasmesso in streaming. Questo tipo di badge è applicabile a diverse tipologie di contenuti come eventi sportivi, dirette di videogiochi, video di influencer, premiazioni.
  • Attività da fare da casa: questo è un aiuto per tutte le persone che cercano attività da svolgere da casa. In tal senso Google suggerisce video che in un risultato avanzato immersivo.
  • Momenti chiave: la funzione momenti chiave permette agli utenti di vedere i momenti salienti di un video e sfogliarli come fossero i capitoli di un libro, così da poter saltare da uno all’altro. In generale la Ricerca Google cerca di rilevare in autonomia i momenti chiave ma, in alternativa, puoi indicarli tu manualmente.


Esempi

Vediamo alcuni esempi pratici di codice da inserire per far si che Google mostri i video nei Risultati di Ricerca.

Tutti gli esempi sono in formato JSON-ND.

 

Risultato avanzato video standard

Quello di seguito è il risultato avanzato per un singolo video standard:

<html>

  <head>

    <title>Introducing the self-driving bicycle in the Netherlands</title>

    <script type=”application/ld+json”>

    {

      “@context”: “https://schema.org”,

      “@type”: “VideoObject”,

      “name”: “Introducing the self-driving bicycle in the Netherlands”,

      “description”: “This spring, Google is introducing the self-driving bicycle in Amsterdam, the world’s premier cycling city. The Dutch cycle more than any other nation in the world, almost 900 kilometres per year per person, amounting to over 15 billion kilometres annually. The self-driving bicycle enables safe navigation through the city for Amsterdam residents, and furthers Google’s ambition to improve urban mobility with technology. Google Netherlands takes enormous pride in the fact that a Dutch team worked on this innovation that will have great impact in their home country.”,

      “thumbnailUrl”: [

        “https://example.com/photos/1×1/photo.jpg”,

        “https://example.com/photos/4×3/photo.jpg”,

        “https://example.com/photos/16×9/photo.jpg”

       ],

      “uploadDate”: “2016-03-31T08:00:00+08:00”,

      “duration”: “PT1M54S”,

      “contentUrl”: “https://www.example.com/video/123/file.mp4”,

      “embedUrl”: “https://www.example.com/embed/123”,

      “interactionStatistic”: {

        “@type”: “InteractionCounter”,

        “interactionType”: { “@type”: “WatchAction” },

        “userInteractionCount”: 5647018

      },

      “regionsAllowed”: “US,NL”

    }

    </script>

  </head>

  <body>

  </body>

</html>

 

Badge dal vivo

Vediamo invece un esempio di badge dal vivo:

html>

  <head>

    <title>Bald Eagle at the Park – Livestream</title>

    <script type=”application/ld+json”>

    {

      “@context”: “https://schema.org”,

      “@type”: “VideoObject”,

      “contentURL”: “https://example.com/bald-eagle-at-the-park.mp4”,

      “description”: “Bald eagle at the park livestream.”,

      “duration”: “PT37M14S”,

      “embedUrl”: “https://example.com/bald-eagle-at-the-park”,

      “expires”: “2018-10-30T14:37:14+00:00”,

      “regionsAllowed”: “US”,

      “interactionStatistic”: {

        “@type”: “InteractionCounter”,

        “interactionType”: { “@type”: “WatchAction” },

        “userInteractionCount”: 4756

      },

      “name”: “Bald eagle nest livestream!”,

      “thumbnailUrl”: “https://example.com/bald-eagle-at-the-park”,

      “uploadDate”: “2018-10-27T14:00:00+00:00”,

      “publication”: [

        {

          “@type”: “BroadcastEvent”,

          “isLiveBroadcast”: true,

          “startDate”: “2018-10-27T14:00:00+00:00”,

          “endDate”: “2018-10-27T14:37:14+00:00”

        },

        {

          “@type”: “BroadcastEvent”,

          “isLiveBroadcast”: true,

          “startDate”: “2018-10-27T18:00:00+00:00”,

          “endDate”: “2018-10-27T18:37:14+00:00”

        }

      ]

    }

    </script>

  </head>

  <body>

  </body>

</html>

 

Carosello host di video

Qui vediamo un esempio per inserire un carosello host di video. È importante specificare che al momento questa funzionalità non è accessibile a tutti:

<html>

  <head>

    <title>Introducing the self-driving bicycle in the Netherlands</title>

    <script type=”application/ld+json”>

    {

      “@context”: “https://schema.org”,

      “@type”: “ItemList”,

      “itemListElement”: [

        {

          “@type”: “VideoObject”,

          “position”: 1,

          “name”: “Introducing the self-driving bicycle in the Netherlands”,

          “url”: “https://www.example.com/video/self-driving-bicycle”,

          “description”: “This spring, Google is introducing the self-driving bicycle in Amsterdam, the world’s premier cycling city. The Dutch cycle more than any other nation in the world, almost 900 kilometres per year per person, amounting to over 15 billion kilometres annually. The self-driving bicycle enables safe navigation through the city for Amsterdam residents, and furthers Google’s ambition to improve urban mobility with technology. Google Netherlands takes enormous pride in the fact that a Dutch team worked on this innovation that will have great impact in their home country.”,

          “thumbnailUrl”: [

            “https://www.example.com/video/self-driving-bicycle/1×1/photo.jpg”,

            “https://www.example.com/video/self-driving-bicycle/4×3/photo.jpg”,

            “https://www.example.com/video/self-driving-bicycle/16×9/photo.jpg”

          ],

          “uploadDate”: “2016-03-31T08:00:00+08:00”,

          “duration”: “PT1M54S”,

          “contentUrl”: “https://www.example.com/video/self-driving-bicycle/file.mp4”,

          “embedUrl”: “https://www.example.com/embed/self-driving-bicycle”,

          “interactionStatistic”: {

            “@type”: “InteractionCounter”,

            “interactionType”: { “@type”: “WatchAction” },

            “userInteractionCount”: 5647018

          }

        },

        {

          “@type”: “VideoObject”,

          “position”: 2,

          “name”: “How to tie a tie”,

          “url”: “https://www.example.com/video/how-to-tie-a-tie”,

          “description”: “How to tie a four-in-hand knot.”,

          “thumbnailUrl”: [

            “https://www.example.com/video/how-to-tie-a-tie/1×1/photo.jpg”,

            “https://www.example.com/video/how-to-tie-a-tie/4×3/photo.jpg”,

            “https://www.example.com/video/how-to-tie-a-tie/16×9/photo.jpg”

          ],

          “uploadDate”: “2019-02-28T08:00:00+08:00”,

          “duration”: “PT5M01S”,

          “contentUrl”: “https://www.example.com/video/how-to-tie-a-tie/file.mp4”,

          “embedUrl”: “https://www.example.com/embed/how-to-tie-a-tie”,

          “interactionStatistic”: {

            “@type”: “InteractionCounter”,

            “interactionType”: { “@type”: “WatchAction” },

            “userInteractionCount”: 102111

          }

        }

      ]

    }

    </script>

  </head>

  <body>

  </body>

</html>

 

Clip

Vediamo l’esempio per una clip:

<html>

  <head>

    <title>Cat jumps over the fence</title>

    <script type=”application/ld+json”>

    {

      “@context”: “https://schema.org/”,

      “@type”: “VideoObject”,

      “name”: “Cat video”,

      “duration”: “P10M”,

      “uploadDate”: “2019-07-19”,

      “thumbnailUrl”: “http://www.example.com/cat.jpg”,

      “description”: “Watch this cat jump over a fence!”,

      “contentUrl”: “http://www.example.com/cat_video_full.mp4”,

      “regionsAllowed”: “US”,

      “hasPart”: [{

        “@type”: “Clip”,

        “name”: “Cat jumps”,

        “startOffset”: 30,

        “endOffset”: 45,

        “url”: “http://www.example.com/example?t=30”

      },

      {

        “@type”: “Clip”,

        “name”: “Cat misses the fence”,

        “startOffset”: 111,

        “endOffset”: 150,

        “url”: “http://www.example.com/example?t=111”

      }]

    }

    </script>

  </head>

  <body>

  </body>

</html>

 

SeekToAction

<html>

  <head>

    <title>John Smith (@johnsmith123) on VideoApp: My daily workout! #stayingfit</title>

    <script type=”application/ld+json”>

    {

      “@context”: “https://schema.org”,

      “@type”: “VideoObject”,

      “potentialAction” : {

        “@type”: “SeekToAction”,

        “target”: “https://video.example.com/watch/videoID?t={seek_to_second_number}”,

        “startOffset-input”: “required name=seek_to_second_number”

      },

      “name”: “My daily workout!”,

      “uploadDate”: “2020-07-19”,

      “thumbnailUrl”: “http://www.example.com/daily-workout.jpg”,

      “description”: “My daily workout!”,

      “embedUrl”: “https://example.com/daily-workout”

    }

    </script>

  </head>

  <body>

  </body>

</html>

 

Linee guida

Come detto, affinché il markup sia riconosciuto e mostrato correttamente da Google, è fondamentale seguire alcune linee guida.

Queste permettono di rientrare nei canoni di gradimento di Google in modo che i tuoi video risultino idonei per i Risultati di Ricerca.

Di seguito vediamo le linee guida specifiche per ogni singolo punto.

 

Linee guida per i badge dal vivo

Quando aggiungi il markup BroadcastEvent per segnalare a Google che il tuo contenuto è un video in streaming segui queste linee guida:

  • Evita linguaggio volgare o offensivo nei dati strutturati.
  • Il consiglio che ti do, per assicurarti che Google esegua correttamente la scansione, è di utilizzare l’API Indexing. In particolare quando inizia lo streaming, quando lo streaming si interrompe e ogni volta che si verifica un cambiamento nel markup e Google deve essere informato.

 

Linee guida per Timestamp su YouTube

Se il video è ospitato su YouTube, Google tenderà a ricavare da solo i momenti chiave del tuo video. Tuttavia, se lo desideri, puoi indicarglieli tu manualmente, in modo che mostri quelli che preferisci.

Per farlo attieniti ad alcune linee guida:

  • Nel campo Timestamp indica l’inizio del video.
  • Nel campo Etichetta indica il nome del clip.
  • Formatta il timestamp nel seguente formato: [hour]:[minute]:[second]. Ricorda che se l’ora non è presente, non è necessario includerla.
  • Specifica l’etichetta del timestamp sulla stessa riga del timestamp.
  • Inserisci ogni timestamp su una nuova riga nella descrizione del video.
  • Collega con precisione il timestamp al punto specifico del video che intendi indicare a Google.
  • Assicurati che l’etichetta contenga almeno una parola.
  • Elenca i timestamp in ordine cronologico.

 

Linee guida Clip e SeekToAction

Anche per quanto riguarda i dati strutturati di tipo Clip e SeekToAction esistono delle linee guida ben precise da rispettare.

Vediamo quali sono:

  • Nell’URL deve essere necessariamente presente un link diretto che rimandi a un punto specifico del video diverso dall’inizio dello stesso. 
  • I dati strutturati di tipo VideoObject devono rimandare a una pagina in cui l’utente possa chiaramente guardare il video. Questo perché, nel caso in cui la pagina non presentasse il video, questa rappresenterebbe un’esperienza negativa per l’utente.
  • Il video deve avere una durata non inferiore ai 30 secondi.
  • Il video deve includere le proprietà obbligatorie inserite nella maniera corretta (come vedremo più avanti).
  • Per i dati strutturati Clip: assicurati sempre che all’interno del video non ci siano due elementi Clip definiti in una stessa pagina e che abbiano lo stesso punto di inizio.
  • Per i dati strutturati SeekToAction: Google deve essere sempre in grado di recuperare i file dei contenuti video.

 

Definizioni di tipi di dati strutturati

Oltre alle linee guida fornite da Google, affinché il motore di ricerca possa mostrare correttamente i dati strutturati nei Risultati di Ricerca avanzati, è fondamentale inserire correttamente i vari markup.

I markup presentano infatti delle proprietà obbligatorie che è necessario rispettare per un corretto inserimento. In più alcuni possono presentare anche delle proprietà consigliate, ovvero condizioni non necessarie al corretto funzionamento ma che possono comunque fornire informazioni aggiuntive a Google.

Vediamo insieme i singoli markup con le loro proprietà.

 

VideoObject

Il markup VideoObject permette a Google di comprendere che quello specifico elemento è un contenuto video.

Vediamo le proprietà obbligatorie:

Proprietà obbligatorie
description Text

Indica la descrizione del video. Ricorda che in questo caso i tag HTML vengono ignorati.

name Text

Indica il nome del video.

thumbnailUrl URL ripetuto.

Indica un URL che rimanda alla miniatura del video.

uploadDate Date

Indica la data in cui è stato caricato il video per la prima volta.

 

Di seguito invece sono indicate le proprietà consigliate:

Proprietà consigliate
contentUrl URL

Indica un URL che rimanda all’effettivo file multimediale del video. Ricorda sempre di non inserire l’URL alla pagina del video ma all’effettivo file multimediale.

duration Duration

Indica la durata del video.

embedUrl URL

Indica un URL che rimanda a un player che riguarda il video specifico. Anche in questo caso ricorda di non inserire l’URL alla pagina del video ma all’effettivo player.

expires Date

Indica, se esiste ed è applicabile, la data dopo la quale il video non sarà più disponibile.

interactionStatistic InterationCounter

Indica il numero di volte in cui il video è stato guardato.

publication Se il tuo video è trasmesso dal vivo e vuoi che sia idoneo per il badge DAL VIVO, nidifica le proprietà BroadcastEvent in VideoObject. Come nell’esempio seguente:

<script type=”application/ld+json”>

{

  “@context”: “https://schema.org/”,

  “@type”: “VideoObject”,

  “name”: “Cat video”,

  “publication”: {

    “@type”: “BroadcastEvent”,

    “name”: “First scheduled broadcast”,

    “isLiveBroadcast”: true,

    “startDate”: “2018-10-27T14:00:00+00:00”,

    “endDate”: “2018-10-27T14:37:14+00:00”

  }

}

</script>

regionsAllowed Place

Indica le zone geografiche in cui il tuo video è consentito.

hasPart Se il tuo video include segmenti importanti, nidifica le proprietà Clip obbligatorie in VideoObject. Come nell’esempio:

<script type=”application/ld+json”>

{

  “@context”: “https://schema.org/”,

  “@type”: “VideoObject”,

  “name”: “Cat video”,

  “hasPart”: {

    “@type”: “Clip”,

    “name”: “Cat jumps”,

    “startOffset”: 30,

    “url”: “http://www.example.com/example?t=30”

  }

}

</script>

 

BroadcastEvent

Il markup BroadcastEvent ti permette di ottenere il badge DAL VIVO quando trasmetti in streaming.

Di seguito le proprietà obbligatorie:

Proprietà obbligatorie
publication BroadcastEvent

Indica quando il video deve essere trasmesso in streaming.

publication.endDate DateTime

Indica ora e data di fine, previste o effettive, del live streaming.

Ricorda sempre che endDate deve essere indicato quando il video termina e non mentre è ancora in diretta.

publication.isLiveBroadcast Booleano

Indicando con true questo valore, comunicherai che è stato o sarà trasmesso in live.

publication.startDate DateTime

Indica ora e data di inizio, previste o effettive del live streaming.

Se questa data è nel futuro, il video deve ancora essere trasmesso.

 

 ItemList (accesso limitato)

ItemList è un markup che può aiutare Google a comprendere in maniera migliore le pagine della tua galleria video.

Come detto il markup ItemList non è al momento disponibile per tutti gli utenti.

Vediamo le proprietà obbligatorie:

Proprietà obbligatorie
itemListElement ListItem

Indica un’annotazione per una pagina elemento singola.

ListItem.position Integer

Indica la posizione ordinale della pagina elemento nell’elenco. Come nell’esempio di seguito:

“itemListElement”: [

  {

    “@type”: “VideoObject”,

    “position”: 1,

    … other VideoObject properties …

  }, {

    “@type”: “VideoObject”,

    “position”: 2,

    … other VideoObject properties …

  }

]

ListItem.url URL

Indica l’URL canonico della pagina elemento.

 

Clip

Il markup Clip indica che sono presenti dei momenti chiave all’interno del video.

Vediamo le proprietà obbligatorie:

Proprietà obbligatorie
name Text

Indica un contenuto che descriva il contenuto della clip.

startOffset Number

Indica l’inizio della clip tramite il numero di secondi dall’inizio.

url URL

Indica un URL che rimanda all’inizio esatto della clip. 

 

Qui invece sono presenti le proprietà consigliate:

Proprietà consigliate
endOffset Number

Indica il punto in cui finisce la clip, espresso come secondi dall’inizio della stessa.

 

SeekToAction

Infine l’ultimo markup è SeekToAction 

Vediamo le proprietà obbligatorie:

Proprietà obbligatorie
potentialAction SeekToAction

Indica una potenziale azione.

potentialAction.startOffset-input Text

Indica la stringa segnaposto che Google indentificherà come la struttura del timestamp.

potentialAction.target EntryPoint

Indica l’URL della pagina che contiene questo VideoObject, incluso un segnaposto nella struttura dell’URL che indica dove Google può inserire il numero di secondi a cui saltare nel video. Ecco come Google comprende la struttura dell’URL e come formattare i tuoi timestamp.

 

Hai bisogno di inserire i dati strutturati video sul tuo sito? Chiedi a Unidevs!

I dati strutturati video sono senza dubbio utilissimi in quanto permettono a Google di mostrare, nei Risultati di Ricerca avanzati gli elementi video all’utente.

In questo modo, lo stesso utente, può farsi un’idea più precisa del contenuto che andrà a visualizzare o del prodotto presente sul sito.

Come abbiamo visto, però, per inserire questo tipo di dati strutturati è fondamentale avere delle competenze tecniche ben precise. Anche il più piccolo errore nell’inserimento potrebbe infatti compromettere la corretta visualizzazione del risultati.

Hai bisogno di inserire i dati strutturati video sul tuo sito?

Chiedi a Unidevs! Analizzeremo il tuo sito in modo da comprendere come inserire al meglio i dati strutturati, per Google e per i tuoi clienti.

Gennaro Napoletano

Sono Gennaro Napoletano un Consulente SEO per Imprenditori e Professionisti.
Nel 2012 mi sono Laureato in Informatica all’università degli studi di Salerno.
Il 23 Settembre del 2017, dopo aver seguito un corso SEO professionale della durata di circa sei mesi ed aver superato l’esame, ho conseguito la qualifica di: SEO Senior

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.