Thẻ Canonical là phần tử rel="canonical" dùng để cho Google biết URL nào bạn muốn được xem là phiên bản đại diện khi nhiều URL có nội dung trùng hoặc rất giống nhau. Canonical giúp hợp nhất tín hiệu về một URL ưu tiên, giảm sự phân tán dữ liệu và làm cấu trúc index dễ quản lý hơn.
Điểm cần hiểu đúng là Canonical không phải mệnh lệnh tuyệt đối. Google xem đây là một tín hiệu mạnh, nhưng vẫn có thể chọn URL khác nếu các tín hiệu trên website mâu thuẫn hoặc URL bạn khai báo không phải phiên bản phù hợp nhất.
Thẻ Canonical là gì?
Thẻ Canonical là phần tử HTML đặt trong <head> của trang:
<link rel="canonical" href="https://example.com/trang-chinh/" />Ý nghĩa của đoạn mã trên là: trang hiện tại thuộc một nhóm URL có nội dung giống hoặc gần giống nhau, và website muốn https://example.com/trang-chinh/ được xem là URL đại diện.
Google gọi quá trình lựa chọn URL đại diện này là canonicalization. Khi nhiều URL có cùng nội dung chính, Google có thể gom chúng thành một cluster rồi chọn một URL canonical để sử dụng như phiên bản đại diện trong Search.

Canonical không phải “thuốc chữa Duplicate Content” theo nghĩa tuyệt đối
Duplicate content trên cùng một website không tự động là spam và Google không đơn giản “đánh tụt tất cả các trang” chỉ vì tìm thấy hai URL giống nhau.
URL trùng lặp có thể xuất hiện hoàn toàn bình thường do:
- HTTP và HTTPS.
- www và non-www.
- Tham số tracking.
- Bộ lọc sản phẩm.
- Thứ tự sắp xếp.
- Phiên bản in.
- Thiết bị desktop/mobile dùng URL riêng.
- URL demo hoặc staging bị crawl ngoài ý muốn.
Vấn đề lớn hơn là website để quá nhiều phiên bản cùng tồn tại mà không có tín hiệu nhất quán. Khi đó Google phải tự xác định URL đại diện, dữ liệu báo cáo bị phân tán và bot có thể dành thời gian cho nhiều URL không cần thiết.
Canonical giúp website nói rõ phiên bản ưu tiên, nhưng chỉ nên dùng khi các trang trùng hoặc rất giống nhau.
Google chọn Canonical như thế nào?
Google không chỉ nhìn thẻ rel="canonical". Hệ thống sử dụng nhiều tín hiệu để chọn URL đại diện.
| Tín hiệu | Mức ảnh hưởng | Cách dùng |
|---|---|---|
| Permanent redirect | Mạnh | Dùng khi URL cũ không còn cần tồn tại cho người dùng |
| rel=”canonical” | Mạnh | Dùng khi nhiều URL vẫn cần truy cập nhưng chỉ muốn một URL đại diện |
| XML Sitemap | Yếu hơn | Chỉ đưa các URL canonical/indexable cần ưu tiên |
| Internal links | Tín hiệu hỗ trợ | Link nhất quán tới URL canonical |
| HTTPS, hreflang, site setup | Tín hiệu hệ thống | Giữ cấu hình nhất quán với URL ưu tiên |
Các tín hiệu này có thể cộng hưởng. Ví dụ, một URL được self-canonical, nằm trong sitemap, nhận internal link trực tiếp và không bị redirect sẽ tạo thông điệp rõ hơn một URL chỉ có canonical nhưng các tín hiệu khác lại trỏ sang nơi khác.
“Canonical hiệu quả nhất khi toàn bộ website cùng nói một điều: canonical, sitemap, internal link, redirect và hreflang đều phải thống nhất về URL nào là phiên bản đại diện.”
Anh Thắng Giấu Tên – CEO Xuyên Việt Media
Self-referencing Canonical là gì?
Self-referencing Canonical là canonical trỏ về chính URL hiện tại.
Ví dụ:
<link rel="canonical" href="https://example.com/dich-vu-seo/" />Ngay cả khi trang chỉ có một URL chính, Google vẫn khuyến nghị dùng self-canonical cho trang canonical.
Lợi ích:
- Làm rõ URL chuẩn.
- Giảm tác động của tham số tracking.
- Giúp CMS giữ quy tắc canonical nhất quán.
- Hạn chế URL copy do campaign hoặc affiliate trở thành phiên bản ưu tiên.
Khi nào nên dùng Canonical?
URL có tham số tracking
Ví dụ:
https://example.com/dich-vu-seo/
https://example.com/dich-vu-seo/?utm_source=facebook
https://example.com/dich-vu-seo/?ref=partner01
Nếu nội dung thực tế giống nhau, các URL có tham số có thể canonical về URL sạch:
<link rel="canonical" href="https://example.com/dich-vu-seo/" />Bộ lọc và sắp xếp Ecommerce
Một danh mục có thể tạo:
/ao-thun/
/ao-thun/?color=black
/ao-thun/?sort=price-asc
/ao-thun/?size=l&color=black
Không được canonical tất cả bộ lọc về danh mục gốc một cách máy móc. Trước tiên cần xác định URL filter có giá trị tìm kiếm riêng hay chỉ là biến thể phục vụ UX.
Nếu filter tạo một landing page có nhu cầu tìm kiếm, nội dung và sản phẩm riêng, trang đó có thể cần self-canonical. Nếu chỉ là một cách sắp xếp lại cùng tập nội dung, canonical về URL đại diện có thể phù hợp hơn.
Đây là nơi Crawl Budget và URL architecture cần được xem cùng nhau trên website Ecommerce lớn.
Biến thể sản phẩm
Nếu mỗi màu/kích thước có URL riêng nhưng không cần index riêng, variant pages có thể canonical về product canonical.
Ngược lại, nếu mỗi biến thể có nội dung, availability, intent hoặc giá trị tìm kiếm thực sự khác nhau, không nên ép toàn bộ về một URL chỉ vì chúng cùng thuộc một sản phẩm.
HTTP và HTTPS
Phiên bản HTTPS nên là phiên bản chuẩn khi website đã chuyển sang kết nối an toàn.
Ngoài canonical, HTTP nên redirect trực tiếp sang HTTPS tương ứng. Không nên để:
HTTP page → canonical HTTPS
nhưng người dùng vẫn truy cập HTTP bằng status 200
Khi URL cũ không còn lý do tồn tại, redirect là tín hiệu rõ hơn.
www và non-www
Chọn một host chính:
https://www.example.com/
hoặc:
https://example.com/
Sau đó dùng redirect, canonical, sitemap và internal links nhất quán với lựa chọn đó.
Affiliate/referral URLs
URL có affiliate ID thường chỉ thay đổi tham số, không thay đổi nội dung chính.
Ví dụ:
/san-pham-a/
/san-pham-a/?ref=abc
/san-pham-a/?affiliate=123
Canonical về URL sạch giúp giảm phân mảnh tín hiệu nếu các biến thể thực sự cùng nội dung.

