當網站上有多個網址包含相同或非常相似的內容時,canonical 標籤能幫助搜尋引擎判斷哪一個版本應該被索引及排名。這樣可以避免重複內容(duplicate content)對 SEO 帶來負面影響。
當網站存在重複或相似內容頁面時,canonical 標籤能集中 SEO 排名信號,防止權重被分散至錯誤頁面,是技術 SEO 的核心設定之一。
Canonical 中文是什麼意思?
Canonical 的英文原意是「典範、標準」,在 SEO 語境中譯為「標準網址」。它以 HTML 標籤形式存在,語法如下:
snippet.txt
<link rel="canonical" href="https://www.example.com/product" />這行程式碼放在頁面的 <head> 區塊內,告訴 Google:「無論你從哪個 URL 訪問這頁內容,這個才是我想讓你索引和排名的標準網址。」
重要:Canonical 是「建議」,不是「指令」。 Google 會參考 canonical 標籤,但保留最終決定權。若 Google 判斷你指定的標準頁品質低於其他版本,或者大量連結指向非標準頁,則 Google 可能會選擇不同的 URL 作為標準頁。因此,確保指定的標準頁擁有最高內容質素,是提升 Google 接受率的關鍵。
為什麼需要 Canonical Tag?
重複內容問題是現代網站的普遍現象,尤其在電商平台和內容豐富的網站中。以下是最常見的重複網址成因:
技術性重複:
- URL 參數(如 ?utm_source=email、?ref=homepage、?color=red)
- HTTP 與 HTTPS 版本共存(http://example.com vs https://example.com)
- www 與 non-www 版本共存
- 分頁網址(/blog/page/2/)
內容性重複:
- 電商產品的多個顏色、尺寸版本
- 文章同時發布於自家網站及 Medium、新聞稿平台
若不處理,重複內容會導致三個直接的 SEO 後果:
- 排名信號分散: 外部連結的 SEO 權重被稀釋至多個版本,每頁得到的信號減少
- 爬取預算浪費: Googlebot 把時間花在索引重複頁面,而非新內容
- 錯誤頁面排名: Google 可能選擇你不希望排名的版本出現在搜尋結果
什麼情況下應該使用 Canonical Tag?
以下六個常見情境需要設定 canonical tag:
- 電商產品多顏色/尺寸頁面:同一件衣服不同顏色或尺寸時,可視乎顏色、款式等搜尋需求設定標準網址。一般建議,只有細微差別(例如尺寸)的產品應該規範化到主產品頁面,以避免內容重複。
- UTM 及追蹤參數:同一篇文章的 URL https://example.com/post 與 https://example.com/post?utm_source=newsletter 在 Google 眼中是兩個不同頁面。設定 canonical 指向不含參數的版本,可避免流量數據影響排名。
- HTTP 與 HTTPS 混用:網站遷移至 HTTPS 後,若舊 HTTP 版本仍可訪問且未設定 301 轉址,需在所有頁面加入 canonical 指向 HTTPS 版本。
- www 與 non-www 版本:https://www.example.com/page 與 https://example.com/page 應以 canonical 統一至其中一個版本。
- 內容轉載至第三方平台:文章轉載至 Medium 或合作媒體時,要求對方在轉載頁加入 canonical 指回原始網址,確保 SEO 權重回歸你的網站。
- 手機版與桌面版分開部署:若網站非響應式設計(RWD),手機版(m.example.com)與桌面版需各自加入 canonical,並透過 <link rel="alternate" media="only screen and (max-width: 640px)" href="..."> 互相宣告關係。
如何設定 Canonical Tag?
在決定好哪個網址是你想讓搜尋引擎索引及排名的「主要網頁」後,你只要在 <head> 區塊加入一行 HTML 程式碼:
<link rel="canonical" href="https://www.example.com/product" />
這行程式碼表示這一頁的標準版本是 https://www.example.com/product,即使目前網址是包含參數或被引用的版本,搜尋引擎也會將權重集中到 canonical 指定的頁面上。
例如:
<link rel="canonical" href="https://www.example.com/current-page" />
這樣的做法有助於維持網站內容的 SEO 一致性,也能防止搜尋引擎分散內容權重或錯誤地視為抄襲。
純 HTML 設定
在每個頁面的 <head> 區塊內加入以下一行程式碼:
snippet.txt
<head>
<link rel="canonical" href="https://www.example.com/product" />
</head>注意事項:
- 使用絕對網址(包含 https://),而非相對路徑
- 確認網址的 www 前綴、結尾斜線與你的網站一致
- 每頁只能設定一個 <link rel="canonical">
WordPress 設定(Yoast SEO)
- 進入文章或頁面的編輯畫面
- 向下捲動至 Yoast SEO 區塊
- 點擊「進階(Advanced)」標籤
- 在「Canonical URL」欄位輸入標準網址
- 若欄位留空,Yoast SEO 會預設指向頁面本身(self-referencing)
Rank Math 設定: 文章編輯頁 → Rank Math 區塊 → 「進階(Advanced)」 → 「Canonical URL」欄位,操作邏輯相同。
Shopify 設定
Shopify 預設會自動為產品頁、分類頁和部落格文章加入 canonical tag,指向各頁面的標準版本,大多數情況下無需手動設定。如需自訂,需編輯對應的 Liquid 模板檔案(product.liquid、collection.liquid),在 <head> 區塊修改 canonical 輸出邏輯。
如何用 Google Search Console 驗證 Canonical 設定?
設定完成後,可透過 Google Search Console 確認 Google 是否接受你的 canonical 設定:
- 進入 Google Search Console
- 點擊左側選單的「網址檢查(URL Inspection)」
- 在頂部搜尋列輸入目標網址,按 Enter
- 在結果頁查看「Google 所選的標準網址」一欄
結果解讀:
- ✅ 「Google 所選的標準網址」與你設定的一致:設定成功,Google 已接受
- ⚠️ 「Google 所選的標準網址」與你設定的不同:Google 選擇了其他版本,需檢查是否有更強的競爭頁面,或標準頁本身有技術問題(如被 noindex、載入過慢)
使用 canonical 時的最佳做法
- 使用絕對網址:始終使用 https://www.example.com/page,而非 /page
- 每頁只設一個 canonical:設定多個會令 Google 忽略所有 canonical 信號
- 所有重複版本均需設定:不僅標準頁,所有副本頁也要加入指向標準版本的 canonical
- 加入 Self-referencing canonical:即使某頁沒有重複版本,也應設定 canonical 指向自身,防止外部因素製造意外重複
- 搭配 hreflang 使用:若網站有多語言版本,canonical 與 hreflang 應同時設定,避免混淆 Google 的語言判斷
- Sitemap 網址與 canonical 一致:避免 Sitemap 提交的 URL 與 canonical 指向不同版本