Esempi e strumenti per Schema JSON-LD

Come tutti i SEO Specialist mi sono trovato a cercare degli esempi validi (ma soprattutto validati) di JSON-LD come schema.org comanda.

Di pagine decenti non se ne trovano molte e comunque si trovano a "mozzichi e bocconi". Perciò ho raccolto dalle mie esperienze un po' di esempi, li ho adattati e validati. Mano a mano ne aggiungerò altri.

Sempre in questa pagina c'è una lista di tool per generare JSON-LD.

BreadcrumbList

Nota: L'esempio riporta due elementi, chiaramente è possibile metterne di più.

schema
									
<script type="application/ld+json">
{
	"@context": "https://schema.org",
	"@type": "BreadcrumbList",
	"itemListElement": [{
		"@type": "ListItem",
		"position": 1,
		"name": "[etichetta]",
		"item": "[url]"
	},{
		"@type": "ListItem",
		"position": 2,
		"name": "[etichetta]",
		"item": "[url]"
	}]
}
</script>
									
								
esempio
									
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "Risolvi",
"item": "http://www.esempio.com/aiuto/risolvi.html"
},{
"@type": "ListItem",
"position": 2,
"name": "Problemi di visione",
"item": "http://www.esempio.com/aiuto/risolvi/problemi-di-visione.html"
}]
}
</script>
						
					

WebPage

schema
									
<script type="application/ld+json">
{ 
  "@context": "http://schema.org", 
  "@type": "WebPage", 
  "url": "[url]", 
  "name": "[titolo]",
  "description": "[descrizione di circa 160 caratteri]"
    }
</script>
									
								
esempio
									
<script type="application/ld+json">
{ 
  "@context": "http://schema.org", 
  "@type": "WebPage", 
  "url": "http://www.esempio.com/aiuto/conosci/fatture-e-pagamenti.html", 
  "name": "Assistenza su fatture e pagamenti",
  "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. In leo eros, imperdiet et suscipit non, dapibus id tellus. Phasellus efficitur orci dui, et efficitur nisl commodo vel. Integer facilisis orci in neque sollicitudin, sit amet ullamcorper magna semper. Vivamus nibh erat, vulputate sed purus pretium, condimentum luctus massa. Morbi justo nulla, commodo quis hendrerit id, iaculis sed sapien. Nam sodales auctor nulla."
    }
    }
</script>
						
					

TechArticle

Nota: per l'immagine ci sono una serie di requisiti, fra cui una lunghezza minima di 696px. Per l'elenco completo consultare la seguente pagina https://developers.google.com/search/docs/data-types/article#non-amp

schema
									
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "TechArticle",
"datePublished": "[data di pubblicazione]",
"headline": "[titolo]",
"url": "[url dell'articolo]",
"image": {
"@type": "imageObject",
"url": "[url immagine]",
"height": "[misura in px]",
"width": "[misura in px]"
}
}
</script>
									
								
esempio
									
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "TechArticle",
"datePublished": "2019-3-27",
"headline": "Configurazione 4K HDR",
"url": "https://www.esempio.com/aiuto/Terraq/percorsi-guidati/configurazione-tv-4k-hdr.html",
"image": {
"@type": "imageObject",
"url": "https://nst.esempio.com/content/dam/html/Terraassistance/images/TS_520x320-01.png",
"height": "320",
"width": "520"
}
}
</script>
						
					

SearchAction

Nota: Nel riquadro a "schema" e in "esempio", il campo Target mostra l'attuale pagina di ricerca di esempio.com (ricerca.html) e il suo parametro di ricerca (?q=). In produzione vanno utilizzati i riferimenti del nuovo motore di ricerca interno.

schema
									
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "url": "[url]",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "[url]/ricerca.html?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}
</script>
									
								
esempio
									
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "url": "https://assistenza.esempio.com/",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://assistenza.esempio.com/ricerca.html?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}
</script>
						
					

VideoObject

