Wo kann Schema.org-Markup mit JSON-LD am besten platziert werden? Einige empfehlen innen, <head>
aber Skripte funktionieren auch inline. In einer MVC wäre es einfacher, sie in den gleichen Bereich wie die Controller zu bringen, was bedeutet, dass sie in der Nähe ihres Elements inline sind. Aber JSON-LD kann als ein riesiges Skript / Stapel in der "besser funktionieren" <head>
. Ich bin mir einfach nicht sicher, welchen idealen Ort ich nehme.
Beispiel wäre Breadcrumbs - sollte ich nur das JSON-LD-Skript vor das Markup für die Crumbs setzen, oder sollte ich mir die Mühe machen, die Modelle (erneut) zu laden, um sie in dem Bereich zu definieren, in dem sie erstellt wurden <head>
? Es scheint, als wäre es ein Performance-Hit, aber wenn es sich für die Spezifikation lohnt, muss es getan werden.
Hier ist ein Beispiel für die Organisation in JSON-LD (dies wäre <head>
bereits geschehen):
<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" : "[email protected]"
},
"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>
Und hier ist das Breadcrumb-Snippet (befindet sich derzeit in einem anderen Bereich weiter unten auf der Seite in der Nähe der visuell gerenderten Krümel). Wäre schön, das in den Kopf zu bekommen, wenn sich die Arbeit lohnt:
<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>
quelle
head
blockiert nicht ein weiterer Code das Rendern der Seite? Ich habe mich gefragt, ob das vorher</body>
besser sein könntescript
Element, aber es sind technisch unterschiedliche Fälle). Browser können jeden Datenblock völlig ignorieren. Aber ich weiß nicht, was Browser tatsächlich tun.