2013-07-23 43 views
2

我一直在試用Google Schema,我已經看過幾個代碼生成器,它們在設計上有所不同。我正在使用這些示例的信息鏈接:http://schema.org/Book適用於Google Schema的格式?

1)什麼時候使用itemscope itemtype =「someSchemeURL.org」或實際的href? 實施例:

<div itemprop="author" itemscope itemtype="http://schema.org/Person"> 
or 
<div itemprop="bookFormat" href="http://schema.org/bookFormatType"> 

第二個例子是不甚至有效的HTML因爲href屬性不被接受在一個div。

2)對於上面的例子,第一列始終是itemprop,第二列始終是itemscope itemtype?

3)如果沒有指定itemscope itemtype,那麼itemprop是否默認爲父itemscope itemtype? 例子:

<div itemscope itemtype="http://schema.org/Book"> 
    <div class="book" itemprop="name"></div> 
    <div itemprop="author" itemscope itemtype="http://shema.org/Person"> 
     <div class="author" itemprop="name"></div> 
    </div> 
</div> 
The .author class will result in the name attributed to "author" 
The .book class will result in the name attributed to "book" 

那麼這將意味着,儘管多個itemprop的具有相同的名稱,itemprop始終適用於父元素,是否正確?

4)它指定何時使用meta,link,span或div?或者這是留給偏好? 實施例:

<div> 
    <meta itemprop="datePublished" content="2013-07-01"> 
    Some text 
</div> 
<div> 
    Some text 
    <link itemprop="bookFormat" href="http://schema.org/bookFormatType">Ebook 
</div> 

第二個例子是無效的,我知道,但它是從所述碼產生器中的一個的示例。該特定的生成器會生成無效的代碼,因此我不知道如何使用它,但是他們在哪裏得到了使用鏈接標記的想法(儘管不正確)?

回答

4

這些文檔可以回答幾乎所有的問題。也許你已經看過他們,但以防萬一。

因此,爲了回答你的問題出現:

1,第一個是正確的。官方微數據規範告訴我們

微觀數據是最有用的,但是,當它在上下文中,其中 其他作者和讀者都能夠進行合作,以使 標記新用途使用。

爲了這個目的,有必要爲每個項的類型,例如 「http://example.com/person」,或「http://example.org/cat」,或 「http://band.example.net/」。類型被識別爲URL。

項目的類型作爲項目類型屬性 上的itemtype屬性的值給出,該元素與itemscope屬性的元素相同。

<section itemscope itemtype="http://example.org/animals#cat"> 
<h1 itemprop="name">Hedral</h1> 
<p itemprop="desc">Hedral is a male american domestic 
shorthair, with a fluffy black fur with white paws and belly.</p> 
<img itemprop="img" src="hedral.jpeg" alt="" title="Hedral, age 18 months"> 
</section> 

2.No. Itemprop用於表示某個實體的財產。Itemscope - 實體範圍。和itemtype - 實體的類型。這些是具有不同含義的不同標籤,可以單獨使用(至少在理論上)。什麼文檔說:

在高層次,微數據由一組名稱值對組成。 這些組稱爲項目,每個名稱 - 值對都是一個屬性。 項目和屬性由常規元素表示。

要創建項目,使用itemscope屬性。

要向項目添加屬性,itemprop屬性用於 其中一個項目的後代。

和實施例

<div itemscope> 
<p>My name is <span itemprop="name">Elizabeth</span>.</p> 
</div> 

<div itemscope> 
<p>My name is <span itemprop="name">Daniel</span>.</p> 
</div> 

3.Even當的itemscope項目類型itemprop它仍然是父類型的屬性一起被指定。在這種情況下,這個屬性是實體本身。你的例子是正確的:名稱將轉到不同的實體。以下是doc關於處理屬性的說明。

被給出爲以下列表中的第一匹配情況下,在 通過元件添加有 itemprop屬性的名稱 - 值對的特性值:

如果元素還具有的itemscope屬性該值是元素創建的項目 。

如果該元素是元元值是 元素的內容屬性的值,如果有的話,或空字符串,如果有 沒有這樣的屬性。

如果元素是音頻,嵌入,iframe中,IMG,源,軌道,或 視頻元素的值是相對於所述 元件的絕對URL從 解決元件的src的值導致屬性在屬性設置的時候,或者如果 沒有這樣的屬性或者解決它會導致錯誤,則爲空字符串。

如果元素是a,區域,或連結元件的值是從在所述屬性是 集中的時間分辨元素的 href屬性相對於所述元件的值而產生的 絕對URL,或者如果沒有這樣的屬性,或者如果解決了它會導致錯誤的空字符串。

如果元素是一個對象元素值是絕對URL,從分辨元素的數據的值 結果屬性 相對於當時的元素的屬性設置,或者空 字符串,如果沒有這樣的屬性,或者如果解決它會導致錯誤 。

如果元素是一個數據元素的值是 元素的值屬性的值,如果它有一個,或空字符串 否則。

如果元素是時間元素該值是元素的日期時間 值。

否則該值是元素的textContent。

URL屬性元素是鏈接,對象,源,軌道和視頻元素的a,區域,音頻,嵌入,iframe,img, 。

4.向左傾向於偏好。有來自於搜索引擎的一般建議 - 標記消費者

然而,作爲一般規則,你應該標記只 是可見的誰訪問該網頁的人,並在隱蔽 div的或其他不滿足內容隱藏的頁面元素。

當使用隱藏元素時,Schema.org doc可以提供良好的概述。

許多頁面可以僅使用與schema.org定義的類型和性質 沿的itemscope,項目類型,並 itemprop屬性(在部分1中所描述)來描述(在部分2中所述)。但是, 有時物品屬性對於機器難以理解 而沒有額外的歧義消除。本節介紹如何在 標記頁面時提供機器可理解的信息版本。

日期,時間和持續時間:使用時間標記與 日期時間

枚舉和規範引用:使用link標籤與 HREF

缺失/隱含的信息:使用帶有內容的元標記。

查看this link瞭解詳情。

+0

非常有用的信息。我沒有看到微數據鏈接,但我一直在閱讀開始鏈接,並試圖追隨他們的例子,而不是我一直在討論的非官方網站示例。到目前爲止,它看起來像這些發電機正在讓他們的大部分東西都錯了。再次感謝您爲此付出的辛勤工作。 –

+0

高興地幫助:) – ajax