canonical標簽就是告訴搜索引擎哪個頁面是權威頁面。以我的理解,Canonical標簽大致的作用如下。
第一,使用Canonical標簽使網址規范化。
第二,避免內容重復頁面,搜索引擎收錄更准確。
第三,集中傳遞頁面權重。
canonical鏈接標簽只能作用於同一個域名所在的網址,不能作用於不同域名上的重復內容。如果是跨站,可以使用301重定向。
網址不規范,會降低頁面權重,是因為搜索引擎會認為頁面內容有重復。做法是將這些不規范的網址,指向同一個頁面。
比如本文的源代碼里面:<link rel=’canonical’ href=’http://huxiaoyi.com/search-engine/20120626.html’ />,就有使用這種標簽,我曾經說過:“WordPress分頁標題如何顯示不同標題”,其實就是為了解決分頁重復標題的問題,可現在在諸如wordpress這類的網站程序使用的時候,經常會產生重復頁面,雖然可以用robots.txt,可是你懂的,百度很傻,反應不快。我們使用這個標簽就能夠有效的讓搜索引擎知道哪個是標准,哪個是重復頁面,不要抓。
其標准用法是:<link rel=’canonical’ href=’http://example.com/’ />
在這里應該使用絕對地址而不是相對地址,因為網站空間如果綁定多個域名的時候,輸出的url依然是相對的,那這個代碼就形如虛設了。使用canonical目的就是為規范鏈接,所以采用絕對地址是最妥當的,但是要注意的是:不能跨域名指向,也就是不能指向不同的域名,這點要謹記。谷歌也推薦使用絕對地址,詳見:地址
在什么條件下使用link rel=”canonical”標簽呢
一:網站因其他原因無法做301重定向
如果空間不支持或其他原因,網站不能做301重定向了,那就可以使用這個標簽告訴搜索引擎哪個域名是重要的。
二:網站site值差距很大的時候
比如:site:example.com和site:www.example.com這兩個站收錄差距很大,但你主推其中一個域名的時候。就可以使用這個標簽。
三:重復文章頁
這里得數落數落wodpress,wordpress由於默認不是生成靜態頁面,每讀取一個頁面都得查詢mysql數據庫,而寫文章的時候往往會生成兩個相同的頁面,可以用robots.txt屏蔽。但是還采用這個標簽會更保險。
附錄:認識canonical標簽
用好canonical標簽,下面幾點也是需要認識的。
第一,該鏈接標簽可用於定義相對地址,也可用於定義絕對地址。但為了保險起見,建議使用絕對地址。
第二,如果使用了canonical鏈接標簽的頁面在整個網站中並無重復內容的頁面,也無需擔心,該標簽暫時會被搜索引擎“束之高閣”。
第三,該鏈接具有可傳遞性。假如你在網址A中將網址B指定為首選地址,而在網址B中又將網址C指定為首選地址,那么搜索引擎會認為網址C才是A和B的首選頁面。這種情況有時候在網址重定向中會發生。
第四,一個網頁鏈向了有canonical標簽的頁面,會被當作像301轉向到這一頁的canonical頁。
第五,一個頁面可以用rel=canonical指向自己,一個網站的所有頁面可以都有rel=canonical。在使用rel=canonical完全不用擔心,只用在使用時指對了頁面。
當然canonical不是萬能的 ,對於大型重復頁面出現的商城,例如淘寶,京東這些,要解決完美的url規范都不是那么容易的。