標準網址 canonical 是什麼?怎麼設定,解決重複內容問題

標準網址 canonical 是一段埋在網頁裡的語法,作用是告訴 Google:好幾個內容相近的網址中,這一個才是正版,請把排名算在它頭上,避免重複內容互相稀釋。部落格最常見的重複不是電商商品規格,而是分類頁、分頁、同一篇貼到多平台,還有搬家後新舊網址並存。這篇帶你搞懂標準網址是什麼、為什麼部落格也會重複、它跟 301 差在哪、多平台和搬家怎麼指定正版,還有怎麼設定跟最常見的錯誤。

標準網址 canonical 是什麼?

「我又沒抄別人,為什麼 Google 說我有重複內容?」這是很多人看到 Search Console 報表時的第一個疑問。標準網址(canonical)是一段埋在網頁程式碼裡的語法,用來告訴 Google 一堆相似網址中哪一個是正版,寫法是 rel=”canonical”。當好幾個網址內容幾乎一樣,Google 不知道該把排名算給誰,你就用標準網址幫它指定主頁,把分散的權重集中回來。

重點是,這些頁面本身沒有錯、也都還能正常打開,你只是主動跟 Google 說「請以這一個為準」。

為什麼部落格也會有重複內容?

就算你每篇都原創,部落格還是很容易產生重複,因為很多重複是系統自動長出來的,不是你抄來的。常見的有:

  • 分類頁、標籤頁:同一篇同時出現在好幾個分類和標籤的列表
  • 分頁:文章列表的第 2 頁、第 3 頁,內容跟第 1 頁高度相似
  • 網址參數:外掛或廣告在網址後加一串參數,變成新網址但內容一樣
  • http 與 https 並存:同一個網站如果 http 和 https 兩個版本都打得開,會被當成兩個重複網址
  • 裸域與 www 並存:你的網站.com 和 www.你的網站.com 內容一樣也算重複
  • 同一篇貼到多平台:你把文章同時發在部落格和別的平台
  • 搬家後新舊網址並存:從痞客邦搬到 WordPress,舊網址一時還在,兩邊內容一樣

你怎麼知道 Google 把你判成重複了?看 Search Console。索引報表裡如果出現「重複網頁,使用者未選取標準網頁」,意思是你沒設 canonical、Google 自己幫你挑了一個主頁;如果是「Google 選擇的標準網頁與你所選不同」,代表你設了、但 Google 不認同、挑了別的。看到後面這個就要檢查你的 canonical 是不是指錯了。如果你正打算搬家,更要注意新舊網址銜接,我在部落格搬家懶人包裡有完整說明。

canonical 跟 301 轉址差在哪?權重會差嗎?

這兩個最容易混,差別在頁面還要不要留。301 轉址是「舊網址永久搬到新網址,舊的不再用」,點舊網址會真的被跳轉到新頁;canonical 是「這幾個網址都還在、都能開,但請以我指定的為主」。

那權重呢?以 Google 現在的說法,301 幾乎會把權重完整帶過去,canonical 在 Google 願意採信時,收斂效果也跟 301 差不多。所以權重本身兩者相近,真正差在強度:301 是強制,舊頁消失、一定跳轉;canonical 只是建議,兩頁都在、Google 可以不甩。正因為 canonical 是建議,可靠度比 301 低,內容真的搬走、舊的不要了,就該用 301 才保險。

內容在多個網址、又不是你能控制的,怎麼指定標準網址?

這裡有個很多人不知道的鐵則:canonical 只能由握有那個頁面控制權的人設定。你在自己 WordPress 外掛欄位填的標準網址,只能管你自己這一頁,沒辦法叫別人平台上那份複製去指向你。

很多人會問我:我把同一篇貼到別的平台,怎麼告訴大家正版在我這?答案要看那個平台給不給你設。少數平台有提供 canonical 或匯入功能(例如有些平台的匯入會自動幫你加 canonical 指回原文),那就用它指回正版;多數平台不給你設,這時 canonical 幫不上忙,比較穩的做法是自己的站先發布、先被 Google 收錄搶到原創時間點,其他平台不要整篇照搬,改放摘要加一條導回原文的連結。

搬家更麻煩。理想是在舊網址設 301 轉到新站,但痞客邦這種封閉平台,一般使用者根本沒辦法自己設 301 或 canonical,它不開放你編輯網頁的 head、也不給你設轉址。你可能會想,那直接在文章內文的 HTML 裡自己塞一段 canonical 進去就好?這樣不可以,canonical 一定要放在網頁的 head 才算數,你寫在內文會落在 body,Google 一律忽略,而且痞客邦的編輯器多半還會把這種標籤直接過濾掉。