Canonical và 301 Redirect khác nhau thế nào?
| Tiêu chí | Canonical | 301 Redirect |
|---|---|---|
| Người dùng | Vẫn ở URL hiện tại | Được chuyển sang URL mới |
| Googlebot | Nhận tín hiệu URL đại diện | Được chuyển tới URL đích |
| URL cũ | Vẫn truy cập được | Không còn là trang độc lập |
| Phù hợp | Trang biến thể vẫn cần tồn tại | URL cũ đã được thay thế |
| Sức mạnh tín hiệu | Mạnh | Mạnh và rõ khi loại bỏ URL cũ |
Quy tắc thực tế:
Nếu người dùng không còn cần URL A → dùng redirect.
Nếu người dùng vẫn cần URL A nhưng Search nên ưu tiên URL B → cân nhắc Canonical.
Canonical và Noindex khác nhau thế nào?
Đây là hai tín hiệu phục vụ mục tiêu khác nhau.
- Canonical: nói rằng URL này thuộc nhóm nội dung trùng/gần trùng và URL khác nên là đại diện.
- Noindex: yêu cầu URL hiện tại không xuất hiện trong Search.
Google không khuyến nghị dùng noindex như cách chọn canonical trong cùng một website.
Không nên cấu hình:
Trang A:
noindex
canonical → Trang B
nếu mục tiêu của bạn chỉ là hợp nhất duplicate. Hai tín hiệu có thể làm cấu hình trở nên khó hiểu và không cần thiết.
Canonical và XML Sitemap
XML Sitemap là một tín hiệu canonicalization, nhưng yếu hơn rel="canonical".
Nguyên tắc:
- Sitemap chỉ nên chứa URL indexable bạn xem là canonical.
- Không đưa URL parameter trùng lặp vào sitemap.
- Không để canonical nói A nhưng sitemap chỉ khai báo B nếu A mới là URL bạn muốn ưu tiên.
Xem thêm Sitemap XML để giữ hệ URL indexable nhất quán.
Canonical và Internal Link
Internal link không phải thẻ canonical nhưng là tín hiệu hỗ trợ rất quan trọng.
Nếu website canonical:
/dich-vu-seo/?source=menu
→ /dich-vu-seo/
nhưng menu, breadcrumb và bài viết nội bộ vẫn liên tục link tới URL có tham số, website đang tự tạo tín hiệu mâu thuẫn.
Internal links nên trỏ trực tiếp tới URL canonical khi có thể.
Điều này vừa giảm redirect, vừa giữ kiến trúc Internal Link sạch hơn.
Canonical có gom Backlink và tín hiệu không?
Một trong những lý do Google khuyến nghị canonicalization là giúp hợp nhất tín hiệu từ các URL trùng hoặc rất giống nhau.
Ví dụ:
/huong-dan-seo/
/huong-dan-seo/?utm_source=email
Nếu cả hai thuộc cùng cluster và URL sạch được chọn làm canonical, Google có thể hợp nhất các tín hiệu từ phiên bản tham số về URL đại diện.
Tuy nhiên, đừng hiểu canonical như một công cụ “chuyển 100% link juice” có thể dùng để trỏ bất kỳ trang nào sang trang cần SEO. Hai trang quá khác nhau có thể khiến Google bỏ qua canonical.
Canonical có ngăn Keyword Cannibalization không?
Canonical và Keyword Cannibalization không phải cùng một vấn đề.
Canonical phù hợp khi hai URL trùng hoặc rất giống.
Cannibalization có thể xảy ra khi hai bài viết khác nhau cùng cạnh tranh cho một intent. Khi đó giải pháp có thể là:
- Gộp nội dung.
- Đổi intent.
- 301 redirect.
- Cải thiện internal linking.
- Viết lại cấu trúc topic.
Không canonical hai bài khác nhau chỉ vì chúng cùng chứa một từ khóa.
Canonical cho Pagination: đừng trỏ mọi trang về trang 1
Đây là lỗi rất phổ biến ở category và Ecommerce.
Ví dụ:
/danh-muc/
/danh-muc/?page=2
/danh-muc/?page=3
Nếu trang 2 và trang 3 chứa tập sản phẩm/bài viết khác trang 1, chúng không phải duplicate hoàn toàn.
Mỗi page indexable nên có URL riêng và thường self-canonical.
Google không còn dùng rel="next" và rel="prev" để hiểu chuỗi pagination. Điều quan trọng hơn là:
- Mỗi page có URL crawlable.
- Các trang được liên kết bằng
<a href>. - Không dùng fragment
#page=2thay URL crawlable. - Không canonical tất cả page về page 1 nếu nội dung khác nhau.
Canonical cho m-dot/mobile URL
Nếu website vẫn sử dụng URL mobile riêng:
Desktop: https://example.com/page/
Mobile: https://m.example.com/page/
m-dot có thể canonical về desktop tương ứng, còn desktop khai báo rel="alternate" tới mobile.
Tuy nhiên, responsive design với một URL chung thường đơn giản hơn về vận hành, reporting và canonicalization.
Canonical cho nội dung Syndication
Trước đây nhiều hướng dẫn khuyên website đăng lại nội dung đặt cross-domain canonical về nguồn gốc.
Google hiện không xem canonical là giải pháp đáng tin nhất để kiểm soát syndicated content, vì phiên bản đăng lại có thể khác đủ nhiều khiến canonical không được dùng như mong muốn.
Nếu yêu cầu của bạn là phiên bản đối tác không xuất hiện trên Google Search, giải pháp rõ ràng hơn là yêu cầu đối tác không cho index phiên bản syndicated đó.
Cross-domain canonical vẫn tồn tại như một kỹ thuật canonicalization, nhưng không nên dùng nó như cơ chế duy nhất để chứng minh “ai là tác giả gốc”.
Canonical cho PDF hoặc tài liệu không phải HTML
Thẻ <link rel="canonical"> chỉ hoạt động trong HTML <head>.
Với PDF hoặc tài liệu khác, có thể gửi canonical trong HTTP header:
Link: <https://example.com/whitepaper/>; rel="canonical"Trường hợp điển hình:
/whitepaper/
/whitepaper.pdf
Nếu bạn muốn HTML là phiên bản đại diện, PDF có thể khai báo canonical qua HTTP response header.
Cách viết thẻ Canonical chuẩn
Dùng URL tuyệt đối:
<link rel="canonical" href="https://example.com/trang-chinh/" />Không ưu tiên dạng tương đối:
<link rel="canonical" href="/trang-chinh/" />Google có thể xử lý đường dẫn tương đối, nhưng khuyến nghị URL tuyệt đối để giảm lỗi khi staging, base URL hoặc host thay đổi.
Canonical phải nằm ở đâu?
Với HTML, canonical phải nằm trong phần <head>.
Ví dụ:
<head>
<title>Dịch vụ SEO</title>
<link rel="canonical" href="https://example.com/dich-vu-seo/" />
</head>Canonical đặt trong <body> không phải cách triển khai đúng.
Nếu website dùng JavaScript rendering, tốt nhất canonical đã có trong HTML nguồn và JavaScript không thay đổi nó sau đó.
Cách cài Canonical trên WordPress
Các plugin SEO phổ biến như Yoast SEO và Rank Math thường tự tạo self-referencing canonical cho post/page indexable.
Trong phần lớn bài viết thông thường, bạn không cần nhập Canonical thủ công.
Chỉ custom canonical khi:
- Trang hiện tại thật sự là duplicate/near-duplicate của URL khác.
- Có một phiên bản đại diện rõ ràng hơn.
- Đã kiểm tra sitemap, redirect và internal link không mâu thuẫn.
Không nhập canonical chỉ vì “muốn đẩy sức mạnh SEO” sang một page khác.
8 lỗi Canonical thường gặp
1. Canonical trỏ tới URL 404
URL đại diện cần tồn tại và có khả năng được index. Trỏ canonical tới 404 tạo tín hiệu không hợp lý.
2. Canonical trỏ qua redirect
Nếu A canonical về B nhưng B redirect sang C, hãy trỏ A trực tiếp tới C khi C mới là URL cuối cùng cần ưu tiên.
3. Canonical chain
A → canonical B
B → canonical C
Giữ mapping trực tiếp:
A → canonical C
B → canonical C
C → canonical C
4. Canonical loop
A → B
B → A
Đây là cấu hình xung đột rõ ràng.
5. Sitemap và Canonical không thống nhất
Nếu A canonical sang B nhưng sitemap chỉ đưa A, bạn đang phát hai tín hiệu khác nhau.
6. Internal link trỏ tới duplicate URL
Canonical B nhưng navigation vẫn link A khiến cấu trúc kém nhất quán.
7. Canonical tới nội dung khác hẳn
Canonical không phải redirect mềm. Nếu hai trang không trùng hoặc gần trùng, Google có thể bỏ qua khai báo.
8. Canonical và Hreflang sai ngôn ngữ
Với website đa ngôn ngữ, canonical nên nằm trong cùng ngôn ngữ hoặc phiên bản thay thế phù hợp nhất, đồng thời hreflang phải được cấu hình nhất quán.
Robots.txt có dùng để Canonicalize được không?
Không.
Robots.txt chỉ kiểm soát crawling trong phạm vi hỗ trợ. Một URL bị disallow vẫn có thể được Google biết đến qua link và xuất hiện dưới dạng URL không có nội dung đầy đủ.
Google không khuyến nghị dùng robots.txt cho canonicalization.
URL Removal Tool có thay Canonical được không?
Không. URL Removal Tool dùng để tạm ẩn kết quả trong Search, không phải để xác định URL đại diện.
Đừng dùng Removal Tool khi mục tiêu chỉ là hợp nhất duplicate URLs.
Cách kiểm tra Canonical trên website
1. View Source
Mở source và tìm:
rel="canonical"Kiểm tra URL:
- Đúng protocol.
- Đúng hostname.
- Không có typo.
- Không trỏ tới redirect/404.
2. Google Search Console URL Inspection
URL Inspection cho phép xem:
- User-declared canonical.
- Google-selected canonical.
Nếu hai URL khác nhau, đừng chỉ ép lại canonical. Hãy kiểm tra toàn bộ tín hiệu: redirect, sitemap, internal links, content similarity, hreflang và indexability.
3. Crawl toàn website
Screaming Frog, Sitebulb hoặc crawler tương tự có thể tìm:
- Missing canonical.
- Multiple canonical.
- Canonical tới 3xx/4xx/5xx.
- Non-indexable canonical.
- Canonical chains.
- Sitemap/canonical mismatch.

