分享HTML中canonical屬性的妙用

分享到:
發布于:2013-8-28 10:11:58
網站改版,因爲是靜態頁面,爲了不影響流量,老頁面沒敢刪除。但是百度很長時間還是收錄老頁面,新頁面收錄量上不來。無意間發現了這個標簽屬性 canonical,雖然他不是301重定向,但是卻又異曲同工之妙,他可以指定規範網頁,告訴搜索引擎哪個頁面才是我想被收錄的。
canonical這個屬性(也許有人會稱它爲canonical標簽)的意思說什麽?Google、雅虎等都支持這一屬性,其和301重定向的目 的一樣,在存在多個版本重複url的時候,爲了規範化url告訴搜索引擎那個才是希望搜索引擎看到的url。關于它的解釋,你可以參考 Google 對于rel=”canonical”的解釋,網上有人無意中做了個實驗,發現其實百度也是支持的,讓所有産品頁面加上都加上 rel=”canonical” 並且指向首頁,結果在百度的收錄數目減少了2萬條,産品頁面撤了該標簽以後,收錄恢複,所以其實百度也支持rel=”canonical”,看以下 Google官方對這個屬性的具體介紹:
什麽是規範網頁?爲什麽要指定規範網頁?
規範網頁是一組內容高度相似的網頁的首選版本。
對于網站來說,包含多個列有同組産品的網頁很正常。例如,一個網頁可能按字母表順序顯示産品,而其他網頁則按照價格或評分顯示相同産品。例如:
http://www.xxxx.com/product.PHP?item=swedish-fish&trackingid=1234567&sort=alpha&sessionid=5678asfasdfasfdhttp://www.xxxx.com/product.php?item=swedish-fish&trackingid=1234567&sort=price&sessionid=5678asfasdfasfd
如果 Google 知道這些網頁的內容相同,我們可能只會將搜索結果的一個版本編入索引。我們的算法會選擇我們認爲可以最好地回答用戶查詢的網頁。不過,現在用戶可以通過將 <link> 元素和 rel=”canonical” 屬性添加到該網頁非規範版本的 <head> 部分,爲搜索引擎指定規範網頁。添加此鏈接和屬性可以讓網站擁有者識別出哪些網頁具有相同的內容,從而向 Google 提出建議:”在內容相同的所有網頁中,此網頁最有用。請將該網頁排在搜索結果中靠前的位置。”
如何指定規範網頁?
要指定指向網頁 http://www.xxxx.com/product.php?item=swedish-fish 的規範鏈接,請按以下形式創建 <link> 元素:
<link rel=”canonical” href=”http://www.xxxx.com/product.php?item=swedish-fish”/>
將上述鏈接複制到該網頁所有非規範版本的 <head> 部分,如 http://www.xxxx.com/product.php?item=swedish-fish&sort=price。
如果您在 http://www.xxxx.com/product.php?item=swedish-fish 和 https://www.xxxx.com/product.php?item=swedish-fish 上都發布了內容,則可以指定該網頁的規範版本。創建 <link> 元素:
<link rel=”canonical” href=”http://www.xxxx.com/product.php?item=swedish-fish”/>
將上述鏈接添加到 https://www.xxxx.comproduct.php?item=swedish-fish 的 <head> 部分。
rel=”canonical” 是建議還是指令?
通過此新選項,網站擁有者可以建議 Google 應將哪個網頁版本視爲規範版本。在確定哪些網址包含相同的內容以及計算其中關聯性最強而要顯示在搜索結果中的的網頁時,Google 會結合其他信息考慮此建議。
此鏈接可以是相對的或是絕對的嗎?
rel=”canonical” 屬性可與相對鏈接或絕對鏈接一起使用,但我們建議使用絕對鏈接,以減少可能出現的混亂或問題。如果您的文檔指定了一個基礎鏈接,則所有相對鏈接都會相對于該基礎鏈接。
一組網頁上的內容必須與規範版本的上內容相似嗎?
是的。rel=”canonical” 屬性只能用來指定包含相同內容(即使存在微小差異,比如排列順序,也無關緊要)的大量網頁的首選版本。
例如,如果某網站有一組網頁顯示了相同型號的舞蹈鞋,只是每個網頁圖片中鞋的顔色有所不同,那麽您可以將能突出當下最流行色彩的網頁設置爲規範版 本,這樣 Google 就比較容易將該網頁顯示在搜索結果中。不過,如果該網站只是想把凝膠鞋墊的網頁排在鞋的網頁之前,那麽使用 rel=”canonical” 就不合適了。
如果 rel=”canonical” 指向了不存在的網頁會怎樣?或者如果將一組網頁中的多個網頁指定爲規範版本會怎樣?
我們會盡力使用算法確定適當的規範網頁,就像我們以前所做的那樣。
Google 能遵守 rel=”canonical” 的一系列規定嗎?
在一定程度上可以,但爲了確保達到最佳規範化,我們強烈建議您將鏈接更新爲指向單個規範網頁。
rel=”canonical” 可以用來在完全不同的域中建議規範網址嗎?
有些情況下,設置重定向網址並非易事。如果需要遷移到新域名,而使用的網絡服務器又不能創建服務器端重定向網址,就可能發生這種情況。這種情況下, 可以使用 rel=”canonical” 鏈接元素指定想要編入索引的域的確切網址。雖然 rel=”canonical” 鏈接元素被視爲一種建議而不是需要絕對服從的指令,但我們確實會盡可能予以遵循。
有了這個屬性,我們就可以讓HTML靜態頁面支持301重定向了,搜索引擎真是越來越人性化了。
時億網絡