WordPress Canonical 標籤怎麼設定?解決重複內容讓 Google 集中索引正確版本

WordPress 有一個容易被忽視的設計特性:一篇文章可以從不同的網址被訪問。分類頁、標籤頁、首頁、作者頁、日期檔案,以及分頁結果都可能展示同一篇內容。每當 Google 爬蟲走過這些不同的網址時,都在消耗你網站的爬蟲預算。對搜尋排名來說,這是無形但持續的負擔。

正規化標籤是解決這個問題的簡單工具。它向搜尋引擎說「這些頁面的正式版本在這裡」,讓 Google 集中力量索引你想要的網址,而不是在複本之間分散注意力。

什麼是正規化標籤

正規化標籤(<link rel="canonical" href="...">)是 HTML 的一行代碼,放在頁面的 <head> 標籤內,告訴搜尋引擎當有多個網址呈現相同或類似內容時,哪一個才是官方版本。

打個比方:假設一份文件有三份副本,正規化標籤就像在最正確的那份上寫「這是原件」。搜尋引擎看到這個標記,會優先爬蟲該版本、只把排名權重集中在這個網址上,其他副本則當作參考資料,不會浪費爬蟲配額。

在 WordPress 環境裡,這個問題特別普遍,因為 WordPress 本身會自動為分類、標籤、分頁生成多個網址路徑。不主動設定,系統會自動添加,但未必指向最有策略價值的網址。

WordPress 常見的重複內容來源

分類頁與標籤頁的內容重複

每一篇文章可能歸在多個分類或貼上多個標籤,對應的分類頁面和標籤頁面都會展示文章片段。一篇文章若同時出現在「WordPress 教學」分類和「SEO」標籤底下,讀者就能從兩個不同的路徑看到這篇文章,甚至看到相同的摘要。

決定策略很重要:如果分類頁和標籤頁都有價值(各自針對不同搜尋意圖),就讓它們各自保有獨立的正規化標籤(self-referencing),互不衝突。但若其中一個只是薄弱的存檔頁面,沒什麼實質貢獻,可以考慮把它 noindex,或讓它的正規化標籤指向另一個更有策略意義的版本。

分頁導致的片段重複

許多網站在首頁或歸檔頁顯示「每頁 10 篇文章」,於是產生 /page/2、/page/3 這類網址。這些頁面內容確實不同——page 2 列的是第 11–20 篇,page 3 是第 21–30 篇——但搜尋引擎有時會誤判它們是重複。

常見的錯誤做法是把 page 2 到 page N 的正規化標籤都指向 /page/1,但這樣做會告訴 Google「page 2 的內容其實是 page 1 的複製」。結果就是 page 2 以後永遠不會被索引。正確做法是讓每一頁都自我參考(page 2 的正規化標籤指向自己的 /page/2),確保各頁都被視為獨立內容。

搜尋結果頁與篩選參數造成的變化

帶 URL 參數的搜尋結果頁面(如 ?s=wordpress 或 ?category=seo&order=popular)可能展示相同的文章組合,只是排序或篩選不同。這些技術上是不同的網址,但內容大致相同,容易被 Google 列為重複。

協議、網域、www 的不統一

有些網站同時可以用 http 和 https 訪問,或同時支援 www 與不帶 www 的版本。如果沒有設定統一的正規化標籤和 301 重導,這些變化都會被當作不同的頁面。

用 Yoast SEO 設定正規化標籤

單篇文章的手動設定

  1. 編輯文章,滑到下方找「Yoast SEO」區塊
  2. 展開「進階」選項卡
  3. 在「Canonical URL」欄位填入你想要的網址
  4. 儲存文章

如果你沒有特別需求,Yoast 預設會自動為你設定正規化標籤,指向文章本身的永久連結。99% 的情況下不需手動改。只有在需要指向其他版本(比如文章被重新發布在另一個位置)時才需要手動設定。

網站層級的正規化標籤設定

Yoast 提供全站設定,可以統一管理分類頁、標籤頁、分頁結果的正規化標籤邏輯。進到「Yoast SEO > 設定 > 進階」,能看到「Canonical URLs」區域。預設設定通常是安全的——自動正規化標籤,各頁自我參考。

如果你的分類和標籤頁面內容很薄弱(只是文章列表,沒有獨立的介紹文字),可以在這裡設定把它們 noindex,而不是依賴正規化標籤。

用 Rank Math 設定正規化標籤

