Schema.org - JSON-LD - ¿Dónde colocarlo?

94

Estoy buscando usar JSON-LD para el esquema en un sitio web. (Esquema que significa datos de schema.org). Sé cómo escribir los datos, pero mi pregunta es ¿hay una ubicación preferida en mi código para insertar estos datos? En otras palabras, si el JSON-LD siempre estar en el head, body, etc.?

L84
fuente

Respuestas:

67

Desde la perspectiva de Schema.org, JSON-LD y el RDF posiblemente extraído, no debería importar. Los datos son los mismos, sin importar en qué parte del documento se extrajeron.

Desde la perspectiva de HTML5:

Si se trata de datos sobre su página (o de qué trata esta página), puede colocar el scriptelemento en head, como el headelemento

[…] Representa una colección de metadatos para el documento

Pero, por supuesto, no estaría mal utilizarlo bodypara esto. Es solo que no debe usar headpara datos que no se relacionen con su página o lo que representa.

unor
fuente
90

Los datos se pueden colocar en cualquier lugar. De la documentación de Google :

Los datos, encerrados dentro de las etiquetas <script type="application/ld+json">... </script>como se muestra en los ejemplos a continuación, pueden colocarse en la región <HEAD>o<BODY> en la página que muestra ese evento.

También puede utilizar datos obtenidos dinámicamente mediante AJAX :

Se puede reconocer el marcado JSON-LD insertado por Javascript que se ejecuta al cargar la página inicial.

Actualización (como señaló Antony en los comentarios)

La última documentación dice:

[JSON-LD es una] notación JavaScript incrustada en una etiqueta en el encabezado o el cuerpo de la página ... Google puede leer datos JSON-LD cuando se inyectan dinámicamente en el contenido de la página, como mediante código JavaScript o widgets incrustados en su contenido sistema de gestión.

Dheeraj Vepakomma
fuente
5
La nueva URL es developers.google.com/search/docs/guides/intro-structured-data . Hay una tabla 2/3 hacia abajo, con una columna "Descripción y ubicación"
Antony
-4

si elige insertar en el <body>, debe hacerlo así:

<p class="companyName" vocab="http://schema.org/" resource="#manu" typeof="Organization">
   <span property="name">ShopTech Media</span>
   <img property="logo" src="https://yoursite.com/logo.png" />
   <a property="url" href="http://www.yoursite.com">Home page</a>
</p>
<p typeof="contactPoint">
  <span property="contactType">Customer Service:</span>
<span property="telephone">+45-xxxxxxx</span>
</p>

a continuación se muestra el código de secuencia de comandos para insertar sus datos estructurados en la <head>etiqueta

<script type="application/ld+json"> 
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "url": "http://www.shoptech.media",
  "logo": "https://shoptech.media/wp-content/uploads/2019/08/cropped-logo-sm.png",
  "contactPoint": [{
    "@type": "ContactPoint",
    "telephone": "+45-65711114",
    "contactType": "customer service"
  }]
}
</script>

consulte la documentación en la guía general de datos estructurados

Richard Rosario
fuente
¿Puede respaldar su respuesta con algunas fuentes o más información? Otras respuestas dicen algo diferente y no puedo encontrar nada en el enlace que proporcionaste.
Sebi