我异步部署了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);但是,在检查URL时,Google's testing tool不能识别任何JSON-LD。它是否仍然会被索引,或者Google (和其他机器人)对异步加载的JSON-LD视而不见?
发布于 2019-08-12 23:03:58
测试工具不评估任何Javascript。相反,您必须将JSON-LD硬编码到HTML中。下面是一个示例代码片段,该工具可以很好地解析它:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="application/ld+json">
{
"@type": "person",
"@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"
}
</script>
</body>
</html>
发布于 2019-08-13 06:31:09
结构化数据测试工具的渲染能力有限,看起来无法处理您的示例。
Googlebot渲染使用的是Chrome的常青版。也就是说,它的渲染效果非常好。
一种测试方法是在Chrome中查看页面,并将其呈现的HTML复制到结构化数据测试工具中。然后,您可能会看到您的数据。
请注意,大多数机器人此时不会渲染。因此,以这种方式生成SD会限制可以看到您的数据的系统数量。
https://stackoverflow.com/questions/57461993
复制相似问题