更現實的是,舊家通常又老又有反向連結,只要新舊內容一樣,Google 很可能還是認舊家為主,你的新站反而搶不贏。而且光是「舊家不更新、只更新新家」幫助有限,因為舊頁還在、它的連結也還在。真正有效的只有兩條路:能設 301 就 301,設不了就把舊內容刪掉或設私密,讓新站變成唯一版本。這也是為什麼搬家這件事常常需要專業處理,我在痞客邦搬家攻略裡講得更細。

WordPress 怎麼設定標準網址?

好消息是,WordPress 用 SEO 外掛的話,標準網址大多是自動設好的,你不用每篇手動弄。像很多部落格在用的 Slim SEO、或 Yoast,預設都會幫每一頁輸出一個指向自己的標準網址,這在絕大多數情況就是對的。

需要手動改的只有特殊情況,例如你把某篇內容搬到新文章了,想把舊篇的標準網址指到那篇新的。這時到 SEO 外掛的標準網址欄位,填入那個正版網址就好。但記住前面講的:你填的只能控制你自己這頁。挑外掛可以參考我整理的 WordPress SEO 外掛比較

AI 搜尋時代,標準網址為什麼更該顧好?

因為 AI 在決定引用、推薦哪一頁時,最怕分不清哪個是正版。如果你同一份內容散在好幾個網址,AI 可能引用到你的分頁、參數網址、甚至別平台的版本,你的主頁反而沒拿到曝光。

標準網址等於幫 AI 把訊號收斂到同一頁,告訴它「要算就算這一個」。權威集中在一頁,比分散在五頁更容易被 AI 挑中。這跟整體 SEO 體質是一套,想一次補齊可以看部落格 SEO 懶人包

設定 canonical 常見的錯誤有哪些?

最常見的錯誤,是標準網址指到錯的頁面。我看過一位部落客,搬家時把全站文章的標準網址統一指到了首頁,結果 Google 以為每篇內文都不重要、只有首頁是正版,幾十篇文章排名整個掉下來,後來一篇一篇改回指向自己才慢慢回升。

  • 一頁設了兩個以上的標準網址:意思是同一個網頁的程式碼裡冒出兩條 canonical、各指不同網址。通常是你裝了兩個 SEO 外掛都在輸出,或佈景主題輸出一條、外掛又一條。Google 看到互相矛盾的指示會乾脆全部忽略,等於沒設。解法是同一頁只留一個來源管,其他關掉。
  • 標準網址指向一個 noindex(不准收錄)的頁面:一邊說「以這頁為主」,一邊又說「這頁別收錄」,訊號自相矛盾。
  • 把 canonical 當 301 用:內容其實已經搬到新網址了,舊頁該永久轉走,你卻只在舊頁設個 canonical、舊頁還留著能開。canonical 只是建議、舊頁也沒消失,訪客可能還是進到舊頁,Google 也可能不甩。這種情況正解是 301,不是 canonical。

金城老師觀點

金城老師觀點

老實說,標準網址這東西,大多數部落客平常不用操心,SEO 外掛預設都幫你設好了。真正要警覺的是兩個時間點:一個是搬家,新舊網址並存的時候;一個是你把同一篇內容貼到別的地方。這兩個時刻偏偏又是 canonical 最幫不上忙的地方,因為它管不到別人的平台、也擋不住舊家的權重。所以與其事後補救,不如搬家當下就把新舊銜接處理好,這比任何標準網址設定都重要。

延伸閱讀

參考資料

常見問題

標準網址 canonical 是什麼?

標準網址是埋在網頁裡的語法(rel=canonical),告訴 Google 在好幾個內容相近的網址中哪一個是正版、要把排名算在它頭上,用來解決重複內容稀釋排名的問題。

canonical 跟 301 轉址哪個權重比較好?

權重其實差不多,Google 說 301 幾乎完整帶過去,canonical 被採信時效果也相近。差別在強度:301 是強制跳轉、舊頁消失;canonical 只是建議、兩頁都還在。內容真的搬走用 301 比較保險。

我把文章貼到別的平台,怎麼指定正版在我這?

canonical 只能由控制那個頁面的人設定。對方平台有提供 canonical 或匯入功能就用它指回原文;不給設的話,就讓自己的站先發布被收錄,其他平台放摘要加原文連結,不要整篇照搬。

從痞客邦搬家,痞客邦可以自己設定標準網址或轉址嗎?

通常不可以。痞客邦這類封閉平台不開放使用者編輯網頁 head 或設定轉址,在內文 HTML 自己加 canonical 也無效。加上舊家又老又有權重,比較有效的做法是把舊內容刪掉或設私密,讓新站成為唯一版本。

為什麼我設了標準網址還是沒效果?

常見原因是指到錯的頁面(例如全指到首頁)、一頁設了兩個以上互相矛盾的標準網址、或指向一個 noindex 頁面。這些都會讓 Google 忽略你的設定,檢查並改成每頁指向正確的正版即可。

文章目錄