SEO GUIDE
SEO 指南 Q & A
技術 SEO

Canonical 標記是什麼? 規範化網址完整教學 | SEO 重複內容解決方案

Canonical 標記是什麼? 規範化網址完整教學 | SEO 重複內容解決方案

最後更新:

Canonical 標記(rel="canonical")是 SEO 技術中處理重複內容最關鍵的工具。當網站因為網址參數、協定切換、CMS 自動生成或行銷追蹤碼,產生內容相同但網址不同的頁面時,排名權重會被分散到各個版本,沒有任何一個頁面能取得理想名次。

在 AI 搜尋時代,ChatGPT、Perplexity、Google AI Overviews 抓取頁面建立知識索引時,canonical 更成為決定「哪個版本被引用」的關鍵訊號。這篇文章適合電商經營者、企業官網管理者與正在做技術稽核的工程師閱讀。

本篇目錄

什麼是 canonical 標記?

Canonical 標記(又稱規範網址標記)是一段放在 HTML <head> 區段中的標記,功能是告訴搜尋引擎,當多個網址出現相同或高度相似的內容時,哪一個網址才是主要版本

其他副本網址仍可被使用者存取,但搜尋引擎會把排名權重與連結價值集中到 canonical 指定的網址上,避免權重被切散在多個重複頁面之間。

Canonical 標記的核心功能,是讓搜尋引擎在多個重複版本中,選擇您指定的那一個作為搜尋結果的代表,避免排名權重被分散。

Canonical 標記的基本語法

這項標記由 Google、Bing、Yahoo 共同發起,屬於開放標準。格式相當單純,只需在頁面 <head> 區段加入一行 <link> 標記:

HTML
<head>
    <title>產品名稱 - 品牌官網</title>
    <link rel="canonical" href="https://www.example.com/product/abc">
</head>

在這個範例中,無論使用者是從 ?utm_source=fb?ref=newsletter 的版本進入頁面,搜尋引擎都會知道真正應該被索引的網址https://www.example.com/product/abc

Canonical 標記能解決哪些問題?

這項標記主要處理以下三類重複內容情境,也是台灣中小企業官網與電商網站最常遇到的狀況:

參數型重複
同一頁面因為加上不同的追蹤、排序、篩選參數(如 utm_source、sort、color),產生數十甚至上百個變體網址。
路徑型重複
同一頁面可以透過多種網址路徑進入(如 /product/abc 與 /category/xxx/product/abc),在 CMS 系統上最常見。
協定型重複
同時存在 http://https://www 與非 www 版本,以及大小寫不同的網址寫法。

為什麼規範化對 SEO 很重要?

重複內容是容易被忽略、卻嚴重影響排名的議題。當搜尋引擎抓到多個內容相同的網址時,會造成三個直接的損害:爬蟲預算被浪費、排名權重被稀釋,以及搜尋引擎選錯代表頁。

爬蟲預算的浪費

Google 對每個網站有大致固定的抓取配額,稱為 Crawl Budget。若一個 1,000 頁的網站因為參數變化產生 50,000 個網址,爬蟲就會把配額花在重複頁面上,真正重要的新頁面反而延後被索引。

這對台灣電商特別嚴重:一個商品分類頁可能因為顏色、尺寸、價格區間的篩選,產生數十倍的網址變體,稀釋掉原本該用於主力商品頁的抓取資源。

排名權重被稀釋

假設一篇文章獲得 10 個外部反向連結,但分別指向 5 個不同的網址版本(分享時各自帶了追蹤碼),每個版本只拿到 2 個連結的價值。設定 canonical 之後,這些權重會集中到指定的版本,該頁面在搜尋結果中的競爭力才會完整呈現。

搜尋引擎可能選錯代表頁

沒有 canonical 時,搜尋引擎會自行挑一個「最具代表性」的版本顯示在結果中。但演算法不一定選得如您預期,可能挑到帶追蹤參數的版本、舊版頁面,或分頁列表頁而非主要商品頁,直接影響點擊率與品牌印象。

實務觀察:Google 方面曾公開表示,網路上約有六成的網頁屬於某種形式的重複內容;Ahrefs 針對一百萬個網域的研究也把 canonical 設定錯誤列為常見技術問題之一。要注意的是,canonical 只是 Google 判斷主版本的多個訊號之一,屬於提示而非強制指令,因此站內訊號是否一致才是成敗關鍵。

