I have defined the publisher Organization
on the WebSite
node defined on the home page, and I now want to link to that publisher from articles on other pages. However, I also want to link to the WebSite
as well, and they naturally share the same @id
if I follow the advice of using the URL as the @id
.
{
"@context": "http://schema.org",
"@type": "WebSite",
"@id": "http://www.example.com/",
"url": "http://www.example.com/",
...
"publisher": {
"@type": "Organization",
"@id": "http://www.example.com/", <-- duplicated
"url": "http://www.example.com/"
}
}
{
"@context": "http://schema.org",
"@type": "WebPage",
"@id": "http://www.example.com/news",
"url": "http://www.example.com/news",
"isPartOf": {
"@id": "http://www.example.com/" <-- site or publisher?
}
...
"publisher": {
"@id": "http://www.example.com/" <-- site or publisher?
}
}
I assume IDs must be unique to each node, so is there a best practice for uniquifying IDs such as adding a hash?
{
"@id": "http://www.example.com/#site",
...
"publisher": {
"@id": "http://www.example.com/#publisher",
}
}
If that works, will processors (Google) load the @id
to find the rest of the node's properties?
Related to this, is the url
property found in many node types assumed to be the @id
if missing? I'm ending up duplicating the full URL of the page as the @id
and url
for most nodes. Is that the norm?