gpt4 book ai didi

seo - 无论如何要使用未内联的 JSON-LD Schema

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:27:28 25 4
gpt4 key购买 nike

是否可以使用 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 完全是菜鸟,并一直以电子邮件文档(这将用于网站)或旧文档结尾。

最佳答案

没错,它不能在外部创建,也不支持内联,但您仍然可以通过 JavaScript 文件将其注入(inject) DOM 来实现您想要的效果。

注意:为了整洁起见,我使用了数组,因此我可以分割所有结构化数据元素并添加无限量的元素。我的网站上有此代码的更复杂版本,实际上有一个外部服务器端渲染文件伪装成 JavaScript 文件。

是的,Google 搜索机器人确实理解它。它可能需要几天时间才能注册,并且使用网站管理员工具强制重新抓取似乎不会强制刷新 JSON-LD 数据 - 似乎您只需要等待。

var structuredData = {
schema: {
corporation: {
'@context': 'http://schema.org',
'@type': 'Corporation',
'name': 'Acme',
'url': 'https://acme.com',
'contactPoint':
{
'@type': 'ContactPoint',
'telephone': '+1-1234-567-890',
'contactType': 'customer service',
'areaServed': 'US'
}
},
service: {
'@context': 'http://schema.org/',
'@type': 'Service',
'name': 'Code optimization',
'serviceOutput' : 'Externalized json',
'description': 'Inline json to externalized json'
},
},
init: function () {
var g = [];
var sd = structuredData;
g.push(sd.schema.corporation);
g.push(sd.schema.service);
//etc.

var o = document.createElement('script');
o.type = 'application/ld+json';
o.innerHTML = JSON.stringify(g);
var d = document; (d.head || d.body).appendChild(o);
}
}
structuredData.init();

关于seo - 无论如何要使用未内联的 JSON-LD Schema,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35353103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com