使用 Canonical URL 解決重複內容問題
Jun 20, 2024。
連結元素 rel="canonical"(通常稱為統一 URL)是一個功能強大的工具,當(或多或少)同樣的頁面存在多個變體時,可以用來對抗重複內容問題。
本質上,它允許您指定哪個頁面變體為「正確」頁面:您希望在搜尋引擎中顯示的變體。
實施統一 URL 時,請牢記下列最佳實務:
使用絕對 URL,包括網域和通訊協定。
每個頁面僅定義一個統一 URL。
在頁面的 <head> 部分或 HTTP 標頭中定義統一 URL。
指向可索引的頁面。
什麼是正規 URL?
連結元素 rel="canonical"
,通常稱為 canonical URL、是一個 HTML 元素,有助於防止 重複內容
重複內容是指內容相同或非常相似的數個網站。
Learn more 透過告知搜尋引擎偏好一個文件而非其他相同或類似文件。當頁面 A 有一個引用頁面 B 的 canonical 連結元素時,您可以說頁面 A 已經 canonicalized 化。
Canonicalization 是指在多個其他版本中選擇一個首選版本的過程。
正規 URL 的同義詞
儘管它們的意義不盡相同,下列詞彙經常被用來指代統一 URL:canonical 標籤、canonical 連結、rel canonical 或 rel="canonical"
。為了方便起見,當我們提到 canonical HTML 元素時,我們稱它為 canonical URL。
為什麼需要統一 URL?
使用正規 URL 可以防止 內部和外部內容重複。內部重複內容發生在您的網站內。當不同網域上存在重複或非常相似的頁面時,就會發生外部重複內容。
Canonical URL 會告知 Google、Bing 和 Yahoo 在 搜尋引擎
搜尋引擎是使用者可以搜尋網際網路內容的網站。
Learn more 結果頁。雖然搜尋引擎可以選擇忽略 Canonical URL,但它確實讓身為網站擁有者的您更能控制網站的線上存在。
正規 URL 是什麼樣子?
您的訪客在造訪您的網站時,不會看到統一 URL。Canonical URL 可以在頁面來源或 HTTP 標頭中定義。
頁面來源
統一 URL 應該位於頁面原始碼的 <head>
部分。對於我們的 homepageHomepage
首頁是 HTML 文件的集合,可透過瀏覽器等用戶端在網路上的一個 URL,以個別網頁的形式被呼叫。
Learn more, canonical URL 看起來如下:
<head> <link rel="canonical" href="https://www.contentkingapp.com/" /> </head>
HTTP 標頭
在 HTTP 標頭中定義統一 URL 通常用於需要在非 HTML 文件(如 PDF)上設定統一 URL 的情況。
在 HTTP 標頭中,這看起來如下:
HTTP/1.1 200 OK Server: nginx Date: Thu, 28 Apr 2016 11:54:25 GMT Content-Type: application/pdf Content-Length: 23629 Last-Modified: Fri, 29 Apr 2016 17:47:17 GMT Link: <http://www.example.com/downloads/whitepaper.pdf>; rel="canonical"
您需要使用 HTTP 標頭為非 HTML 文件定義統一 URL 的可能情況是,內容同時以一般頁面 (HTML 文件) 和 PDF (非 HTML 文件) 的形式提供。
支援使用 HTTP 標頭定義統一 URL。對於圖片,Google 透過 HTTP 標頭定義統一 URL。
尋找您的 canonical URL 的問題,並發現您需要進行 canonical 化的 URL!
何時使用正規 URL?
在任何情況下,包含統一 URL 都不會是一個壞主意。Google、Bing 和 Yahoo 非常依賴統一 URL 來瞭解在搜尋引擎結果頁中要顯示或隱藏哪些頁面。統一 URL 既可以引用自身,也可以引用其他頁面。
正規 URL 引用本身
如果一個頁面只有一個版本,請確保 canonical URL 是自我參照的。
這基本上是告訴搜尋引擎「我是這個頁面的唯一版本,只有我才應該被索引」。
引用另一個頁面的 Canonical URL
如果一個頁面有多個版本,請確認統一 URL 引用的是您希望 被搜尋引擎索引的頁面。
典型 URL 可解決重覆內容問題的常見情況有
URL 中使用查詢參數時。
當頁面略有不同時,通常稱為近似重複。
有意創建頁面的多個版本時。
URL 中的查詢參數
根據網站的 URL 結構,URL 有時包含查詢參數。URL 中的查詢參數是用來向某些內容提出請求。
舉例來說:
www.example.com/shoes/nike?lang=uk&id=101
變數lang=uk
表示所要求的頁面語言是 English (UK)。
變數id=101
表示應該請求第 101 頁。
在變數之間有一個&
字元,表示您想要第 101 頁的英文 (UK) 版本。
雖然查詢參數很方便,但包含查詢參數的 URL 卻很難讀取,而且很容易產生重複的內容。URL www.example.com/shoes/nike?id=101&lang=uk
所要求的頁面與 www.example.com/shoes/nike?lang=uk&id=101
完全相同,但頁面的 URL 不同。這種形式的重複內容很容易用統一 URL 修復。
略有不同的頁面(幾乎重複)
當頁面只有少許不同時,我們通常稱之為「近似重複頁面」或「近似重複頁面」。銷售鞋子的電子商務網站就是近乎重複頁面的一個好例子。假設您有一雙 38 號的 Nike Air Max 鞋子,有紅色、藍色和黑色可供選擇。選擇不同顏色時,URL 會改變,但 99% 的頁面內容保持不變。
一般 Nike Air Max 尺寸 38:www.example.com/shoes/nike/men-38/
一般 Nike Air Max 尺寸 38,紅色:www.example.com/shoes/nike/men-38-red/
一般 Nike Air Max 尺寸 38,藍色:www.example.com/shoes/nike/men-38-blue/
一般 Nike Air Max 尺寸 38,黑色:www.example.com/shoes/nike/men-38-black/
由於這四個頁面的內容非常相似,因此從 www.example.com/shoes/nike/men-38-red/
、 www.example.com/shoes/nike/men-38-blue/
和 www.example.com/shoes/nike/men-38-black/
設定一個指向 www.example.com/shoes/nike/men-38/
的 canonical URL 是合理的。
有意創建多個版本的頁面
故意創建多個版本的頁面可能有許多原因。舉兩個例子:
活動的個人化登陸頁面
運行 轉換
轉換是線上行銷中導致定義結論的過程。
Learn more 率最佳化測試,您可以測試同一頁面的三個版本,這些版本基本上具有相同的內容。
當一個頁面有多個版本時,請務必將統一 URL 指向您希望索引的首選版本。當 Canonical URL 引用另一個 URL 時,這會告訴搜尋引擎:
"我的頁面有多個相同或非常相似的版本。為了確保您的索引整潔美觀,請務必索引我所參考的頁面"。
獨立的桌上型電腦與行動版頁面
如果您有獨立的桌面和行動網頁,您應該使用統一 URL 和替代 URL 來向搜尋引擎傳達這些網頁之間的關係。
目前 Google 是唯一支援此特定實作的搜尋引擎。
讓我們來談談執行:
桌上型電腦
在桌面版本的頁面中,<head>
節中的統一 URL 和替代 URL 看起來如下:
<head> <link rel="canonical" href="https://www.example.com/" /> <link rel="alternate" href="https://m.example.com/" /> </head>
行動版
在手機版本的頁面上,<head>
節中的 canonical URL 看起來如下:
<head> <link rel="canonical" href="https://www.example.com/" /> </head>
這樣搜尋引擎就會在行動裝置上顯示行動版本的網頁,而在桌上型裝置上顯示桌上型版本的網頁。
跨域正典
當重複內容問題超出單一網站的範圍時,可以使用統一 URL 來防止重複內容。當內容發佈在多個網域的多個頁面上時,可以使用跨網域的 canonical URL 來向搜尋引擎提示應該索引哪個版本的頁面。
使用重定向整合不必要的頁面
當一個頁面沒有必要存在多個版本時,最好的方法是 重定向,將多餘的頁面重定向到偏好的版本。重定向是處理多版本頁面的更好方法的範例:
頁面可透過 HTTP 和 HTTPS 通訊協定使用。
一個頁面可以透過多個網域 (www.example1.com
,www.example2.com
,www.example3.com
)或子域(www.example.com
、www2.example.com
、www3.example.com
),而這並無作用。
請注意,如果您在上述範例中使用重定向,建議您仍同時使用統一 URL。如果您的重定向停止運作,您仍然可以使用典型 URL 來防止 索引問題。
瞭解您是否傳送混合索引訊號,並即時警覺 canonical URL 問題!
關於統一 URL 的最佳實務是什麼?
統一 URL 是網站管理員工具箱中非常強大的工具。為了避免索引問題,在使用典型化 URL 時堅持以下的最佳實務是非常重要的:
使用絕對 URL - 搜尋引擎應該索引的頁面是不容置疑的。使用完整的 URL,包括通訊協定 (HTTP 或 HTTPS)、子網域和網域。
每個頁面只有一個 canonical URL - 每個頁面應該永遠只有一個 canonical URL。
<head> 節或 HTTP 標頭中。
指向可索引的頁面 - 統一 URL 應該指向可索引的頁面。
XML網站地圖中只包含頁面的首選版本。
使用絕對 URL
我們應該只使用絕對 URL 作為 canonical URL。舉例來說
<link rel="canonical" href="https://www.example.com/services/repairs/">
有了這個 URL 作為 canonical URL,就不會有人懷疑 URL 的確切位置。
現在比較上面的正規 URL 和下面含糊不清的 URL:
<link rel="canonical" href="repairs/">
有些網路伺服器的預設設定不正確,使得您網站上的每個頁面都可以透過所有網域和子網域存取。這會造成大量的重複內容,您應該隨時避免。
使用絕對 URL 作為 canonical URL 可以避免重複內容問題的發生。
每個頁面只有一個對應的 URL
每個頁面應該永遠只有一個統一 URL。如果定義了多個 canonical URL,搜尋引擎可能會混淆。 當他們在一個頁面上遇到多個 canonical URL 時,他們只會選擇其中一個,而忽略其他的。雖然我們不確定 Bing 和 Yahoo 如何處理每個頁面有多個 canonical URL 的情況,但他們確實建議每個頁面只使用一個 canonical URL。
放置於 <head> 區段
統一 URL 應該始終放在頁面的 <head>
部分。如果不將 canonical URL 放在 <head>
區段中,搜尋引擎將無法找到並處理它。反過來,這可能會導致重複內容問題。
參考可索引的頁面
統一 URL 應該始終引用可索引的頁面。當統一 URL 引用 301 重定向的頁面,或本身已被統一化的頁面時,搜尋引擎可能會感到困惑。
在 XML 網站地圖中僅包含首選版本
XML 網站地圖中包含的所有頁面均應可被搜尋引擎索引。因此,如果一個頁面有多個版本,您必須在 XML 網站地圖中只包含該頁面的首選版本。
尋找您的 canonical URL 的問題,並發現您需要進行 canonical 化的 URL!
canonical URL 有哪些限制?
雖然統一 URL 是網站管理員工具箱中的好工具,但它也有其限制。
僅部分鞏固連結權限
讓我們考慮一個範例:頁面 A 有一些非常強大的 backlinksBacklinks
Backlinks 是來自外部網域的連結,這些連結會指向您網域上的網頁;基本上,這些連結會從他們的網域連結回您的網域。
Learn more.頁面 A 引用頁面 B 作為其 canonical。搜尋引擎很可能會索引頁面 B,並將頁面 A 排除在索引之外。
每個連結都會傳遞一些權限,稱為 link authority。我們說只是部分地傳遞到頁面 B,是因為這是一個灰色地帶,搜尋引擎對此不是很清楚。目前沒有研究顯示 canonical URL 會傳遞所有連結權限。除此之外,典型 URL 的引入是為了向搜尋引擎傳達哪些頁面需要顯示,哪些頁面需要隱藏。因此,我們對此主題的立場是:典型 URL 並不能完全傳遞連結權限。
Google 的 Matt Cutts 表示「301 重定向與正規 URL 之間其實沒有太大的差異」。
如果您想盡可能多地傳遞連結權限,我們建議您使用 301 重定向。
Canonical URL 無法防止抓取最佳化問題
Canonical URL 旨在解決重複內容問題。Canonical URL 會告訴搜尋引擎要索引哪些頁面,但不會告訴搜尋引擎要抓取哪些頁面。這是一個重要的區別。
當搜尋引擎沒有花時間抓取有用和重要的網頁時,我們稱之為抓取最佳化問題。搜尋引擎不抓取有用和重要頁面的原因有很多。搜尋引擎可能會陷入無限的 重定向迴圈,花費大量時間抓取您一開始就不想被索引的頁面,或是在您的網站上不斷碰到死胡同(沒有連結到其他頁面的頁面)。這是一種浪費,尤其是搜尋引擎對每個網站都有所謂的「抓取預算」(抓取網站所分配的時間)。robots.txt 抓取優化問題。
有關正規 URL 的常見問題
1.canonical URL 是否傳遞任何連結權限?
我們懷疑在對 URL 進行典型化時,某些連結權限會被轉移。
正如「僅部分鞏固連結權限」一節中所寫的,我們無法確定 canonical URL 是否會傳遞連結權限。我們所知道的是,典型 URL 並不是用來傳遞連結權限的,那是 301 重定向的用途。
2.我可以強制搜尋引擎使用我的統一 URL 嗎?
不,正規 URL 是給搜尋引擎的建議而非指令。
3.正規 URL 是否比 301 重定向更好?
正規 URL 和 301 重定向是兩種完全不同的手段。
當訪客可以存取所有版本的頁面,但搜尋引擎只收錄其中一個版本時,就會使用統一 URL。
301 重定向可將訪客和搜尋引擎從一個 URL 轉移到另一個 URL。訪客或搜尋引擎無法存取重定向的 URL。
4.Can I mess up my website with canonical URLs?
如果使用不當,典型 URL 可能會對您網站的索引造成重大問題。
例如,假設由於某些原因,您所有的網頁都有一個指向首頁的 canonical。由於 canonical URL 對搜尋引擎來說是個很強烈的信號,他們很可能會處理這個信號,並取消 canonical 化頁面的索引。
儘管您必須小心使用統一 URL,但我們強烈建議您使用它們,以便向搜尋引擎傳達哪些頁面需要索引,哪些頁面需要隱藏。
5.是否所有搜尋引擎都支援正規 URL?
我們知道 Google、Bing 和 Yahoo 都支援統一 URL。
Yandex 和 Baidu 似乎也支援正規 URL。至於 DuckDuckGo 則不清楚。
6.搜尋引擎如何處理一個頁面上的多個 canonical URL?
Google 已經聲明,如果一個頁面上有多個統一 URL,他們會完全忽略統一 URL 元素。
目前還不清楚其他搜尋引擎如何處理,不過我們強烈建議每個頁面只使用一個統一 URL。
7.canonical URL 會阻止網頁被抓取嗎?
不,不會。無論您是否設定了指向不同 URL 的統一 URL,搜尋引擎仍會抓取您的網頁。Canonical URL 僅僅是向搜尋引擎發出的一個強烈信號,表明搜尋引擎結果頁中應顯示的首選頁面。另請參閱 Canonical URL 無法防止抓取優化問題。
8.我應該對分頁頁面使用統一 URL 嗎?
一般而言,建議不要在分頁頁面中使用 canonical URL,因為分頁頁面通常不會顯示相同的內容。相反,建議使用 rel="next「
和 rel="prev"
連結元素。這樣可以更好地向搜尋引擎解釋,分頁的頁面事實上是一系列遵循邏輯順序的頁面。
您可以在分頁頁面中使用統一 URL,但前提是您有一個載入速度很快的「檢視全部」頁面。在這種情況下,您可以在所有分頁頁面中引用「檢視全部」頁面作為 canonical URL。