复制或 link 到网站 JSON-LD?
Duplicate or link to WebSite JSON-LD?
我正在用 JSON-LD 替换我们网站上的微数据(itemscope
等)。我是否需要在每个页面上声明 WebSite
,或者我可以在主页上放置一次吗?
如果是后者,处理器(我的意思是 Google)会通过域名自动将每个页面绑定到它,还是有某种方法可以 link 到它?鉴于 "Linked Data" 就在名称中,我没有找到使用它的示例。他们都将数据直接复制或嵌入 linking.
中
例如,我想 link 到我们在文章中嵌入的 YouTube 视频,但是 Google 不理解 URL video
属性。如果我将其扩展为 VideoObject
,Google 会抱怨我不知道宽度、高度、持续时间等。所有数据都在 youtube.com
上 URL我在指定。为什么不能自己拉取视频信息?
Do I need to declare the WebSite
on every page, or can I place it once on the home page?
从 Schema.org 和关联数据的角度来看,只提供一个项目一次并在需要时通过其 URI 引用它是非常好的(我认为这甚至是最佳实践)。
在JSON-LD中,这个can be done with @id
。例如:
<!-- on the homepage -->
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"@id": "http://example.com/#site",
"hasPart": {
"@type": "WebPage",
"@id": "http://example.com/"
}
}
</script>
<!-- on another page -->
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebPage",
"@id": "http://example.com/foobar",
"isPartOf": {"@id": "http://example.com/#site"}
}
</script>
是否 Google 实际上遵循这些引用尚不清楚(据我所知,它没有记录)¹。很明显,他们的测试工具没有显示引用 URI 的数据,但这并不意味着什么。至少他们的测试工具会显示 URI(如 "ID")以防万一。
如果你想为 video
property, note that URL
is not one of its expected values. While Schema.org still allows this (any property can have a text or URL value), it’s likely that some consumers will handle only expected values. It’s also perfectly fine to provide a VideoObject
值提供 URL 值如果你只提供 url
属性。 Google 的测试工具给出错误的事实并不意味着有问题;这只是意味着 Google 不会将此视频作为与视频相关的富媒体搜索结果。
¹ 但对于 Google 提供的少数丰富结果功能,作者通常不需要引用其他页面的内容,我猜。 URI 的引用通常用于其他语义 Web 和关联数据案例。
我正在用 JSON-LD 替换我们网站上的微数据(itemscope
等)。我是否需要在每个页面上声明 WebSite
,或者我可以在主页上放置一次吗?
如果是后者,处理器(我的意思是 Google)会通过域名自动将每个页面绑定到它,还是有某种方法可以 link 到它?鉴于 "Linked Data" 就在名称中,我没有找到使用它的示例。他们都将数据直接复制或嵌入 linking.
中例如,我想 link 到我们在文章中嵌入的 YouTube 视频,但是 Google 不理解 URL video
属性。如果我将其扩展为 VideoObject
,Google 会抱怨我不知道宽度、高度、持续时间等。所有数据都在 youtube.com
上 URL我在指定。为什么不能自己拉取视频信息?
Do I need to declare the
WebSite
on every page, or can I place it once on the home page?
从 Schema.org 和关联数据的角度来看,只提供一个项目一次并在需要时通过其 URI 引用它是非常好的(我认为这甚至是最佳实践)。
在JSON-LD中,这个can be done with @id
。例如:
<!-- on the homepage -->
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"@id": "http://example.com/#site",
"hasPart": {
"@type": "WebPage",
"@id": "http://example.com/"
}
}
</script>
<!-- on another page -->
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebPage",
"@id": "http://example.com/foobar",
"isPartOf": {"@id": "http://example.com/#site"}
}
</script>
是否 Google 实际上遵循这些引用尚不清楚(据我所知,它没有记录)¹。很明显,他们的测试工具没有显示引用 URI 的数据,但这并不意味着什么。至少他们的测试工具会显示 URI(如 "ID")以防万一。
如果你想为 video
property, note that URL
is not one of its expected values. While Schema.org still allows this (any property can have a text or URL value), it’s likely that some consumers will handle only expected values. It’s also perfectly fine to provide a VideoObject
值提供 URL 值如果你只提供 url
属性。 Google 的测试工具给出错误的事实并不意味着有问题;这只是意味着 Google 不会将此视频作为与视频相关的富媒体搜索结果。
¹ 但对于 Google 提供的少数丰富结果功能,作者通常不需要引用其他页面的内容,我猜。 URI 的引用通常用于其他语义 Web 和关联数据案例。