我正在尝试在FAQ页面中实现Schema.org,但是似乎重复了模式中的所有问题和答案。
所以我想知道是否可以在JSON-LD中调用变量或类以从正文中检索问题和答案。
类似于以下代码:
<head>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"url": "https://www.example.com",
"mainEntity": [{
"@type": "Question",
"name": {{question}},
"acceptedAnswer": {
"@type": "Answer",
"text": {{answer}}
}
}]
}
</script>
</head>
<body>
<h3 class="question">This is question number one?</h3>
<p id="answer"> This is the answer to Q1.</p>
<h3 class="question">This is question number 2?</h3>
<p class="answer">This is the answer to Q2.</p>
</body>
答案 0 :(得分:2)
否,JSON-LD不允许这样做。
如果您不想重复您的内容,则可以使用Microdata或RDFa。使用这些语法,可以将属性添加到现有HTML元素(details)。
使用RDFa,它看起来像:
<body typeof="schema:FAQPage">
<link property="schema:url" href="https://www.example.com/" />
<article property="schema:mainEntity" typeof="schema:Question">
<h3 property="schema:name">This is question number one?</h3>
<div property="schema:acceptedAnswer" typeof="schema:Answer">
<p property="schema:text">This is the answer to Q1.</p>
</div>
</article>
</body>
(通过使用RDFa的vocab
属性,例如在html
元素上,您可以省略schema:
前缀;通过使用RDFa的prefix
属性,您可以定义一个不同的,例如较短,前缀)