On-Page SEO

Canonical Tag

Thẻ rel="canonical" chỉ định phiên bản ưu tiên của trang khi tồn tại nhiều URL tương tự.

6 lượt xem Cập nhật: 01/06/2026

Canonical Tag là gì?

Thẻ canonical (hay thẻ rel="canonical") là một đoạn mã HTML được đặt trong phần <head> của trang web, dùng để thông báo cho công cụ tìm kiếm biết phiên bản nào là bản gốc, đáng tin cậy nhất khi có nhiều URL dẫn đến nội dung giống hoặc gần giống nhau.

Ví dụ: trang sản phẩm có thể xuất hiện ở nhiều dạng như https://site.com/san-pham, https://site.com/san-pham?ref=fb, https://m.site.com/san-pham — tất cả đều hiển thị nội dung gần như giống nhau. Nếu không chỉ định rõ phiên bản chính, Google có thể coi đây là nội dung trùng lặp và phân bổ quyền lực (link equity, thứ hạng) lung tung — làm suy yếu hiệu quả SEO.

Tại sao quan trọng trong SEO?

Thẻ canonical giúp giải quyết ba vấn đề cốt lõi:

  • Ngăn trùng lặp nội dung: Tránh tình trạng nhiều URL cùng nội dung khiến Google khó xác định trang nào nên xếp hạng.
  • Bảo toàn tín hiệu SEO: Các liên kết ngược (backlink), lượt click, thời gian ở lại… từ các URL phụ sẽ được gộp về phiên bản canonical — tăng sức mạnh cho trang mục tiêu.
  • Tối ưu hóa lập chỉ mục: Giúp bot Google tập trung thu thập dữ liệu (crawl budget) vào trang quan trọng nhất, thay vì lãng phí vào hàng chục biến thể không cần thiết.

Theo tài liệu chính thức của Google (cập nhật tháng 3/2024), thẻ canonical là tín hiệu gợi ý, không phải lệnh bắt buộc — nhưng nếu được triển khai đúng, tỷ lệ bot tuân thủ vượt 95% trong các trường hợp chuẩn.

Cách hoạt động

Khi bot Google gặp thẻ <link rel="canonical" href="https://site.com/ban-chinh"> trên một trang, nó sẽ:

  1. So sánh nội dung giữa trang hiện tại và URL trong thuộc tính href.
  2. Nếu độ tương đồng cao (thường ≥ 85–90%), bot coi trang hiện tại là bản sao và chuyển toàn bộ tín hiệu sang phiên bản canonical.
  3. Ghi nhận URL canonical là phiên bản được ưu tiên hiển thị trong kết quả tìm kiếm — trừ khi phát hiện mâu thuẫn rõ ràng (ví dụ: canonical trỏ tới trang 404, hay nội dung quá khác biệt).

Lưu ý: Canonical không ảnh hưởng đến trải nghiệm người dùng — người truy cập vẫn thấy đúng URL họ bấm vào.

Hướng dẫn thực hiện

Dưới đây là các cách triển khai phổ biến, theo mức độ ưu tiên:

  1. Trong thẻ <head> (HTML): Dùng khi kiểm soát được mã nguồn.
    <link rel="canonical" href="https://site.com/bai-viet-mau">
  2. Header HTTP: Áp dụng cho file PDF, ảnh hoặc trang không có phần <head>.
    Ví dụ header: Link: <https://site.com/bai-viet-mau>; rel="canonical"
  3. Sitemap XML: Chỉ mang tính bổ sung — Google khuyến cáo không dùng sitemap để thay thế canonical, vì đây không phải tín hiệu xếp hạng.

