@id и URL для связывания узлов JSON-LD
Я определил издателяOrganization
наWebSite
узел определен на домашней странице, и теперь я хочу дать ссылку на этого издателя из статей на других страницах. Тем не менее, я также хочу ссылку наWebSite
а также, и они, естественно, одни и те же@id
если я последую совету использования URL в качестве@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?
}
}
Я предполагаю, что идентификаторы должны быть уникальными для каждого узла, так что есть ли лучшая практика для уникальных идентификаторов, таких как добавление хеша?
{
"@id": "http://www.example.com/#site",
...
"publisher": {
"@id": "http://www.example.com/#publisher",
}
}
Если это сработает, процессоры (Google) загрузят@id
найти остальные свойства узла?
С этим связаноurl
свойство, найденное во многих типах узлов, считается@id
если отсутствует? Я заканчиваю тем, что продублирую полный URL страницы как@id
а такжеurl
для большинства узлов. Это норма?