schema
									
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "[titolo]",
  "description": "[descrizione di circa 160 caratteri]",
  "thumbnailUrl": "[url thumbnail]",
  "uploadDate": "[data]",
  "contentUrl": "[url del file video (se disponibile)]",
  "embedUrl": "[url pagina contenente il video]"
}
</script>
									
								
esempio
									
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "Come connettere il Decoder ad Internet",
  "description": "Segui le istruzioni per connettere il tuo decoder a internet.",
  "thumbnailUrl": "https://videoplatform.esempio.com/still/2015/01/12/1421062707801_Terra_on_demandcome_connettere_il_decoder_online_videostill_1.jpg",
  "uploadDate": "2019-03-27",
  "contentUrl": "https://www.esempio.com/video/123/file.mp4",
  "embedUrl": "https://www.esempio.com/aiuto/conosci/tutti-i-video/Terra-on-demand---come-connettere-il-decoder-online.html"
}
</script>
						
					

Organization

schema
									
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Organization",
  "name": "[nome dell'organizzazione]",
  "url": "[url]",
  "logo": {
"@type": "imageObject",
"url": "[url dell'immagine del logo]"
		  }
}
</script>
									
								
esempio
									
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Organization",
  "name": "Terra Italia",
  "url": "https://www.esempio.com/",
  "logo": {
"@type": "imageObject",
"url": "https://nst.esempio.com/etc/designs/Terrait/img/Terra-logo.png"
		  }
}
</script>
						
					

Image

schema
									
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "ImageObject",
  "contentUrl": "[url dell'immagine]",
  "description": "[descrizione di circa 160 caratteri]",
  "name": "[titolo dell'immagine]"
}
</script>
									
								
esempio
									
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "ImageObject",
  "contentUrl": "https://nst.esempio.com/content/dam/html/Terraassistance/images/hp_visore_Terraq_pb_1.png",
  "description": "Terra Q è l’esperienza di visione Terra più innovativa e completa di sempre.",
  "name": "Terra Q"
}
</script>
						
					

AggregateRating

Nota: Per una gestione ottimale dell'aggregato dei voti, il CMS deve poter aggiornare in modo dinamico i campi "ratingValue" e "reviewCount". In questo modo si può anche gestire quale media di voti effettivamente mostrare in SERP.

schema
									
<script type="application/ld+json">
{ 
  "@context": "http://schema.org", 
  "@type": "WebPage", 
  "url": "[url]", 
  "name": "[titolo]",
  "description": "[descrizione di circa 160 caratteri]",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "[valore da 1 a 5]",
    "reviewCount": "[numero di voti]"
					 }
}
</script>
									
								
esempio
									
<script type="application/ld+json">
{ 
  "@context": "http://schema.org", 
  "@type": "WebPage", 
  "url": "https://www.esempio.com/aiuto/conosci/Terra-id/Terra-fai-da-te.html", 
  "name": "Che cos'è Terra Fai da te?",
  "description": "Grazie all'assistenza di Terra scopri cos'è Terra Fai Da Te e trova tutte le risposte alle tue domande.",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "3.5",
    "reviewCount": "11"
					 }
}
</script>
						
					

Question e Answer

schema
									
<script type="application/ld+json">
{
 "@context": "http://schema.org",
 "@graph": [{
       "@type": "Question",
       "text": "[domanda]",
       "acceptedAnswer": {
           "@type": "Answer",
           "text": "[risposta]"
       }
   }]
}
</script>
									
								
esempio
									
<script type="application/ld+json">
{
 "@context": "http://schema.org",
 "@graph": [{
       "@type": "Question",
       "text": "Qual è la differenza tra Terra Q Black e Terra Q Platinum?",
       "acceptedAnswer": {
           "@type": "Answer",
           "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. In leo eros, imperdiet et suscipit non, dapibus id tellus. Phasellus efficitur orci dui, et efficitur nisl commodo vel. Integer facilisis orci in neque sollicitudin, sit amet ullamcorper magna semper. Vivamus nibh erat, vulputate sed purus pretium, condimentum luctus massa. Morbi justo nulla, commodo quis hendrerit id, iaculis sed sapien. Nam sodales auctor nulla."
       }
   }]
}
</script>