什麼是rel = canonical,為什麼我應該使用它?

暗示搜索引擎文檔的首選版本

當您運行數據驅動的網站或有其他原因可能會重複某個文檔時,告知搜索引擎哪些副本是主副本或行話中的“規範”副本很重要。 當一個搜索引擎索引你的頁面時,它可以告訴內容何時被複製。 如果沒有附加信息,搜索引擎將決定哪個頁面最能滿足其客戶的需求。 這可能沒什麼問題,但是搜索引擎有很多實例提供過時和過時的頁面,因為他們選擇了錯誤的文檔作為規範。

如何指定規範頁面

將文檔中的元數據標準化的URL告訴搜索引擎是非常容易的。 將下面的HTML放在每個規範頁面上的HEAD元素的頂部附近:

如果您有權訪問HTTP標頭(例如使用.htaccess或PHP),則還可以在沒有HTML HEAD的文件(如PDF)上設置規範URL。 為此,請為非規範頁面設置標題,如下所示:

鏈接:< 規範頁面的URL >; 的rel =“規範”的

規範標籤如何工作以及何時不工作

規範的元數據用作搜索引擎關於哪個頁面是主頁的提示。 搜索引擎使用它來更新他們的索引來引用主副本作為主副本,當他們提供搜索結果時,他們發布他們認為是規範的頁面。

但是,您指定的規範頁面可能不是搜索引擎提供的頁面。

這可能發生的原因很多:

Rel = Canonical Tag不是什麼

許多人認為,如果將rel = canonical鏈接添加到頁面,那麼該頁面將被重定向到規範版本,例如使用HTTP 301重定向。 那是不正確的。 rel = canonical鏈接為搜索引擎提供信息,但它不會影響頁面的顯示方式,也不會影響服務器級別的重定向

規範鏈接最終只是一個提示。 搜索引擎不必遵守它。 大多數搜索引擎都盡力去尊重頁面所有者的意願,但是在一天結束時,搜索結果就是他們所做的事情,如果他們不想為您的規範頁面服務,他們就不會。

何時使用規範鏈接

正如我上面所說的,你應該在每個不規範的重複頁面上使用鏈接。 如果頁面的內容相似但不完全相同,則有時更有意義的是將其中一個更改為更加不同,而不是使其成為一個規範。

將兩個不完全相同的頁面標記為規範是可以的。 他們應該是相似的,但你不應該簡單地將所有頁面指向你的主頁。 Canonical意味著該頁面是該文檔的主副本,而不是您網站上的任何主鏈接。

我認為最重要的一點是重要的 - 不應該把你所有的頁面作為規範頁面指向你的主頁,不管你有多誘惑。 這樣做,即使是偶然的,都可能導致每一個不規範的頁面(即每個頁面不是你的主頁,並且有rel = canonical鏈接)從搜索引擎索引中移除。

這不是Google(或Bing或Yahoo!或任何其他搜索引擎)是惡意的。 他們正在做你要求他們做的事情 - 考慮每個頁面的主頁重複並將所有結果返回到該頁面。 然後,當客戶感到沮喪結束在您的主頁而不是更相關的文件,該網頁將不太受歡迎,並會在搜索結果中下降。 即使你解決了這個問題,你可以在幾個月後終止搜索結果,並且不保證你的網站排名會恢復。

你不應該制定一個頁面規範,因為某些原因(例如使用noindex元標記或被robots.txt文件排除)而被排除在搜索之外。 為了使搜索引擎將頁面引用為規範,它必須能夠首先引用它。

使用rel = canonical鏈接的好地方包括:

何時不使用規範鏈接

你的第一個選擇應該是301重定向。 這不僅會告訴搜索引擎頁面URL已經改變,而且還會讓人們看到最新的(並且敢說我是canonicol?)版本的頁面。

不要懶惰。 如果您要更改網址結構,請使用某種形式的HTTP標頭操作(例如.htaccess或PHP或其他腳本)來自動添加301重定向。

雖然您可以使用rel = canonical鏈接,但不會放棄較舊的頁面。 所以任何人都可以隨時找到他們。 事實上,如果客戶的網頁已添加書籤並且您更改了網址,但只使用rel = canonical鏈接更新搜索引擎,則該客戶將永遠不會看到新的頁面。

對於有大量重複內容的網站,rel = canonical鏈接是一個有用的工具。 通過了解它的工作原理,您可以有效地使用它。 但最終,它是由搜索引擎發布的工具,以幫助他們保持搜索索引的最新狀態。 如果您不保持服務器的清潔和最新狀態,那麼您的客戶將受到影響,並且您的網站可能會受到傷害。 負責任地使用它。