Où est le meilleur endroit pour placer le balisage Schema.org qui utilise JSON-LD? Certains recommandent à l'intérieur <head>
mais les scripts fonctionnent également en ligne. Il serait plus facile dans un MVC de les mettre dans la même portée que les contrôleurs, ce qui signifie en ligne près de leur élément. Mais JSON-LD peut "mieux fonctionner" comme un énorme script / pile dans le <head>
. Je ne suis tout simplement pas sûr de l'emplacement idéal, je suppose.
Un exemple serait le fil d'Ariane - devrais-je simplement mettre le script JSON-LD avant le balisage pour les miettes, ou devrais-je passer par tous les problèmes de chargement des modèles (à nouveau) pour les définir dans la zone créant le <head>
? On dirait que ce serait un impact sur les performances, mais si cela en vaut la peine pour la spécification, alors cela doit être fait.
Voici un exemple d'organisation en JSON-LD (ce serait <head>
déjà le cas):
<script type="application/ld+json"> {
"@context" : "http://schema.org",
"@type" : "Organization",
"name" : "A Huge Corporation",
"url" : "http://www.example.com",
"logo" : "http://www.example.com/huge-corporation.png",
"founder" : "Humanz",
"foundingDate" : "1268",
"sameAs" : "http://plus.google.com/111111111111111111111",
"contactPoint" : {
"@type" : "ContactPoint",
"contactType" : "Customer Service",
"telephone" : "+1-888-888-8888",
"faxNumber" : "+1-777-777-7777",
"contactOption" : "TollFree",
"areaServed" : "US",
"availableLanguage" : "English",
"email" : "dude@example.com"
},
"hasPos" : {
"@type" : "Place",
"name" : "The Branch or Store",
"photo" : "http://www.example.com/store.png",
"hasMap" : {
"@type" : "Map",
"url" : "https://maps.google.com/maps?q=feed_me_a_map"
},
"address" : {
"@type" : "PostalAddress",
"name" : "The Branch or Store",
"streetAddress" : "1547 Main Street",
"addressLocality" : "Beverly Hills",
"addressRegion" : "CA",
"postalCode" : "90210",
"addressCountry" : "United States"
}
}}
</script>
Et voici l'extrait de fil d'Ariane (réside actuellement dans une autre portée, plus bas sur la page près des miettes visuellement rendues). Ce serait bien de comprendre cela, si le travail en vaut la peine:
<script type="application/ld+json"> {
"@context" : "http://schema.org",
"@type" : "Breadcrumblist",
"itemListElement" : [
{
"@type" : "ListItem",
"position" : 1,
"item" : {
"@id" : "http:www.example.com",
"name" : "Home"
}
},
{
"@type" : "ListItem",
"position" : 2,
"item" : {
"@id" : "http:www.example.com/widgets",
"name" : "Widgets"
}
},
{
"@type" : "ListItem",
"position" : 3,
"item" : {
"@id" : "http:www.example.com/widgets/green",
"name" : "Green Widgets"
}
}
]}
</script>