首页 > 解决方案 > JSON-LD 可以异步部署吗?

问题描述

我将 JSON-LD 异步部署到脚本标签中:

var jsonLD = document.createElement('script');
jsonLD.type = 'application/ld+json';
jsonLD.innerHTML = JSON.stringify({
  "@context": "https://json-ld.org/contexts/person.jsonld",
  "@id": "http://dbpedia.org/resource/John_Lennon",
  "name": "John Lennon",
  "born": "1940-10-09",
  "spouse": "http://dbpedia.org/resource/Cynthia_Lennon"
});
document.head.appendChild(jsonLD);

但是, Google 的测试工具在检查 URL 时无法识别任何 JSON-LD。它还会被索引还是谷歌(和其他机器人)对异步加载的 JSON-LD 视而不见?

标签: javascriptjson-ldgoogle-rich-snippets

解决方案


结构化数据测试工具的渲染能力有限,看起来无法处理您的示例。

Googlebot 使用常青版本的 Chrome 进行渲染。即它渲染得很好。

一种测试方法是在 Chrome 中查看页面并将其呈现的 HTML 复制到结构化数据测试工具中。然后您可能会看到您的数据。

请注意,大多数机器人此时不会渲染。因此,以这种方式生成 SD 将限制可以查看数据的系统数量。


推荐阅读