你的網站可能同時有五個網址,長得一模一樣
先問一個問題:example.com/product、example.com/product?color=blue、example.com/product/(結尾多一條斜線)—— 這三個網址,Google 眼中是不是同一頁?
答案是:不一定,而且很多時候不是。對 Google 的爬蟲來說,只要網址字串不同,就是不同頁面,即使內容幾乎一樣。這種情況在電商網站特別常見,一個商品因為顏色篩選、排序參數、追蹤碼,可以衍生出十幾個網址,內容卻大同小異。
這就是「重複內容」問題的根源,而 canonical tag 就是 Google 官方認可、用來解決這件事的工具。

Canonical tag 到底是什麼?
Canonical tag 是放在網頁 <head> 區塊裡的一小段 HTML:

意思很直白:「如果你發現好幾個網址內容重複,請把這個網址當成正本,排名分數、反向連結的權重都算在它頭上。」這是一個 HTML link 元素,寫法是 link rel canonical,用來在一組重複或非常相似的頁面中,指定出偏好的那個網址。
它跟你可能更熟悉的「301 轉址」不一樣:301 是強制把使用者和爬蟲都導到新網址,舊網址直接打不開;canonical 則是「軟性建議」,舊網址還能被打開、被使用者看到,只是告訴搜尋引擎「排名分數請算在別的網址上」。
為什麼這件事值得你花時間搞懂
很多人覺得 canonical 是細節中的細節,但它牽動三件實際的事:
一、排名分數不會被稀釋。
如果十個網址都有連到你的內容,但這些連結分散指向五個不同網址,Google 會把它們當成五個「較弱」的頁面,而不是一個「夠強」的頁面。設好 canonical,等於把分數集中匯回同一個地方。
二、爬蟲預算不會被浪費。
設定 canonical tag 可以更有效率地管理爬蟲預算,並整合連結權重。網站越大,這件事越關鍵——Google 不會無限次造訪你的網站,如果它把時間花在爬十個重複網址,新內容就會被排在後面才收錄。
三、AI 搜尋時代,這件事變得更重要。
這是 2026 年比較新的討論方向:Google AI Overviews、ChatGPT、Perplexity 這類系統在生成答案時,也會讀取同一頁內容的多個版本,清楚的 canonical 訊號能幫助這些系統判斷哪個網址才是權威來源。換句話說,canonical 沒設好,不只 Google 搜尋排名受影響,連你的內容會不會被 AI 引用、會不會被答錯來源,都受牽連。
怎麼用:幾個基本規則
- 一定要用絕對網址,不要用相對路徑。 寫
https://example.com/page,不要只寫/page,避免不同子網域或協定(http/https)解讀出錯。 - 就算是唯一版本的頁面,也建議自我參照。 也就是頁面 A 的 canonical 指向自己。John Mueller 表示,即使不是強制規定,他也建議使用自我參照的 canonical,因為這能明確告訴 Google 你希望被索引的版本是哪一個,避免網址帶著追蹤參數時產生混淆。
- 內部連結、Sitemap、canonical 三者要一致。 如果一個頁面的 canonical 指向 A,但 Sitemap 裡卻寫著 B,這種矛盾訊號會讓 Google 產生疑慮,進而可能不採信你設的 canonical。
- 大型網站可以搭配 Sitemap 過濾。 只把 canonical 版本的網址放進 XML Sitemap,等於再給 Google 一次明確指引。
- 要永久淘汰舊網址,用轉址,而不是只設 canonical。 Canonical 是「建議」,轉址是「事實」;真的要讓舊網址消失,301 轉址才是正解。
最常被踩的坑:你設了,Google 卻不理
這是這個主題最容易被忽略、但討論度其實很高的部分 —— canonical tag 不是「指令」,是「提示」。Google 的 John Mueller 曾在 Webmaster Hangout 中解釋,如果你把某網址指向另一個網址,但兩邊內容其實不一樣,Google 的演算法可能會認為你設錯了,進而選擇不理會你的 canonical,直接把原本那個網址收錄。
也就是說,如果你 A 頁面內容跟 B 頁面差異太大,卻把 A 的 canonical 硬指向 B,Google 很可能會自己選一個它認為對的版本,跟你設的完全不同。Google Search Console 裡那個讓人頭痛的「已提交的網址未被選為標準網址」錯誤,講的就是這件事。
歸納幾個 Google 最常「無視」你 canonical 的情況:
- Canonical 沒有正確寫在
裡,或沒出現在渲染後的 HTML 中(常見於 JavaScript 動態產生內容的網站) - 你指定的正本頁面內容其實跟目前頁面差很多,不算真正的重複內容
- 內部連結、Sitemap 傳出的訊號跟 canonical 互相矛盾
- 網站上很多頁面彼此長得太像,Google 自己也分不清誰該是正本
- 你指定的目標頁面本身被設了 noindex,等於叫 Google 把分數集中到一個「不給索引」的頁面上,自相矛盾
有 SEO 顧問甚至直接把這件事講得更白:系統不是壞掉,而是在挑一個它認為訊號最一致的網址,問題是這個「訊號最一致」的網址,往往不是你真正想主打的那頁。這句話講出了 canonical 設定最現實的風險 —— 你以為自己在指揮 Google,但如果訊號不夠一致,決定權其實還是在演算法手上。
實務上該怎麼避免踩雷
- 定期用 Google Search Console 的「網址檢查」工具,確認 Google 實際選的 canonical 跟你設的是不是一致
- 用爬蟲工具(例如 Screaming Frog)跑一次全站,抓出所有 canonical 沒設、設錯、或互相矛盾的頁面
- 內容真的不同的頁面,不要為了「省事」硬設同一個 canonical,該獨立就獨立處理
- 改版、搬遷內容時,記得同步更新 canonical,不要讓它停留在舊結構
常見問題 FAQ
Q1:每個頁面都要設 canonical tag 嗎?
A:內容獨一無二的頁面,建議設「自我參照」的 canonical,也就是指向自己,這樣能明確告訴 Google 這就是你要索引的版本,也能避免網址帶參數時被誤判成不同頁面。真正需要處理的,是那些內容重複或高度相似的頁面群組。
Q2:Canonical tag 跟三百零一轉址,該選哪一個?
A:如果舊網址以後完全不會再用到,直接用三百零一轉址,讓使用者跟爬蟲都導向新網址。如果兩個網址都還需要保留(例如一個是主網址、一個是帶追蹤參數的行銷連結),才用 canonical,把排名分數指定給主網址,同時讓兩個網址都能被打開。
Q3:為什麼我設了 canonical,Google 收錄的還是別的網址?
A:Canonical 是「提示」不是「指令」,Google 會綜合內部連結、Sitemap、內容相似度等多重訊號來自行判斷。如果這些訊號互相矛盾,或是你指定的兩個頁面內容差異太大,Google 有可能直接不採用你設定的版本。