網址重複是怎麼發生的?

許多經營者會困惑:「網站明明只做了一個首頁,為什麼會有重複網址?」問題根源在於人把網頁視為一個概念,搜尋引擎卻把每個獨一無二的網址都當成獨立頁面。想了解網址本身的命名原則,可參考 URL 結構專文。

對搜尋引擎而言,每一個獨一無二的網址都是一個獨立頁面:即使內容完全相同,只要字串不同(含協定、大小寫、結尾斜線、參數),就會被視為不同頁面。

首頁就可能有 10 種以上的版本

以最單純的首頁為例,以下這些網址在搜尋引擎眼中是完全不同的頁面,內容卻可能一模一樣:

URL VARIANTS
http://example.com
http://www.example.com
https://example.com
https://www.example.com
https://www.example.com/
https://www.example.com/index.html
https://www.example.com/index.php
https://www.example.com/?utm_source=facebook
https://www.example.com/?fbclid=IwAR123
https://www.example.com/HOME

對人來說,這些都代表同一個首頁;但對 Googlebot 來說,這是十個獨立頁面,而且內容完全相同,正是典型的重複內容問題。

CMS 與動態網站讓問題更嚴重

現代的內容管理系統(WordPress、Shopify、Wix、Cyberbiz、91APP 等)會自動為相同內容產生多種路徑,並透過參數實現搜尋、排序、篩選與付費追蹤。一個典型的台灣電商網站,常因下列情境產生成千上萬的重複網址

  • 追蹤參數(Tracking Parameters) UTM 行銷追蹤、Facebook 廣告 fbclid、Google Ads gclid、電子報的點擊識別碼等,讓每一次分享都產生不同網址。
    ?utm_source=fb&utm_medium=cpc&utm_campaign=summer_sale
  • 分頁與排序參數 商品列表的分頁、依價格或熱門度排序,以及顏色、尺寸、品牌的篩選條件,讓同一個分類產生數十種網址。
    /shoes?page=2&sort=price_desc&color=black&size=US9
  • 多重路徑(Multiple Paths) 同一個商品可以透過多個分類路徑到達,或同時存在中英文版本、桌機版與行動版的網址。
    /products/abc/category/shoes/abc/brand/nike/abc 指向同一商品
  • Session ID 與使用者識別 購物車、登入狀態的 session ID 被寫進網址,讓每位使用者看到的網址都不相同。
    /cart?sessionid=ABC123XYZ
  • 列印版與 AMP 版 為列印或行動載入優化而產生的對應版本網址,內容相同但路徑不同。
    /article/seo-guide/print/amp/article/seo-guide

Canonical 標記的正確寫法

Canonical 有三種放置位置:HTML <head>、HTTP 回應標頭,以及 Sitemap。其中以 HTML <head> 最常用,也最容易維護與檢查。

方法一:HTML 標記(最常用)

<head> 區段中加入一行 <link rel="canonical">,這是絕大多數網站採用的做法:

HTML
<!DOCTYPE html>
<html lang="zh-TW">
<head>
    <meta charset="UTF-8">
    <title>台北網頁設計推薦 - 新視野</title>
    <link rel="canonical" href="https://www.newscan.com.tw/web-design/">
</head>

方法二:HTTP Header(適合 PDF、圖片)

PDF、圖片、影片等非 HTML 檔案無法寫入 <head>,可以透過伺服器設定,在 HTTP 回應標頭中加入 canonical:

HTTP HEADER
HTTP/1.1 200 OK
Content-Type: application/pdf
Link: <https://www.example.com/whitepaper.pdf>; rel="canonical"

方法三:Sitemap.xml(輔助訊號)

XML Sitemap 中列出的網址本身也是一種提示。Google 不會把 sitemap 視為絕對指令,但會當成判斷主版本的其中一個訊號。建議 sitemap 只放 canonical 版本,不要放帶參數的副本網址。

絕對路徑與相對路徑的選擇

