Canonical Tag (rel="canonical")
Thẻ <link> chỉ định phiên bản ưu tiên của trang khi tồn tại nhiều URL tương tự.
Canonical Tag (rel="canonical") là gì?
Thẻ <link rel="canonical"> là một thẻ HTML đặt trong phần <head> của trang web, dùng để báo cho công cụ tìm kiếm biết phiên bản chính (ưu tiên) của một nội dung khi có nhiều URL dẫn đến cùng một nội dung hoặc nội dung rất giống nhau. Đây không phải là lệnh bắt buộc, mà là một đề xuất — nhưng các công cụ tìm kiếm lớn như Google, Bing đều tuân theo một cách đáng tin cậy nếu thẻ được triển khai đúng.
Tại sao quan trọng trong SEO?
Khi một trang tồn tại dưới nhiều URL (ví dụ: có tham số theo dõi, phiên bản mobile/desktop, HTTP/HTTPS, www/non-www), công cụ tìm kiếm có thể hiểu nhầm đó là những trang riêng biệt. Hệ quả là:
- Phân tán tín hiệu SEO: lượt click, backlink, thời gian ở trang… bị chia nhỏ giữa các URL giống nhau → làm yếu sức mạnh xếp hạng tổng thể;
- Nội dung trùng lặp (duplicate content): gây khó khăn cho việc xác định phiên bản nào nên hiển thị trong kết quả tìm kiếm;
- Tốn tài nguyên thu thập (crawl budget): bot tìm kiếm lãng phí thời gian thu thập nhiều phiên bản thay vì tập trung vào phiên bản chính.
Thẻ canonical giúp giải quyết cả ba vấn đề trên bằng cách chỉ rõ “đây là phiên bản gốc” — từ đó bảo toàn toàn bộ giá trị SEO cho một URL duy nhất.
Cách hoạt động
Khi bot tìm kiếm thu thập một trang chứa thẻ canonical, nó sẽ:
- Đọc giá trị thuộc tính
hreftrong thẻ<link rel="canonical" href="...">; - So sánh nội dung giữa trang hiện tại và URL được chỉ định;
- Nếu hai trang đủ giống nhau (thường >90% nội dung trùng), bot sẽ gộp tín hiệu (backlink, click, engagement…) về URL canonical;
- Chỉ hiển thị URL canonical trong kết quả tìm kiếm — trừ trường hợp người dùng tìm kiếm trực tiếp URL khác.
Lưu ý: Thẻ canonical không chuyển hướng người dùng, cũng không ảnh hưởng đến trải nghiệm người xem. Nó chỉ dành riêng cho công cụ tìm kiếm.
Hướng dẫn thực hiện
Dưới đây là các bước triển khai chuẩn, an toàn và hiệu quả:
- Xác định phiên bản chính: Chọn URL ngắn gọn, ổn định, không có tham số thừa (ví dụ:
https://example.com/san-phamthay vìhttps://example.com/san-pham?ref=blog&utm_source=fb). - Thêm thẻ vào <head>: Đặt chính xác một thẻ
<link rel="canonical" href="[URL-chính]" />trong phần<head>của tất cả các phiên bản tương tự. - Sử dụng URL tuyệt đối: Luôn viết đầy đủ giao thức và tên miền (ví dụ:
https://example.com/bai-viet— không dùng/bai-viethay//example.com/bai-viet). - Đảm bảo tính nhất quán: Tất cả các phiên bản phải trỏ về cùng một URL canonical — không có vòng lặp (A → B → A) hay mâu thuẫn (A → B, B → C).
- Kiểm tra sau triển khai: Dùng công cụ như Google Search Console (phần Coverage > Valid with warnings) hoặc trình kiểm tra nguồn (View Source) để xác nhận thẻ hiển thị đúng.
Lỗi thường gặp
Dưới đây là những sai lầm phổ biến và cách khắc phục:
| Lỗi | Hệ quả | Cách sửa |
|---|---|---|
| Thẻ canonical trỏ tới URL trả về mã trạng thái 404 hoặc 5xx | Bot bỏ qua thẻ, coi như không tồn tại | Luôn kiểm tra mã phản hồi (status code) của URL canonical bằng công cụ như HTTP Status Checker |
| Nhiều thẻ canonical trên cùng một trang | Google bỏ qua toàn bộ — không chọn phiên bản nào | Chỉ giữ đúng một thẻ canonical trong <head>; xóa thẻ dư do CMS hoặc plugin tạo ra |
| Thẻ canonical trỏ tới URL không tồn tại hoặc khác chủ đề | Google có thể bỏ qua hoặc xử lý sai — thậm chí phạt nếu nghi ngờ thao túng | Chỉ trỏ tới URL có nội dung gần giống, cùng chủ đề, cùng ngôn ngữ và cùng khu vực mục tiêu |
Dùng rel="canonical" trên trang không trùng lặp (ví dụ: trang chủ trỏ tới bài viết) |
Gây nhiễu thuật toán, mất quyền kiểm soát hiển thị | Chỉ áp dụng khi có ít nhất 2 URL có nội dung tương tự — không dùng cho trang độc nhất |
Ví dụ thực tế
Một cửa hàng bán giày có 4 URL sau cùng hiển thị sản phẩm "Giày chạy bộ XYZ":
https://shop.com/giay-chay-bo-xyz(phiên bản chính)https://shop.com/giay-chay-bo-xyz?color=denhttps://www.shop.com/giay-chay-bo-xyzhttp://shop.com/giay-chay-bo-xyz
Trên cả 4 trang, thẻ canonical phải giống nhau và trỏ về phiên bản chính:
<link rel="canonical" href="https://shop.com/giay-chay-bo-xyz" />
→ Kết quả: Google chỉ lập chỉ mục và xếp hạng https://shop.com/giay-chay-bo-xyz, đồng thời gộp toàn bộ backlink và dữ liệu hành vi từ 3 URL còn lại về đây.
Câu hỏi thường gặp
Thẻ canonical có thay thế được redirect 301 không?
Không. Redirect 301 là lệnh chuyển hướng vĩnh viễn — vừa ảnh hưởng người dùng, vừa truyền 100% giá trị SEO. Canonical chỉ là đề xuất với bot, không thay đổi URL trình duyệt. Dùng redirect khi bạn muốn loại bỏ hoàn toàn một URL. Dùng canonical khi cần giữ nhiều URL (ví dụ: phiên bản in, phiên bản AMP, phân tích theo UTM) nhưng chỉ muốn một phiên bản được xếp hạng.
Có thể dùng canonical cho trang có nội dung khác nhau một chút không?
Có thể — miễn là sự khác biệt nằm ở phần phụ (menu, header, footer, nút chia sẻ) và nội dung chính gần như giống hệt. Nếu nội dung chính khác nhau hơn 20–30%, canonical có thể bị bỏ qua hoặc gây rủi ro về chất lượng nội dung. Trường hợp này nên xem xét tối ưu nội dung hoặc dùng thẻ noindex cho phiên bản phụ.
Thẻ canonical có tác dụng trên mọi công cụ tìm kiếm không?
Google, Bing và Yandex đều hỗ trợ và tôn trọng thẻ canonical. Tuy nhiên, mức độ ưu tiên và cách xử lý chi tiết (ví dụ: ngưỡng trùng lặp, xử lý vòng lặp) có thể khác nhau. Đối với các công cụ nhỏ hơn hoặc mới nổi, hiệu quả tùy trường hợp — nên ưu tiên tối ưu cho Google trước, sau đó kiểm tra thêm.