【问题标题】:Does JSON-LD have to be embedded?是否必须嵌入 JSON-LD?
【发布时间】:2015-09-01 02:19:25
【问题描述】:

我们目前正在使用微数据格式向搜索引擎公开数据,并且我们正在考虑公开更多信息以支持一些更高级的 Google 搜索功能。当我在字段中工作时,我发现我需要我们当前异步加载的信息,因此它不是初始响应的一部分。

JSON-LD 看起来像是 Google 喜欢的,但我看到的所有示例都将它嵌入到页面中。你能有一个 JS 文件的链接,以便它作为单独的调用加载吗?类似的东西

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

【问题讨论】:

标签: html google-search json-ld


【解决方案1】:

如果您使用script element 作为数据块,“不得指定src 属性”。

如果script 元素用作数据块,则它必须“用于包含动态脚本”。但是 JSON-LD 文档不是动态脚本。

要链接到另一个资源,就像使用外部样式表或网站图标一样,您可以使用head 中的link 元素(或相应的HTTP 标头):

<link href="/myid123/jsonld.js" rel="alternate" type="application/ld+json" />

原则上,消费者可以遵循此引用(可能仅在指定了某个 link type 时),并使用数据,就像他们使用嵌入式 JSON-LD、Microdata 或 RDFa 一样。

但是,消费者当然没有必须这样做,而且许多人可能不会这样做。
谷歌搜索尤其不声称支持它以 JSON-LD 格式消费 Schema.org。但是,他们声称support "dynamically injected" JSON-LD data blocks

【讨论】:

  • 抱歉复制和粘贴错误,链接就是我的意思。但如果谷歌支持通过 JS 动态加载,那么这也可以。谷歌是否需要某种指示来期望动态加载 JSON-LD?
  • 这是什么意思? Google 会抓取 引用的我的 json-ld 吗?还是我需要将它嵌入到我的
  • @nimo23:根据他们的文档,他们只支持 script 中的 JSON-LD,而不支持 link
  • 好的,谢谢。所以根据stackoverflow.com/questions/26892397/…,我必须使用脚本标签并将其内联。不幸的是,即使“@context”也不能与谷歌搜索一起使用。
  • 很遗憾google还不支持外部JSON-LD文档,因为我们需要把页面做大只是为了帮助搜索引擎;用户不关心页面中隐藏的东西,因为他/她在掠夺它。
猜你喜欢
  • 1970-01-01
  • 2017-07-22
  • 1970-01-01
  • 1970-01-01
  • 2018-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多