[英]Right way to set microdata for Q&A HTML
假設有一個簡單的問題並回答HTML並想添加微數據,應該如何進行?
<h2>My Question</h2>
<p>My Answer</p>
我知道schema.org的例子,但我不太清楚。 看起來有點矯枉過正。 我需要一個簡單的解決方案 我可以這樣做嗎?
<h2 itemscope itemtype="http://schema.org/Question">My Question</h2>
<p itemscope itemtype="http://schema.org/Answer">My Answer</p>
我只想說出問題是什么,答案是什么。 這對搜索引擎來說足夠了嗎? 或者我應該有更復雜的東西,如:
<div itemscope itemtype="http://schema.org/Question">
<h2 itemprop="name">My Question</h2>
<p itemscope itemtype="http://schema.org/Answer">My Answer</p>
</div>
使用itemprop="name"
正確的方法來說明問題是什么? 在上面提到的schema.org示例中, itemprop="name"
和itemprop="text"
之間有什么區別?
從您的第一個示例開始,Microdata解析器只會知道有一個Question
和一個Answer
項目,沒有任何進一步的內容。 微數據沒有指定必須考慮具有itemscope
屬性的HTML元素的內容,它只關心屬性值 。
使用一些在線Microdata解析器測試您的示例:
W3C的微型數據到RDF Distiller提取這個RDF(在Turtle中):
<> md:item ( [ a schema:Question ] [ a schema:Answer ] ); rdfa:usesVocabulary schema: .
結構化數據鎖定器具有幾乎相同的輸出。
Yandex的結構化數據驗證器具有類似的輸出。
谷歌的結構化數據測試工具不提取任何東西。
name
與text
對於這個問題, name
將是“為Q&A HTML設置微數據的正確方法”, text
將是問題正文(“Say one有一個簡單的問題......”)。
如果整個問題只包含這樣一條短線,我會使用text
屬性而不是name
(*)。 如果你想要/需要, name
也可以是“問題1”。
但是你也可以將這兩個屬性用於一個簡短的問題,即itemprop="name text"
,但這可能不是很優雅(但是如果你知道某些數據使用者使用了name
屬性,它就會有意義)。
* Answer
的示例也使用text
(並且沒有name
)。
您可能還想使用Question的suggestedAnswer
屬性和/或Answer的parentItem
屬性來關聯這兩個項目。
所以對於一個簡短的問題,它可能看起來像:
<section itemscope itemtype="http://schema.org/Question">
<h2 itemprop="name text">My Question</h2>
<div itemprop="suggestedAnswer" itemscope itemtype="http://schema.org/Answer">
<p itemprop="text">My Answer</p>
</div>
</section>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.