Rank Math 的方式類似,但介面位置不同。

  1. 編輯文章,找到 Rank Math 區塊(通常在側欄)
  2. 點開「Advanced」展開選項
  3. 找「Canonical URL」欄位,填入指定網址
  4. 發布或更新

Rank Math 在全站設定裡也提供正規化標籤自動化選項。進到「Rank Math > Settings > Titles & Meta > Archives」,可以配置分類頁、標籤頁、作者頁的正規化標籤行為。預設是自我參考,通常不需改動。

Rank Math 額外的優勢是提供了「Canonical URL」檢查工具,能幫你快速掃描網站內的正規化標籤設定是否有衝突。

手動設定正規化標籤的時機

雖然大多數人用 SEO 外掛就夠了,但有些情況需要手動調整。

跨域重複:你在多個域名上發佈相同內容(比如英文版本和中文版本),需要各語言版指向正式版本。設定 hreflang 標籤的同時搭配正規化標籤更有效果。

舊網址搬移到新網址:改版或遷移時,先用正規化標籤一段時間,確認搜尋引擎有抓到新網址,再用 301 重導永久替換。

聯合內容:如果同一篇文章在多個網站發佈(如部落格轉載到新聞聚合站),在轉載版本的正規化標籤指向原始出處,告訴 Google 哪一個是原創。

檢查和驗證正規化標籤是否正確設定

用瀏覽器檢視原始碼

最簡單的方法是在你的頁面上右鍵「檢視頁面原始碼」,用 Ctrl+F 搜尋「canonical」。應該會看到類似這樣的行:

<link rel="canonical" href="https://yoursite.com/post-name/" />

確認 href 指向的網址是你想要的。

用 Google Search Console 檢查

  1. 進到 GSC,選擇網站
  2. 左側菜單「網頁」→「頁面」
  3. 找到你的頁面,點開查看詳細資料
  4. 在「使用者指定的標準網址」看正規化標籤是否正確設定

GSC 也會顯示「Google 選定的標準網址」,有時與你設定的不同。通常 Google 很聰明,會自動優化,但若出現衝突(比如設定了 A,Google 卻選了 B),代表 Google 認為 B 的訊號更強,可能需要調查原因。

用外掛檢查工具

Yoast 和 Rank Math 都有內建的檢查功能,在後台儀表板顯示正規化標籤問題。SEO 外掛的免費版通常已包含這類診斷工具。

正規化標籤的常見錯誤

把所有分頁都指向第一頁:如前所述,這會讓第 2 頁以後永不被索引。除非是你真的想隱藏那些頁面,否則避免這麼做。

自相矛盾的正規化標籤:A 頁指向 B,B 又指向 C,C 指向 A。這會讓搜尋引擎困惑。確保正規化標籤是單向且最終指向同一個目標。

硬寫正規化標籤與外掛衝突:如果你在主題的 header.php 裡硬寫了正規化標籤,又用 Yoast 外掛自動生成,頁面會出現兩個標籤,Google 會選一個,但浪費了處理時間。用一套系統(優先用 SEO 外掛),保持單一真實來源。

沒有設定協議或域名統一:確保正規化標籤使用的是絕對路徑(完整 URL 含 https://),不要用相對路徑。同時設定好 301 重導或 HTTPS 強制,讓系統只有一個進入點。

何時需要補充 noindex

正規化標籤不是隱藏頁面的工具,而是重定向權重的工具。若搜尋結果頁或標籤頁品質真的很差,不值得被索引,用 noindex 指令比正規化標籤更直接。

如果一個分類頁只是「這個分類下有 3 篇文章」,沒有獨立的介紹或策略價值,可以在外掛設定裡把它 noindex,告訴 Google 根本不要索引這個頁面。結合正規化標籤和 noindex,才能完整控制你的索引策略。

大多數情況下,Yoast SEO 或 Rank Math 的預設設定足夠了。它們會自動為每個頁面生成正規化標籤,指向對應的原始版本,避免跨域、分頁或參數造成的重複被重複計算。真正需要動手的場景很少,只有當你的網站有特殊的內容架構(比如多個網域、聯合內容、複雜的篩選邏輯),或發現 GSC 報告異常指示時,才需要進一步調整。定期用 Search Console 檢查「標準網址」報告,確保 Google 選定的版本符合你的預期。如果有出入,檢查是否有衝突的正規化標籤或硬轉導,修正後再觀察。

相關文章
標籤: canonical 標籤, 重複內容, WordPress SEO, Rank Math, Yoast SEO