Im pretty new to JSON-LD and am currently struggling making the Google Rich Results Test happy with my custom JSON-LD data.
Every time I use a @context
other than https://schema.org/
it shows me the error Incorrect value type "@context"
.
This even happens with this simple example based on a json-ld.org context:
<script type="application/ld+json">
{
"@context": "https://json-ld.org/contexts/person.jsonld",
"@type": "Person",
"name": "Foo"
}
</script>
After some trail and error I found out that with the following code the json-ld.org/playground shows me the same result if I use @vocab
<script type="application/ld+json">
{
"@context": {"@vocab": "http://xmlns.com/foaf/0.1/"},
"@type": "Person",
"name": "Foo"
}
</script>
And although Google is happy with this code I’m very uncertain if this can or should be the right solution to fix this kind of “Structured data parsing error”?
What is the correct way (that is accepted by Google) to write non-schema.org JSON-LD data?
Rich results are experiences on Google surfaces, such as Search, that go beyond the standard blue link. Rich results can include carousels, images, or other non-textual elements. What is this test? Test your publicly accessible page to see which rich results can be generated by the structured data it contains.
According to Dan Brickley (Google employee with responsibility for Schema.org) these issues will be addressed or documented for the new validator:
Thanks - noted and acknowledged. The tool is not opensource (it is a view provided by Google's structured data validation infrastructure). I will make sure these issues are addressed or documented before we link the new validator more prominently from Schema.org.
https://github.com/schemaorg/schemaorg/issues/2921#issuecomment-879817283
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With