canonical 強烈建議使用絕對路徑(完整的 https:// 開頭)。雖然 Google 也支援相對路徑,但實務上容易因為 base URL 解析錯誤而指到非預期的位置。

表格說明:canonical 三種路徑寫法的建議程度比較
路徑類型 範例 建議
絕對路徑 href="https://www.example.com/abc" ✓ 強烈建議
協定相對 href="//www.example.com/abc" △ 不建議
相對路徑 href="/abc" ✕ 避免使用

Canonical 標記的最佳實踐

正確使用 canonical 需要遵守幾項關鍵原則。以下六點是實務稽核中最常被忽略、也最容易出錯的重點:

  • Canonical 可以指向自己(Self-Referencing Canonical) 如果一個頁面本身就是主要版本,在 <head> 中加入指向自己的 canonical 完全合理,也是建議做法。這稱為自我參照,能預防日後因追蹤參數而產生的重複問題。
    頁面 /blog/seo-guide 加入指向自身的 canonical,即使有人用 ?utm_source=fb 分享,搜尋引擎仍知道主版本是哪一個。
  • 主動為首頁設定 canonical 首頁是最常被以多種形式連結的頁面,可能被以含 www、不含 www、加 /index.html 等寫法分享。主動加上 canonical,可以預先收斂這些無法預料的變體。
    首頁加入 <link rel="canonical" href="https://www.example.com/">,統一所有首頁變體。
  • 逐一檢查動態產生的 canonical 若網站由 CMS 或程式自動輸出 canonical,務必逐頁檢查實際產生的結果。常見狀況是程式錯誤導致每頁都指向首頁,或連參數一起輸出,完全失去合併的意義。
    電商常見問題:/product/abc?color=red 的 canonical 寫成含參數的自己,而非乾淨的 /product/abc
  • 避免發送相互矛盾的訊號 不要讓 canonical 與其他訊號打架。例如 A 頁指向 B、B 頁又指回 A,或 A 指向 B 但伺服器把 B 以 301 轉回 A。多層串接同樣會讓演算法難以判斷,甚至直接忽略。
    錯誤:A 指 B、B 指 A 形成循環。正確:所有頁面的 canonical 都指向同一個最終版本。
  • 謹慎使用在近似重複的頁面 canonical 不只能用於完全相同的頁面,也適用於高度相似的頁面(例如同商品的不同顏色)。但若頁面差異過大,Google 會忽略這個提示,改以獨立頁面各自索引。
    一件 T 恤有黑、白、灰三色頁面,內容幾乎相同,可將灰、白指向黑色版本作為主頁面。
  • 跨網域使用 canonical(Cross-Domain Canonical) 若同時經營多個網站(例如集團在數個品牌站發布同一篇文章),可用跨網域 canonical 把權重集中到主站。但被指向過去的版本將不會出現在搜尋結果中,對營運策略影響很大。
    a-news.com 的文章指向 main-site.com,則 a-news.com 版本不會出現在結果中,流量全部集中到主站。

Canonical 標記與 301 轉址的差異

canonical 與 301 轉址都能處理「多個網址指向同一內容」的狀況,但兩者的行為與適用情境完全不同。混用或誤用,往往是技術稽核時發現的問題源頭。

表格說明:canonical 標記與 301 轉址在六個面向的差異比較
比較項目 Canonical 標記 301 轉址
使用者體驗 使用者仍可訪問副本網址,看到的內容相同 使用者被自動轉到目標網址,無法停留在原網址
搜尋引擎行為 建議性訊號,搜尋引擎可能採納或忽略 強制性指令,搜尋引擎必須遵守
權重傳遞 大部分權重會傳遞,但不保證完全 幾乎全部權重傳遞到目標頁
適用情境 內容相同但兩個網址都需保留,例如參數網址、AMP 版 網址永久變更,舊網址不再需要
實作位置 HTML <head> 或 HTTP 回應標頭 伺服器設定(.htaccess、nginx 設定檔)
點擊舊網址 正常顯示原頁面 被導向新網址

什麼時候用 canonical,什麼時候用 301?

判斷的關鍵只有一句話:使用者還需不需要看到舊網址

  • 網址需要保留可訪問(例如含 utm 參數的網址仍要供廣告系統使用),用 canonical
  • 網址結構永久變更(例如分類重整,/old-cat/ 換成 /new-cat/),用 301
  • 商品頁有多種篩選版本但內容差異很小,用 canonical
  • 產品下架或頁面合併,舊網址不再有意義,用 301
  • 網站從 HTTP 改成 HTTPS、從非 www 改成 www,用 301
注意:301 比 canonical 更強烈也更不可逆。一旦設定,搜尋引擎會逐漸淘汰舊網址的索引。若網址結構仍有可能再調整,建議先用 canonical 過渡,觀察一段時間後再決定是否改成 301。

Canonical 在 AI 搜尋時代的角色

隨著 ChatGPT、Perplexity、Google AI Overviews 等工具成為查找資訊的入口,使用者透過 AI 取得答案的比例快速提高。這些系統在抓取網頁、建立知識索引時,canonical 的重要性比過去更為明顯

在 AI 搜尋時代,canonical 不只影響傳統排名,還決定了您的內容會以哪個版本被 AI 引用、被推薦給使用者

AI 引用來源的優先選擇

當 AI 助理引用您的網站內容時,通常會以索引中的主版本作為來源連結(延伸閱讀:如何讓網站被 AI 引用)。若網站存在重複內容問題,可能被引用到帶追蹤參數的版本,影響品牌一致性與數據準確度。

Google AI Overviews 的引用偏好

Google AI Overviews 建立在既有索引之上,生成摘要時會優先取用被判定為主版本的頁面。若一篇文章因追蹤碼產生多個版本、canonical 又設錯,就可能出現非預期的網址被摘錄的情形。

結構化資料與 canonical 的協同效應

canonical 與結構化資料在 AI 搜尋中具有協同放大效應。canonical 確定了主版本、Schema 描述了頁面內容、Open Graph 提供社群分享資訊,三者一致時,AI 系統更容易正確理解與引用。

AI 搜尋時代建議:除了基本的 canonical 設定外,還應確保被指定的主網址同時具備完整的 Schema 結構化資料、Open Graph 標籤與清晰的標題層級,讓 AI 取得高品質上下文,並以正確的版本作為來源。

Canonical 標記常見錯誤

即使觀念正確,實務上仍常因細節失誤導致設定失效,甚至產生反效果。以下七項是台灣中小企業官網與電商網站最常見的錯誤:

  • 所有頁面的 canonical 都指向首頁 常見於外掛或佈景主題的程式錯誤,結果讓搜尋引擎以為整站只有一個主要頁面,內頁全部失去被索引的機會。改善方式:用 Screaming Frog 或 Sitebulb 全站爬取,逐頁確認 canonical 目標是否正確。
  • Canonical 指向 404 或 5xx 錯誤頁 若指定的網址回傳錯誤,搜尋引擎會直接忽略這個提示,原本應合併的重複頁可能全部各自索引。改善方式:定期用 Google Search Console 的網頁索引報告檢查,確保所有目標都回傳 200 OK。
  • 在 noindex 頁面上設定 canonical 同一頁面同時寫 noindex 與 canonical,會送出互相矛盾的訊號。改善方式:要禁止索引就單獨用 noindex,要合併權重就單獨用 canonical,兩者不要並用。
  • 使用相對路徑導致解析錯誤 寫成 href="/product/abc" 看似簡潔,但在某些模板或代理環境下可能被解析到錯誤的 base URL。改善方式:一律使用含網域的完整絕對路徑。
  • canonical 寫在 body 而非 head 規格明確要求 canonical 必須位於 <head> 內,寫在 <body> 會被完全忽略,這在以 JS 動態插入時特別容易發生。改善方式:用檢視原始碼而非開發者工具確認實際輸出位置。
  • 多個 canonical 標記同時存在 一個頁面若有兩個以上的 canonical(常見於 CMS 與外掛各加一次),搜尋引擎可能任選其一或全部忽略。改善方式:每頁只保留一個,可用 SEO 檢查外掛快速確認。
  • 用 canonical 處理應該用 hreflang 的多語系 中文版與英文版之間是翻譯關係而非重複關係,應使用 hreflang。改善方式:每個語言版本各自指向自己的 canonical,再以 hreflang 標記彼此的語言對應。

Canonical 標記檢查清單

以下是實務稽核時使用的 canonical 檢查清單,適合企業內部或代理商在每月健診時逐項核對。建議搭配 Google Search Console 與全站爬蟲工具一起執行:

  • 所有頁面的 <head> 內都有一個(且只有一個)canonical 標記
  • Canonical 使用絕對路徑(https:// 開頭的完整網址)
  • Canonical 指向的網址回傳 HTTP 200,而非 301、404 或 5xx
  • Canonical 指向的網址沒有設定 noindex
  • 網站首頁有自我參照的 canonical 標記
  • 商品頁、分類頁、搜尋結果頁的 canonical 已正確設定
  • 含追蹤參數(utm、fbclid、gclid)的網址指向乾淨版本
  • Sitemap.xml 中只包含 canonical 版本的網址
  • 沒有 canonical 鏈式串接或彼此互指的循環
  • 多語系版本使用 hreflang 而非 canonical 互指
  • HTTP 與 HTTPS、www 與非 www 之間統一使用 301 轉址
  • 分頁系列各自指向自己,而非全部指向第一頁

實用檢查工具推薦

Google Search Console
網頁索引報告中查看 Google 實際採用的 canonical 是否與您設定的一致,不一致時會列出判定原因。
Screaming Frog SEO Spider
桌機軟體,可全站爬取並輸出 canonical 報表,免費版有網址數量上限,適合中小型網站定期健診。
Ahrefs 或 Semrush Site Audit
雲端稽核工具,可自動偵測 canonical 串接、循環與矛盾訊號,並依嚴重程度提供修復建議清單。

結論:canonical 是不可忽略的 SEO 基礎

canonical 看似只是一行簡單的 HTML,卻決定了搜尋引擎如何理解網站結構、如何分配排名權重、如何在結果中呈現您的內容。在 AI 搜尋時代,它更進一步影響內容被引用的版本,直接關係到品牌的數位可見度。

如果您正要進行網站技術稽核,可以先從以下五個問題自我檢查:

  • 所有頁面是否都有一個明確且正確的 canonical 標記?
  • 含追蹤參數的網址是否都指向乾淨版本?
  • 是否有任何 canonical 指向 404、5xx 或 noindex 頁面?
  • 多語系或多區域版本是否正確使用 hreflang?
  • Search Console 中 Google 實際採用的 canonical 是否符合預期?
核心結論:Canonical 標記是處理重複內容、集中排名權重、引導搜尋引擎與 AI 系統選擇正確版本的基礎技術。它不會立即帶來爆量流量,卻能讓所有 SEO 投入被集中、被放大、被正確歸屬到您指定的網址。想延伸了解技術 SEO,可參考新視野 SEO 教學指南

常見問答 FAQ

Canonical 標記必須每個頁面都設定嗎?
建議每個頁面都設定,即使該頁沒有重複內容,也應該使用指向自己的自我參照 canonical。這樣做有三個好處:第一是預防未來問題,當內容被加上追蹤碼分享、或系統升級產生新的網址變體時,標記能立即發揮作用,不必事後補救。第二是統一訊號,讓搜尋引擎清楚知道每頁的主要版本,減少演算法自行判斷的不確定性。第三是保護分享行為,內容被轉貼到社群或電子報時經常被附加參數,canonical 能讓這些變體都歸屬回原始頁面。實務上,規模較大的電商與媒體網站幾乎都在每個頁面設定,包含首頁與聯絡頁在內。
Canonical 標記和 301 轉址有什麼差別?該用哪一個?
兩者最大的差別在於使用者還需不需要看到舊網址。301 轉址會把使用者強制導向新網址,舊網址不再能停留;canonical 則讓所有版本都能被訪問,只是搜尋引擎把權重集中到指定版本。選擇原則有兩條:網址永久變更時用 301,例如分類重整、改用 HTTPS、統一 www 版本,這些都是不可逆的結構調整;內容相同但網址都要保留時用 canonical,例如帶追蹤碼的廣告網址、AMP 版本、商品的不同顏色頁。由於 301 更強烈也更難回頭,若還不確定結構是否會再調整,建議先用 canonical 過渡一段時間再決定。
Canonical 標記可以指向不同網域的網址嗎?
可以,這稱為跨網域 canonical。常見情境有三種:集團旗下多個品牌站發布同一篇文章時,統一指向主品牌站;內容授權轉載時,由轉載方指回原始出處,讓權重回歸原作;同一公司經營多個網域販售相同商品時,把排名能力集中到主網站。但要特別注意,被指向的目標版本會獨占搜尋結果的曝光,指過去的副本將不再出現在結果中,因此這個決策對流量分配影響很大,務必先與營運團隊確認策略。實作寫法與一般 canonical 相同,只是網址改為其他網域的完整絕對路徑,並建議雙方都在 Search Console 驗證所有權。
為什麼設定了 canonical,Search Console 卻顯示 Google 選擇了不同的網址?
因為 canonical 對 Google 而言是建議性訊號而非強制指令,判斷主版本時還會綜合其他因素,當別的訊號更強烈時就會改選不同版本。常見原因有五個:一是兩個版本的內容差異過大,被視為獨立頁面;二是反向連結集中在另一個版本,讓該版本看起來更重要;三是 sitemap 列出的網址與 canonical 不一致;四是站內連結多半指向另一個版本,形成矛盾;五是協定、www 與結尾斜線的偏好差異。解決方式是把 sitemap、站內連結、canonical 與 hreflang 全部統一指向同一個版本,調整後可在 Search Console 重新要求檢查。
分頁的第二頁、第三頁應該怎麼設定 canonical?
分頁設定是實務上最常見的錯誤之一。由於 Google 已不再支援上一頁與下一頁的關聯標記,目前建議做法有四點:第一,每個分頁的 canonical 指向自己,第二頁指第二頁、第三頁指第三頁。第二,不要把所有分頁都指向第一頁,這會讓深層的商品或文章失去被索引的機會。第三,各分頁的標題與描述加入頁碼差異,讓搜尋引擎清楚辨識這是不同頁面。第四,若分頁本身沒有 SEO 價值,可改用 noindex 搭配 follow,仍讓爬蟲循著連結發現深層內容。若站上有完整列表的單頁版本,也可將分頁指向該版本。
Canonical 標記能解決所有重複內容問題嗎?
不能。canonical 是處理重複內容的重要工具,但並非萬用解方,以下情境效果有限甚至不適用。第一,兩個從架構到內容都相同的獨立網站,也就是俗稱的鏡像站,需要先合併或關閉其中一個。第二,大量複製他人內容後再加上 canonical,技術上雖然正確,仍可能被判定為低品質網站。第三,多語系內容之間是對應關係而非重複關係,應改用 hreflang。第四,AMP 或行動版網址屬於特殊用法,需搭配對應的關聯標記。第五,站內搜尋結果頁與購物車頁應直接用 noindex 阻擋索引。適合的場景是同一網站內容相同或極相似的多個合法網址。
Canonical 標記設定後多久會生效?
生效需要經過三個階段,一般約兩到八週不等。第一階段是重新抓取,Googlebot 必須先再次爬到頁面才看得到新標記,更新頻繁的網站可能數天內完成,流量較小的網站則可能等上一兩週。第二階段是演算法判斷,看到標記後不會立刻採納,會再綜合站內連結、外部連結、sitemap 與內容相似度後決定。第三階段是搜尋結果更新,確認後結果頁的網址會逐步替換,權重也重新分配。想加速,可在 Search Console 使用網址檢查工具要求建立索引、更新並重新提交 sitemap,並讓站內連結一致指向目標網址。
AI 搜尋工具會遵守 canonical 標記嗎?
大致會,但各家處理方式略有差異。Google AI Overviews 建立在既有索引之上,判定結果與一般搜尋一致,因此完全依循索引中的主版本。ChatGPT 與 Perplexity 等工具在引用來源時,多半也會採用網站宣告的主要網址,但偶爾仍會引用到帶參數的版本。實務建議是:在 AI 搜尋時代,正確設定 canonical 比過去更重要,因為它決定了使用者點擊來源連結時看到的網址。若設定錯誤,可能被導向過時或帶廣告追蹤碼的版本,同時影響品牌形象與成效分析的準確度。建議搭配結構化資料與清楚的標題層級一起優化。

歡迎推廣本文,請務必連結(LINK)本文出處:新視野網頁設計公司