canonical標簽的作用和使用方法
- 威海網站結構優化 威海canonical
- 1387
canonical標簽是頁面html代碼head部分的一個標簽,2009年2月由搜索引擎們推出,主要用于解決網址規范化問題。
什么是網址規范化問題?
網址規范化一直是困擾站長以及搜索引擎的一個問題。據估計,網上有10%-30%的URL是內容相同但URL不一樣的不規范化網址。
這就造成幾個問題。比如:
對站長來說,多個URL存在分散了頁面權重,不利于排名。
對搜索引擎來說,浪費資源,浪費帶寬。
搜索引擎發現多個網址內容相同時,不會懲罰,而會盡可能找出那個應該是規范化的網址。但程序畢竟只是程序,可能出錯,挑出來的可能不是站長想要的那個規范化網址。
網站上網址規范化問題太嚴重的話,也可能影響收錄。一個權重不很高的域名,能收錄的總頁面數字是有限的。搜索引擎把資源花在收錄不規范的網址上,留下給真正不同內容的資源就減少了。
要解決URL規范化問題也有很多選項,比如:
使用301轉向,把不規范化URL全部轉向到規范化URL
確保使用的CMS系統只產生規范化網址
確保網站上所有站內鏈接都指向規范化網址
外部鏈接盡量指向規范化網址
在提交給搜索引擎的sitemap.xml網站地圖中只提交規范化網址
英文網站的話,在Google管理員工具中設置首選域
但這些方法都各有局限。
有的網站因為某種原因做不了301轉向
CMS系統大部分情況下不受自己控制
內部鏈接自己可以控制,但其他人鏈接到自己網站上就不受控制了
總之,雖然有解決方法備選,但網址規范化到目前為止還是個不小的問題。
Canonical標簽的使用方法
2009年2月,Google,雅虎,微軟共同發布了一個新的標簽canonical tag,用于解決網址規范化問題。剛開始推出時百度沒參與。但大約2013年時百度也明確支持canonical標簽。
簡單說,就是在HTML文件的頭部加上這樣一段代碼:
<link rel=”canonical” href=”http://www.example.com/product.php?item=swedish-fish” />
意義就是這個網頁的規范化網址應該是:
http://www.example.com/product.php?item=swedish-fish
下面這些URL都可以加上這段代碼:
http://www.example.com/product.php?item=swedish-fish&category=gummy-candy
http://www.example.com/product.php?item=swedish-fish&trackingid=1234&sessionid=5678
這些URL的真正規范化網址就都成為:
http://www.example.com/product.php?item=swedish-fish
簡單說,這個標簽相當是一個頁面內的301轉向。區別在于用戶并不被轉向,還是停留在不變網址上,而搜索引擎會把它當作是301轉向處理,也就是說把頁面鏈接的權重都集中到代碼中指明的規范化網址上。
Canonical標簽的一個優點是方便,可以直接寫在頁面html代碼中,不用服務器端設置轉向之類。某些情況下,部分站長可能無法設置轉向,但html代碼總是能控制的。
Canonical標簽的作用和細節
另外有幾個細節站長需要注意:
這個標簽只是一種建議或暗示,而不是指令,它不像robots文件那樣是個指令。所以搜索引擎會很大程度上考慮這個代碼,但并不是百分之百,還會考慮其他情況來判斷規范化網址。這也防止站長有可能把網址弄錯。
這段代碼既可以使用絕對地址,也可以使用相對地址。通常還是建議使用絕對地址比較保險。
指定的規范化網址上的內容,與其他使用這段代碼的非規范化網址內容可以有一些不同,不一定完全一樣。比如在電子商務網站上有很多按價錢、顏色,、尺寸升降排序,生成的URL全都不一樣,但內容大體相同,只有細小區別,就可以使用這個標簽。
搜索引擎會把帶有同樣canonical標簽的頁面權重集中到標簽指向的那一個頁面上。
指定的規范化網址可以是不存在頁面,返回404,也可以是還沒有被收錄的頁面。但是不建議這么做,別沒事找事。
這個標簽適用于同一個域名內,包括二級域名。也可以跨域名使用。所以可以在其它網站發布文章時加上。當然,這個在國內基本不現實。
別把這個標簽當救命草,首先還是得把網站結構做好,盡量避免出現URL規范化問題。這只是最后萬不得已的方法。
敏感的人大概能從這個新標準里看到建立大量外部鏈接的機會。
來源:SEO每天一貼 Zac 昝輝