web-dev-qa-db-fra.com

Schema.org - JSON-LD - Où placer?

Je cherche à utiliser JSON-LD pour le schéma sur un site Web. (Schema signifie schema.org data.) Je sais comment écrire les données, mais ma question est la suivante: existe-t-il un emplacement préféré dans mon code pour insérer ces données? En d'autres termes, le fichier JSON-LD doit-il toujours figurer dans le fichier head, body, etc.?

84
L84

Du point de vue de Schema.org, JSON-LD et du fichier RDF éventuellement extrait, cela ne devrait pas avoir d'importance. Les données sont les mêmes, peu importe d'où elles ont été extraites dans le document.

Du point de vue de HTML5:

S'il s'agit de données concernant votre page (ou le sujet de cette page), vous pouvez placer l'élément script dans le head, comme l'élément head =

[…] Représente une collection de métadonnées pour le document

Mais bien sûr, il ne serait pas faux d’utiliser plutôt body pour cela. C’est juste que vous ne devriez pas utiliser head pour des données qui ne concernent pas votre page ou ce qu’elle représente.

58
unor

Les données peuvent être placées n'importe où. De documentation de Google :

Les données, incluses dans le <script type="application/ld+json"> ... </script> balises comme indiqué dans les exemples ci-dessous, peuvent être placées dans le <HEAD> ou <BODY> région de la page qui affiche cet événement.

Vous pouvez également utiliser données récupérées dynamiquement à l'aide d'AJAX :

Le balisage JSON-LD inséré par Javascript et s'exécutant lors du chargement initial de la page peut être reconnu.

Update (comme indiqué par Antony dans les commentaires)

Le dernière documentation dit:

[JSON-LD est une] notation JavaScript intégrée à une balise dans la page la tête ou le corps ... Google peut lire les données JSON-LD quand il le faut. injecté dynamiquement dans le contenu de la page, tel que du code JavaScript ou des widgets incorporés dans votre système de gestion de contenu.

78
Dheeraj V.S.

si vous choisissez d'insérer dans le <body>, tu dois le faire comme ça:

<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>

ci-dessous est le code de script pour insérer vos données structurées dans le <head> tag

<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>

vérifier la documentation à directive générale sur les données structurées

0
Richard Rosario