人可以通過查看網站信息了解網站的內容,但是搜索引擎只對標簽感興趣,對內容的識別能力是很低的,如何讓蜘蛛通過標簽認識你的文章內容呢~
原文網址:http://schema.org/docs/gs.html
本文地址:http://www.cnblogs.com/hustskyking/p/let-your-page-understood-by-search-engine.html
譯者:Barret Lee
日期:2013-11-01
許多站長應該對HTML標簽十分熟悉,HTML標簽告訴瀏覽器如何去呈現標簽的內容,比如<h1>阿凡達</h1>
,告訴瀏覽器用大標題的形式顯示“阿凡達”。但是,HTML標簽本身並沒有給出任何信息標識其中的內容,因此搜索引擎也無法智能地將相關的信息呈現給用戶。
Schema.org提供了一些相關的詞匯,開發者可以用這些詞匯嵌入到HTML內容中來強化內容,以便更容易被Google、Microsoft、Yandex以及Yahoo等搜索引擎識別。
一、如何使用元數據(microdata)來表示內容
1.為什么使用元數據
人去閱讀文章可以馬上理解網頁的相關內容,但是機器理解能力是十分有限的,給你的網頁HTML添加一些額外的標簽,讓這些標簽去告訴搜索引擎,“嘿,我描述的是一部電影,一個景點,一位名人或者一首音樂”,這樣你就能讓搜索引擎理解文章內容,並且讓他在搜索結果中可以顯示更多相關的內容。元數據是HTML5中的一些標簽,他可以讓你實現上述功能。
2.itemscope和itemtype
先舉個簡單的例子,比如你要顯示“阿凡達”這部電影,包括這部電影的導演、類型,介紹,你的HTML代碼可能會寫成這樣:
<div> <h1>阿凡達</h1> <span>導演: James Cameron (生於16-08-1954)</span> <span>科幻電影</span> <a href="/path/to/obj.html">Trailer</a> </div>
剛開始我們來表示這一塊是一個關於電影阿凡達的章節,我們需要給HTML添加itemscope屬性
<div itemscope> <h1>阿凡達</h1> <span>導演: James Cameron (生於16-08-1954)</span> <span>科幻電影</span> <a href="/path/to/obj.html">Trailer</a> </div>
通過添加itemscope屬性,搜索引擎就知道了這個div塊表示的是一個特定的內容。為了讓這個內容更加具體,我們可以繼續添加一個itemtype屬性
<div itemscope itemtype="http://schema.org/Movie"> <h1>阿凡達</h1> <span>導演: James Cameron (生於16-08-1954)</span> <span>科幻電影</span> <a href="/path/to/obj.html">Trailer</a> </div>
這樣蜘蛛就知道了這塊的內容是介紹一部電影了。
3.itemprop
我們還能為搜索引擎提供什么其他的信息?電影有一些屬性,如主演,導演,評分等。為了表示這些屬性,我們可以使用itemprop:
<div itemscope itemtype ="http://schema.org/Movie"> <h1 itemprop="name">阿凡達</h1> <span>導演: <span itemprop="director">James Cameron</span> (生於16-08-1954)</span> <span itemprop="genre">科幻電影</span> <a href="/path/to/obj.html" itemprop="trailer">Trailer</a> </div>
4.內嵌一個itemscope
有時候作為一個itemprop的屬性也可以單獨出來成為itemscope,比如導演,他是屬於Person,Person也有很多諸如名字,生日等屬性。
<div itemscope itemtype ="http://schema.org/Movie"> <h1 itemprop="name">阿凡達</h1> <div itemprop="director" itemscope itemtype="http://schema.org/Person"> 導演: <span itemprop="name">James Cameron</span> (生於 <span itemprop="birthDate">16-08-1954</span> </div> <span itemprop="genre">科幻電影</span> <a href="/path/to/obj.html" itemprop="trailer">Trailer</a> </div>
二、使用 schema.org 提供的屬性
1.schema.org 提供的類型和屬性
並不是所有的網頁都是關於電影和人物介紹的,除了上面我們說到的Movies和Person之外,schema.org還提供了一系列的類型,以及這些類型對應的屬性。
用的最多的是Thing這個類型,他有四個屬性,name、description、url、image。這個類型對很多內容都實用。下面是一些常用的類型和屬性:
- Creative works: CreativeWork, Book, Movie, MusicRecording, Recipe, TVSeries ...
- Embedded non-text objects: AudioObject, ImageObject, VideoObject
- Event
- Organization
- Person
- Place, LocalBusiness, Restaurant ...
- Product, Offer, AggregateOffer
- Review, AggregateRating
這里有一個對類型的列表,戳我。//
2.期望的類型,文字和URL地址
使用schema.org來標記你的網頁時,有幾點要注意:
- 除了隱藏的文字,標記越多越好, 一般來說,給你的文章做越多這樣的標記,搜索引擎就越對你的文字有親和力。但是一定要注意,只標記那些人們看得見的文字,不要標記那些隱藏的文字。
- 使用類型標注而不是文字,很多地方我們可以使用itemscope去標注他的內容,盡量少讓那些干巴巴的文字放置在哪里。
- 使用URL屬性,比如我的博客首頁有很多文章列表,對列表中的每一篇文章都應用URL的itemscope標記,這樣效果會比較好
3.測試你的標記
Google提供了許多相關的測試工具來測試這些schema標記語法,比如這個:google webmasters,你可以用這些工具來檢測格式是不是正確。
三、進階話題:機器可理解的版本信息
許多頁面可以用itemscope,itemtype以及itemprop來定義,但是有的時候,如果不加另外的注釋,搜索引擎是很難理解某些屬性的:
- 日期, 時間等: 使用時間標簽 datetime
- 枚舉以及引用等: 使用鏈接標簽 href
- 缺失以及隱含的信息: 使用meta標簽 content.
1.時間,日期
<time datetime="2011-04-01">04/01/11</time> <time datetime="2011-05-08T19:30">May 8, 7:30pm</time> <time itemprop="cookTime" datetime="PT1H30M">1 1/2 hrs</time>
關於這些時間日期格式化的規范,請參看:ISO 8601 date/time standard。
2.枚舉以及引用等
3.缺失以及隱含的信息
因后面幾個用的比較少,如果要做具體了解,請移步原網頁。
小插曲:呵呵,剛文章被博客園團隊移除了首頁,本文同步自從我的github博客,歡迎踩點啦~~