什麼是規范網頁?為什麼要指定規范網頁?
規范網頁是一組內容高度相似的網頁的首選版本。
對於網站來說,包含多個列有同組產品的網頁很正常。例如,一個網頁可能按字母表順序顯示產品,而其他網頁則按照價格或評分顯示相同產品。如——
http://www.example.com/product.php?item=swedish-fish&trackingid=1234567&sort=alpha&sessionid=5678asfasdfasfd
http://www.example.com/product.php?item=swedish-fish&trackingid=1234567&sort=price&sessionid=5678asfasdfasfd
如果 Google 知道這些網頁的內容相同,可能只會將搜索結果的一個版本編入索引。GG的算法會選擇他們認為可以最好地回答用戶查詢的網頁。不過,現在用戶可以通過將 <link> 元素和 rel="canonical" 屬性添加到該網頁非規范版本的 <head> 部分,為搜索引擎指定規范網頁。添加此鏈接和屬性可以讓網站擁有者識別出哪些網頁具有相同的內容,從而向 Google 提出建議:“在內容相同的所有網頁中,此網頁最有用。請將該網頁排在搜索結果中靠前的位置。”
如何指定規范網頁?
要指定指向網頁 http://www.example.com/product.php?item=swedish-fish 的規范鏈接,請按以下形式創建 <link> 元素:
<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish" />
將上述鏈接復制到該網頁所有非規范版本的 <head> 部分,如 http://www.example.com/product.php?item=swedish-fish&sort=price。
如果您在 http://www.example.com/product.php?item=swedish-fish 和 https://www.example.com/product.php?item=swedish-fish 上都發布了內容,則可以指定該網頁的規范版本。創建 <link> 元素:
<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish"/>
將上述鏈接添加到 https://www.example.comproduct.php?item=swedish-fish 的 <head> 部分。
rel="canonical" 是建議還是指令?
通過此新選項,網站擁有者可以建議 Google 應將哪個網頁版本視為規范版本。在確定哪些網址包含相同的內容以及計算其中關聯性最強而要顯示在搜索結果中的的網頁時,Google 會結合其他信息考慮此建議。
此鏈接可以是相對的或是絕對的嗎?
rel="canonical" 屬性可與相對鏈接或絕對鏈接一起使用,但我們建議使用絕對鏈接,以減少可能出現的混亂或問題。如果您的文檔指定了一個基礎鏈接,則所有相對鏈接都會相對於該基礎鏈接。
一組網頁上的內容必須與規范版本的上內容相似嗎?
是的。rel="canonical" 屬性只能用來指定包含相同內容(即使存在微小差異,比如排列順序,也無關緊要)的大量網頁的首選版本。
例如,如果某網站有一組網頁顯示了相同型號的舞蹈鞋,只是每個網頁圖片中鞋的顏色有所不同,那麼您可以將能突出當下最流行色彩的網頁設置為規范版本,這樣 Google 就比較容易將該網頁顯示在搜索結果中。不過,如果該網站只是想把凝膠鞋墊的網頁排在鞋的網頁之前,那麼使用 rel="canonical" 就不合適了。
如果 rel="canonical" 指向了不存在的網頁會怎樣?或者如果將一組網頁中的多個網頁指定為規范版本會怎樣?
GG 會盡力使用算法確定適當的規范網頁,就像他們之前所做的那樣。
Google 能遵守 rel="canonical" 的一系列規定嗎?
在一定程度上可以,但為了確保達到最佳規范化,GG 建議您將鏈接更新為指向單個規范網頁。
rel="canonical" 可以用來在完全不同的域中建議規范網址嗎?
有些情況下,設置重定向網址並非易事。如果需要遷移到新域名,而使用的網絡服務器又不能創建服務器端重定向網址,就可能發生這種情況。這種情況下,可以使用 rel="canonical" 鏈接元素指定想要編入索引的域的確切網址。雖然 rel="canonical" 鏈接元素被視為一種建議而不是需要絕對服從的指令,但 GG 確實會盡可能予以遵循。
以上是有關 rel=“canonical” 規范的相關問題,可能許多同學看完以後,仍然是一頭霧水。其實 rel=“canonical” 並不難理解,說直白點兒就是——當站點內存在著許多相同內容的頁面,很多 URL 指向的是同一種內容時,這時搜索引擎會因此感到迷惑:“究竟哪個頁面是最重要的呢?”通過 canonical 規范的生效,可以有效避免這類問題。
那麼,怎麼用這個標簽呢?
以 WP 為例,打開你所應用的 WP 主題內 header.php 文件,添加如下代碼即可——
<?php if ( is_singular() ) echo '<link rel="canonical" href="' . get_permalink() . '" />'; ?>
以 ZB 為例,打開你所應用的 ZB 主題內的模板文件 single.html,在 <head> 區添加如下代碼即可——
<link rel="canonical" href="<#article/url#>" />
一點提醒:canonical只允許指向不同的子域名,不允許指向其他域名哦;另外,canonical 屬性是可以傳遞的,即A頁面聲明B頁面為權威鏈接,B頁面聲明C頁面為權威網頁,那麼C頁面就是A和B頁面共同的首選權威版本。
最後,你還可以測試一下,若添加代碼正確無誤,可在 Firefox 浏覽器(需要安裝 SearchStatus 插件)中,地址欄的右側,看到如下圖標:
本文出自:低一度,原文地址:http://www.diyidu.cn/post/canonical_wp_zb.html