无论如何使用JSON-LD而不在HTML中包含script
内联,但仍然可以让Google(及其他)蜘蛛找到它吗?环顾四周,我发现了一些相互矛盾的信息。
如果这是JSON-LD文件:
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "WebSite",
"name" : "Example Site",
"alternateName" : "example",
"description" : "Welcome to this WebSite",
"headline" : "Welcome to Website",
"logo" : "https://example.com/public/images/logo.png",
"url" : "https://example.com/"
}
</script>
我在HTML的head
中有这个:
<script src="/public/json-ld.json" type="application/ld+json"></script>
编辑:我也尝试过:
<link href="/public/json-ld.json" rel="alternate" type="application/ld+" />
Google Spiders似乎很想念它,测试工具也是如此,除非我直接指向该文件。我试图在CSP中解决不安全内联问题。而only thing I can find is this可以在Chrome中使用但不想在其他所有浏览器上触发控制台错误。另外,我只是喜欢从页面结构中抽象出Schema.org数据的想法。是否会将JSON-LD添加到Google网站站长工具的站点地图帮助?
道歉,JSON-lD的总菜鸟,并且最终会留在电子邮件文档中(这可能是针对网站的)或旧文档。
答案 0 :(得分:1)
没错,它不能在外部进行,也不支持内联,但你仍然可以通过JavaScript文件将它注入DOM中来实现你想要的。
注意:我使用数组进行整洁,因此我可以对所有结构化数据元素进行细分,并添加无限量的数据元素。我在我的网站上有一个更复杂的代码版本,实际上有一个外部服务器端渲染文件伪装成一个JavaScript文件。
是的谷歌搜索机器人确实理解它。可能需要几天时间才能注册并使用网站管理员工具强制重新抓取并不会强制刷新JSON-LD数据 - 看起来你只需要等待。
ILIKE