JSON-LD 和 HTML 描述同一位表演者
describing the same performer by JSON-LD and HTML
正如 google 在 Introduction to Structured Data 中所说:
Markup should not be used to hide content not visible to users in any form, since it might create a misleading or deceptive search experience. For example, if the JSON-LD markup describes a performer, the HTML body should describe that same performer.
我想知道是否有一种特定的方法可以在 JSON-LD 和 HTML 代码中添加相同的数据,或者我可以使用任何我喜欢的方式来表示我的 html 代码(与 JSON-LD 中的内容相同)? ,例如:
<!-- script -->
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Question",
"text": "What is attr_accessor in Ruby?",
"text": "I am having difficulty understanding Ruby attr_accessors, can someone explain them?",
"acceptedAnswer": {
"@type": "Answer",
"text": "the answer for this qustion is bla bla bla bla",
"dateCreated": "2010-12-01T22:01Z",
"author": {
"@type": "Person",
"name": "someuser"
}
}
}
</script>
<!-- html -->
<div>
<h1>What is attr_accessor in Ruby?</h1>
<p class="question">I am having difficulty understanding Ruby attr_accessors, can someone explain them?</p>
<p class="answer">the answer for this qustion is bla bla bla bla</p>
</div>
这可以通过 jQuery/Javascript 完成,但如果您不熟悉这些,这可能是使用 Google 跟踪代码管理器动态生成结构化数据的一个很好的用例。
使用GTM的基本流程:
您在 Google 标签管理器中创建一个 "Custom HTML" 标签,其中包含您的整个 JSON 脚本。
根据您的需要,您可以将 GTM 的内置变量用于页面上的 select 特定 HTML 元素。您可能需要创建一个 "user-defined variable",它基本上包含 Javascript 到 select 特定 HTML 元素的内容。
在您的 JSON 脚本中 - 您想要动态的键将指向您定义的 GTM 变量。
您可以通过添加 GTM 'Trigger' 指定要将脚本添加到哪些页面。
在页面加载时,GTM 将根据该特定页面的内容动态填充您的 JSON-LD 脚本。
这是非常可扩展的,特别是当您尝试将结构化数据添加到博客文章或产品页面时,它们都使用相同的模板,因此具有相同的基本 HTML 结构。
有几个教程可以引导您完成此操作,我不会 link 到这里,但可以通过谷歌搜索 "dynamically generated structured data google tag manager" 轻松找到它们。
正如 google 在 Introduction to Structured Data 中所说:
Markup should not be used to hide content not visible to users in any form, since it might create a misleading or deceptive search experience. For example, if the JSON-LD markup describes a performer, the HTML body should describe that same performer.
我想知道是否有一种特定的方法可以在 JSON-LD 和 HTML 代码中添加相同的数据,或者我可以使用任何我喜欢的方式来表示我的 html 代码(与 JSON-LD 中的内容相同)? ,例如:
<!-- script -->
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Question",
"text": "What is attr_accessor in Ruby?",
"text": "I am having difficulty understanding Ruby attr_accessors, can someone explain them?",
"acceptedAnswer": {
"@type": "Answer",
"text": "the answer for this qustion is bla bla bla bla",
"dateCreated": "2010-12-01T22:01Z",
"author": {
"@type": "Person",
"name": "someuser"
}
}
}
</script>
<!-- html -->
<div>
<h1>What is attr_accessor in Ruby?</h1>
<p class="question">I am having difficulty understanding Ruby attr_accessors, can someone explain them?</p>
<p class="answer">the answer for this qustion is bla bla bla bla</p>
</div>
这可以通过 jQuery/Javascript 完成,但如果您不熟悉这些,这可能是使用 Google 跟踪代码管理器动态生成结构化数据的一个很好的用例。
使用GTM的基本流程:
您在 Google 标签管理器中创建一个 "Custom HTML" 标签,其中包含您的整个 JSON 脚本。
根据您的需要,您可以将 GTM 的内置变量用于页面上的 select 特定 HTML 元素。您可能需要创建一个 "user-defined variable",它基本上包含 Javascript 到 select 特定 HTML 元素的内容。
在您的 JSON 脚本中 - 您想要动态的键将指向您定义的 GTM 变量。
您可以通过添加 GTM 'Trigger' 指定要将脚本添加到哪些页面。
在页面加载时,GTM 将根据该特定页面的内容动态填充您的 JSON-LD 脚本。
这是非常可扩展的,特别是当您尝试将结构化数据添加到博客文章或产品页面时,它们都使用相同的模板,因此具有相同的基本 HTML 结构。
有几个教程可以引导您完成此操作,我不会 link 到这里,但可以通过谷歌搜索 "dynamically generated structured data google tag manager" 轻松找到它们。