JSON-LD需要嵌入吗?

29

我们目前正在使用Microdata格式向搜索引擎公开数据,并希望公开更多信息以支持一些高级的Google搜索功能。在处理字段时,我发现我需要一些当前异步加载而不是初始响应的信息。

JSON-LD似乎是Google首选的格式,但我看到的所有示例都嵌入在页面中。你能提供一个JS文件链接,这样它可以作为单独的调用进行加载吗?类似这样

<script type="application/ld+json" src="/myid123/jsonld.js"></script>

可能是如何将json-ld外部化并包含在html文档中的重复问题。 - wortwart
1个回答

13
如果您使用script元素作为数据块,则“src属性不能指定”。如果script元素不用作数据块,则必须“用于包含动态脚本”。但是JSON-LD文档不是动态脚本。要链接到另一个资源,就像使用外部样式表或Favicon一样,可以在(或相应的HTTP标头)中使用元素:
<link href="/myid123/jsonld.js" rel="alternate" type="application/ld+json" />

原则上,消费者可以按照此参考(可能仅在指定某种链接类型的情况下),并像使用嵌入式JSON-LD、Microdata或RDFa一样利用数据。

然而,消费者当然不必这样做,许多人可能不会。
特别是Google搜索并不声称支持以JSON-LD格式消费Schema.org。但是,他们声称支持“动态注入”JSON-LD数据块


1
抱歉,是复制粘贴错误,我指的是链接。但如果谷歌支持通过JS动态加载,则这也可以起作用。谷歌需要某种指示来期望动态加载JSON-LD吗? - Ryan B
2
这是什么意思?Google是否会爬取我通过<link href="/myid123/jsonld.js" type="application/ld+json"/>引用的json-ld?还是我需要将其嵌入到<script>标签内联呈现? - nimo23
1
根据他们的文档,他们只支持在script中使用JSON-LD,而不支持通过link - unor
10
很遗憾,谷歌目前还不支持外部JSON-LD文档,因为我们需要将页面放大,只是为了帮助搜索引擎;当用户查看页面时,他们并不关心页面中是否隐藏了一些内容。 - Constantin Galbenu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接