Ich habe Schemas in JSON-LD gemäß Schema.org. Wenn es inline war (innerhalb von <script>
Tags), hat das Google-Tool zum Testen strukturierter Daten das Schema erfolgreich erkannt.
Wenn ich es extern verlinke, zum Beispiel: <script src="json/main-schema.json" type="application/ld+json"></script>
Das Tool zum Testen strukturierter Daten erkennt es nicht.
Sollte ich mir darüber Sorgen machen?
Wie ich das Arbeitsschema hatte (Beispiel von Schema.org):
<script type="application/ld+json">
{ "@context" : "http://schema.org",
"@type" : "Organization",
"url" : "http://www.your-company-site.com",
"contactPoint" : [
{ "@type" : "ContactPoint",
"telephone" : "+1-401-555-1212",
"contactType" : "customer service"
} ] }
</script>
Externes Schema angelegt in main-schema.json
, verknüpft mit <script src="json/main-schema.json" type="application/ld+json"></script>
:
{ "@context" : "http://schema.org",
"@type" : "Organization",
"url" : "http://www.your-company-site.com",
"contactPoint" : [
{ "@type" : "ContactPoint",
"telephone" : "+1-401-555-1212",
"contactType" : "customer service"
} ] }
schema.org
google-rich-snippets-tool
json-ld
script
marcellothearcane
quelle
quelle
<?php include 'json.php';?>
. nur ein Vorschlag Geist.<link>
nicht verwenden,<script>
dasrc=""
nicht gültig ist. Aber Google unterstützt nur Skripte. Es sieht also so aus, als müsste es inline sein.Antworten:
Das
script
Element kann für zwei Dinge verwendet werden:Und für Daten definiert die Spezifikation:
Sie können das
src
Attribut daher nur für Skripte verwenden, nicht für Daten.→ Da es sich bei JSON-LD um Daten handelt, müssen Sie diese einbinden.
Während das Verknüpfen einer JSON-LD-Datei mit dem
link
Element möglich ist, scheinen die Sponsoring-Suchmaschinen von Schema.org dies nicht zu unterstützen.quelle
Laut Dokumentation :
Dies deutet darauf hin, dass Sie zwar keine externen json-ld-Daten verknüpfen können, diese jedoch dynamisch laden und in das DOM einfügen können. Dies ist möglicherweise gut genug für Ihren Anwendungsfall, da Sie statisches JavaScript auf Ihre Seite laden können, das dann JSON-LD in das DOM einfügt.
quelle
Dies kann helfen oder auch nicht , aber sehen Sie sich an, wie Trevor Fox es getan hat :
Dies kann Ihre beste Option sein. Für diese Lösung verwendete er jQuery Version 3.1.1 .
quelle
Die Antwort von unor fasst es zusammen, aber ich möchte auch hinzufügen:
Aus der Spezifikation:
Mit anderen Worten, wenn Sie
<script>
eintype
Attribut haben, das auf etwas anderes alstext/javascript
(oder einen äquivalenten JavaScript-MIME-Typ ) festgelegt ist, haben alle Attribute, einschließlichsrc
, keine Auswirkung.quelle