Checklist Canonical cho Technical SEO
| Kiểm tra | Trạng thái tốt | Rủi ro |
|---|---|---|
| Canonical target | 200 OK, indexable | 3xx, 4xx, noindex |
| URL format | Absolute HTTPS URL | Sai host/protocol |
| Self-canonical | Có trên URL canonical | Thiếu hoặc trỏ nhầm |
| Sitemap | Chỉ chứa canonical URLs | Chứa duplicate variants |
| Internal links | Link trực tiếp canonical URL | Link qua duplicate/redirect |
| Content similarity | Duplicate/near-duplicate | Canonical giữa hai nội dung khác hẳn |
| Pagination | Mỗi page indexable có URL riêng | Tất cả canonical về page 1 |
| Hreflang | Nhất quán theo ngôn ngữ | Canonical/hreflang mâu thuẫn |
Với website lớn, Canonical nên được kiểm tra cùng Technical SEO, Sitemap, robots, pagination, parameter handling và internal architecture để tránh sửa từng URL riêng lẻ nhưng lỗi template vẫn tiếp tục sinh ra.
Câu hỏi thường gặp về thẻ Canonical
Canonical có bắt Google index URL tôi chọn không?
Không. Đây là tín hiệu mạnh nhưng Google vẫn tự chọn canonical dựa trên toàn bộ tín hiệu và nội dung.
Trang Canonical có cần self-canonical không?
Nên có. Google khuyến nghị canonical page khai báo canonical về chính nó.
Canonical có cần URL tuyệt đối không?
Nên dùng URL tuyệt đối đầy đủ protocol và hostname để giảm lỗi cấu hình.
Có nên canonical toàn bộ filter về category chính?
Không mặc định. Chỉ canonical khi filter không cần index riêng và nội dung thực sự là duplicate/near-duplicate. Filter có intent tìm kiếm riêng có thể cần chiến lược khác.
Canonical có thay 301 Redirect không?
Không. Nếu URL cũ không còn cần truy cập, redirect thường phù hợp hơn.
Canonical có dùng cho PDF không?
Có thể khai báo qua HTTP Link header vì PDF không có HTML <head>.
Có nên dùng noindex và canonical cùng lúc?
Không nên nếu mục tiêu chỉ là canonicalization trong cùng site. Hai tín hiệu giải quyết hai nhu cầu khác nhau.
Google có dùng rel=”next” và rel=”prev” cho Pagination không?
Không. Các trang pagination cần URL crawlable và liên kết thông thường; mỗi trang khác nội dung thường nên self-canonical.
Canonical có giúp tiết kiệm Crawl Budget không?
Có thể giúp Google dành ít crawl hơn cho duplicate URLs sau khi cluster và canonicalization được hiểu đúng, nhưng đây không phải giải pháp duy nhất cho URL explosion. Website lớn còn cần kiểm soát filter, faceted navigation, internal links và robots phù hợp.
Kết luận
Thẻ Canonical giúp website khai báo URL đại diện cho một nhóm nội dung trùng hoặc rất giống nhau. Nó đặc biệt hữu ích với Ecommerce, URL parameters, affiliate tracking, phiên bản thiết bị và các hệ thống CMS tạo nhiều đường dẫn tới cùng nội dung.
Canonical không phải mệnh lệnh tuyệt đối và cũng không phải công cụ để “chuyển sức mạnh SEO” giữa hai trang bất kỳ. Muốn Google chọn đúng URL, canonical phải đồng bộ với redirect, Sitemap, internal links, hreflang và khả năng index.
Nguyên tắc dễ nhớ nhất là: duplicate còn cần truy cập → Canonical; URL cũ không còn cần tồn tại → Redirect; trang không muốn xuất hiện trong Search → Noindex.
Khi website có hàng nghìn URL filter, parameter hoặc các canonical target không nhất quán, dịch vụ SEO tổng thể nên xử lý từ template và kiến trúc URL thay vì sửa Canonical thủ công từng trang.
Tài liệu tham khảo
Google Search Central. (n.d.). What is URL canonicalization?
Google Search Central. (n.d.). How to specify a canonical URL with rel=”canonical” and other methods.
Google Search Central. (n.d.). Fix canonicalization issues.
Google Search Central. (n.d.). Pagination, incremental page loading, and their impact on Google Search.
Google Search Central. (n.d.). Ecommerce URL structure best practices.