Nguyên tắc bắt buộc khi viết href:

  • Luôn dùng URL đầy đủ (có https:// và tên miền chính xác).
  • Không dùng URL tương đối (/bai-viet-mau) — dễ gây lỗi khi bot xử lý.
  • URL canonical phải trả về mã trạng thái 200 OK và không bị chặn bởi robots.txt hoặc thẻ noindex.
  • Mỗi trang chỉ có một thẻ canonical duy nhất — không thêm nhiều thẻ cho cùng một trang.

Lỗi thường gặp

Lỗi Hệ quả Cách khắc phục
Canonical trỏ tới trang 404 hoặc 5xx Google bỏ qua thẻ, coi trang là độc lập — rủi ro trùng lặp Kiểm tra toàn bộ URL canonical bằng công cụ như Screaming Frog hoặc Google Search Console → sửa thành URL tồn tại và trả 200
Chuỗi vòng lặp (A → B → A) Bot không thể xác định phiên bản gốc, có thể chọn sai hoặc bỏ qua cả hai Đảm bảo mọi canonical đều trỏ thẳng về một URL duy nhất — không bao giờ trỏ lẫn nhau
Dùng noindex cùng lúc với canonical Mâu thuẫn tín hiệu: một mặt bảo “không lập chỉ mục”, một mặt bảo “đây là bản gốc” Loại bỏ noindex nếu muốn trang đó được xếp hạng — hoặc xóa canonical nếu trang thật sự không nên xuất hiện trong kết quả tìm kiếm

Ví dụ thực tế

Tình huống: Một website bán hàng có 3 URL cho cùng sản phẩm:

  • https://shop.vn/ao-thun?color=do&size=L
  • https://shop.vn/ao-thun?color=xanh&size=M
  • https://shop.vn/ao-thun (trang danh mục tổng, không lọc)

Giải pháp:

  • Trang /ao-thun giữ nguyên — đặt canonical trỏ về chính nó.
  • Hai trang có tham số (color/size) đều đặt canonical trỏ về https://shop.vn/ao-thun.
  • Đồng thời, thêm thẻ rel="next"/rel="prev" nếu là phân trang — nhưng không dùng canonical cho phân trang (Google khuyến cáo dùng view-all hoặc rel="canonical" trỏ về trang tổng).
Lưu ý: Với trang thương mại điện tử, việc dùng canonical cho các biến thể màu/kích thước chỉ hợp lý nếu nội dung mô tả, tiêu đề, meta đều giống nhau. Nếu mỗi biến thể có mô tả riêng, nên để riêng — không canonical.

Câu hỏi thường gặp

Canonical có thay thế được redirect 301 không?

Không. Redirect 301 là lệnh bắt buộc chuyển hướng người dùng và bot sang URL mới. Canonical chỉ là gợi ý về phiên bản ưu tiên — người dùng vẫn ở lại trang hiện tại. Dùng 301 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 cho mục đích kỹ thuật (ví dụ: UTM tracking, phiên bản mobile) nhưng vẫn thống nhất tín hiệu SEO.

Có thể dùng canonical cho trang khác tên miền không?

Có — gọi là cross-domain canonical. Ví dụ: bạn đăng bài gốc trên blog.chinh.com, sau đó cho phép site cộng tác tin.tuvan.vn đăng lại toàn bộ — thì trên tin.tuvan.vn/bai-viet bạn đặt canonical trỏ về https://blog.chinh.com/bai-viet. Điều kiện: bạn phải sở hữu cả hai tên miền hoặc có thỏa thuận rõ ràng với chủ sở hữu bên kia.

Google có phạt nếu dùng sai canonical không?

Không phạt trực tiếp, nhưng sẽ làm giảm hiệu quả lập chỉ mục và phân bổ quyền lực. Trong một số trường hợp nghiêm trọng (ví dụ: hàng nghìn trang canonical trỏ về một trang không liên quan), Google có thể tạm thời bỏ qua toàn bộ tín hiệu canonical trên site — và điều này thường kéo dài từ vài tuần đến vài tháng tùy mức độ. Việc phục hồi đòi hỏi kiểm tra lại toàn bộ cấu trúc và gửi yêu cầu kiểm tra lại qua Google Search Console.