- Canonical Tag Là Gì và Hoạt Động Như Thế Nào?
- Tại Sao Duplicate Content Xảy Ra?
- Self-Referencing Canonical — Tại Sao Cần Thiết
- Các Trường Hợp Dùng Canonical Phổ Biến
- 1. E-commerce Product Variants
- 2. Syndicated Content
- 3. WWW / Non-WWW Consolidation
- 4. Pagination
- Lỗi Canonical Phổ Biến Cần Tránh
- Kiểm Tra Canonical
- Câu hỏi thường gặp về Canonical Tag
- Canonical tag có truyền PageRank không?
- Canonical hay Redirect 301 — khi nào dùng cái nào?
- Google-selected canonical khác user-declared canonical — xử lý thế nào?
- Có cần canonical cho tất cả trang không?
Trong số các vấn đề Technical SEO phổ biến nhất, duplicate content (nội dung trùng lặp — cùng một nội dung xuất hiện ở nhiều URL khác nhau, khiến Google khó xác định URL nào là “chính thức” để index và xếp hạng) gây ra nhiều nhầm lẫn và lo lắng không cần thiết nhất. Và canonical tag (thẻ canonical — thẻ HTML cho Google biết URL nào là phiên bản “chính thức” khi có nhiều URL với nội dung tương tự hoặc trùng lặp) là giải pháp chính để xử lý vấn đề này. Bài viết này giải thích canonical tag toàn diện — từ nguyên lý hoạt động đến các trường hợp sử dụng phức tạp nhất.
Canonical Tag Là Gì và Hoạt Động Như Thế Nào?
Canonical tag (còn gọi là rel=”canonical”) được đặt trong phần <head> của trang HTML:
<link rel="canonical" href="https://seonhanh.top/blog-seo/technical-seo/canonical-tag-la-gi/" />
Ý nghĩa: “Google ơi, dù bạn đang crawl URL nào, URL chính thức của nội dung này là URL trong thẻ canonical kia. Hãy index và xếp hạng URL đó, không phải URL bạn đang crawl.”
Canonical tag là hint (gợi ý), không phải directive (chỉ thị bắt buộc) — Google có thể chọn bỏ qua nếu thấy có lý do chính đáng. Tuy nhiên, trong thực tế Google thường tôn trọng canonical nếu được đặt đúng cách.
Tại Sao Duplicate Content Xảy Ra?
Duplicate content thường không cố ý — nó phát sinh tự động từ cách website hoạt động:
- WWW vs non-WWW:
https://example.comvàhttps://www.example.comlà hai URL khác nhau với cùng nội dung - Trailing slash:
/page/và/pagelà hai URL khác nhau - HTTP vs HTTPS: Nếu cả hai phiên bản đều accessible (có thể truy cập)
- URL parameters:
/product/?color=red,/product/?color=blue&size=L— mỗi combination là URL mới - Session IDs:
/page?sessionid=abc123— mỗi session tạo URL mới - Print versions (phiên bản in):
/page/print/với cùng nội dung nhưng CSS khác - Syndicated content (nội dung được đăng lại): Bài viết của bạn được republish trên website khác
- Pagination: Trang 1, 2, 3 của cùng một category
Self-Referencing Canonical — Tại Sao Cần Thiết
Self-referencing canonical (canonical tự tham chiếu — trang đặt canonical trỏ về chính URL của nó) nghe có vẻ vô nghĩa nhưng thực ra rất quan trọng:
<!-- Trên trang https://seonhanh.top/blog-seo/technical-seo/canonical-tag-la-gi/ -->
<link rel="canonical" href="https://seonhanh.top/blog-seo/technical-seo/canonical-tag-la-gi/" />
Lý do cần self-referencing canonical:
- Nếu trang của bạn được crawl với URL parameters (
?utm_source=facebook), canonical xác nhận URL sạch là phiên bản chính thức - Nếu website bị scrape (copy nội dung tự động) và đăng lại nơi khác — canonical trong nội dung gốc giúp Google xác định bạn là nguồn gốc
- Tạo explicit signal (tín hiệu rõ ràng) thay vì để Google tự suy luận
Các Trường Hợp Dùng Canonical Phổ Biến
1. E-commerce Product Variants
<!-- Trên /san-pham/ao-thun/?color=trang -->
<link rel="canonical" href="https://example.com/san-pham/ao-thun/" />
<!-- Trên /san-pham/ao-thun/?color=den&size=L -->
<link rel="canonical" href="https://example.com/san-pham/ao-thun/" />
Tất cả variants đều canonical về product page chính — tránh index hàng nghìn trang variant với nội dung gần như giống nhau.
2. Syndicated Content
Khi cho phép website khác đăng lại bài viết của bạn, yêu cầu họ thêm canonical trỏ về URL gốc của bạn:
<!-- Trên website B đang đăng lại bài từ seonhanh.top/ -->
<link rel="canonical" href="https://seonhanh.top/blog-seo/technical-seo/canonical-tag-la-gi/" />
3. WWW / Non-WWW Consolidation
Nếu chưa setup redirect 301 cho WWW/non-WWW:
<!-- Trên https://www.example.com -->
<link rel="canonical" href="https://example.com/trang/" />
Tuy nhiên, redirect 301 vẫn tốt hơn canonical cho trường hợp này — canonical chỉ là fallback.
4. Pagination
Với trang phân trang, Google khuyến nghị mỗi trang pagination tự canonical về chính nó (không canonical tất cả về trang 1) và sử dụng rel=”prev/next” để chỉ mối quan hệ — mặc dù Google đã ngừng hỗ trợ rel prev/next từ 2019.
Lỗi Canonical Phổ Biến Cần Tránh
| Lỗi | Mô tả | Hậu quả |
|---|---|---|
| Canonical trỏ về trang 404 | URL trong canonical tag đã bị xóa hoặc đổi | Google bỏ qua canonical, tự chọn version để index |
| Canonical chain (chuỗi canonical) | A canonical → B, B canonical → C | Google chỉ theo một cấp, có thể ignore toàn bộ chain |
| Noindex + canonical mâu thuẫn | Trang có cả noindex và canonical trỏ về trang đó | Tín hiệu mâu thuẫn — Google có thể không index cả canonical page |
| Canonical HTTP trên trang HTTPS | Trang HTTPS nhưng canonical trỏ về HTTP version | Truyền PageRank về phiên bản HTTP kém bảo mật |
| Multiple canonical tags (nhiều thẻ canonical) | Hai thẻ canonical trong cùng một trang | Google bỏ qua tất cả, tự chọn canonical |
Kiểm Tra Canonical
- Chrome DevTools → Elements → tìm “canonical”: Xem canonical tag thực tế đang được render
- GSC → URL Inspection: Google báo cáo canonical nào đang được sử dụng (user-declared canonical vs Google-selected canonical — đôi khi khác nhau)
- Screaming Frog: Audit toàn bộ canonical tags, tìm canonical chains và mismatches
- Ahrefs Site Audit: Phát hiện canonical issues tự động
Canonical tag là một phần trong bức tranh lớn hơn — kết hợp với hiểu crawling và indexing, robots.txt chuẩn và cấu trúc website chuẩn SEO để xử lý duplicate content toàn diện.
Câu hỏi thường gặp về Canonical Tag
Canonical tag có truyền PageRank không?
Có. Khi trang B đặt canonical trỏ về trang A, PageRank của B được truyền sang A — tương tự như redirect 301 nhưng không redirect người dùng. Đây là lý do canonical được dùng để “consolidate” (hợp nhất) PageRank từ nhiều URL về một URL chính — ví dụ: tất cả variants sản phẩm canonical về product page chính, PageRank từ tất cả variants được cộng dồn vào trang chính.
Canonical hay Redirect 301 — khi nào dùng cái nào?
Redirect 301 (chuyển hướng vĩnh viễn) là lựa chọn tốt hơn khi: trang cũ đã không còn cần thiết, không muốn người dùng truy cập URL cũ, và cả người dùng lẫn Googlebot nên đi đến URL mới. Canonical phù hợp hơn khi: muốn giữ cả hai URL accessible (có thể truy cập) với người dùng nhưng cho Google biết URL nào là canonical — ví dụ: product variants, syndicated content, URL với parameters. Quy tắc đơn giản: nếu URL cũ không còn cần thiết → redirect 301. Nếu cả hai URL hợp lệ nhưng cần chỉ định canonical → dùng canonical tag.
Google-selected canonical khác user-declared canonical — xử lý thế nào?
Google-selected canonical (canonical do Google chọn) xuất hiện trong GSC khi Google quyết định một URL khác xứng đáng là canonical hơn URL bạn khai báo. Điều này xảy ra khi: canonical bạn khai báo có ít authority hơn, trang canonical bạn khai báo bị redirect, hoặc nhiều tín hiệu khác (backlinks, internal links) đang trỏ về URL khác. Cách xử lý: điều tra xem Google chọn URL nào và tại sao → cải thiện internal links và backlinks trỏ về canonical bạn muốn → đảm bảo canonical URL không có issues kỹ thuật.
Có cần canonical cho tất cả trang không?
Best practice (thực hành tốt nhất) là thêm self-referencing canonical cho tất cả trang quan trọng — kể cả trang không có nguy cơ duplicate content. Lý do: nếu bất kỳ URL parameters nào được thêm vào (từ analytics, ads, affiliates), canonical xác nhận URL sạch là phiên bản chính thức. Plugin Rank Math và Yoast SEO tự động thêm self-referencing canonical cho mọi trang — không cần làm thủ công.
