Bỏ qua tới nội dung
Kiến thức SEO· ·9 phút đọc

Canonical tag là gì và khi nào cần dùng

Trần Trọng Luân
Canonical tag là gì và khi nào cần dùng
Cỡ chữ

Một nội dung có thể tồn tại ở nhiều địa chỉ khác nhau mà bạn không hề hay: có dấu chấm hỏi tham số phía sau, có và không có dấu gạch chéo cuối, bản in, bản lọc theo màu… Với Google, mỗi địa chỉ là một trang riêng. Thẻ rel="canonical" sinh ra để dọn mớ rối này.

Vì sao trùng lặp nội dung lại là vấn đề

Khi cùng một bài viết hiển thị ở năm địa chỉ khác nhau, Google phải tự đoán xem địa chỉ nào là bản đại diện để đưa vào kết quả tìm kiếm. Quá trình tự chọn này gọi là canonicalization (chuẩn hoá URL — chọn ra một địa chỉ làm bản chính trong nhóm trùng lặp).

Nếu bạn không nói rõ, Google chọn thay bạn, và đôi khi nó chọn nhầm địa chỉ bạn không muốn lên top. Tệ hơn, tín hiệu xếp hạng như liên kết trỏ về và độ liên quan bị chia nhỏ ra nhiều bản thay vì dồn vào một bản. Đó là lý do duplicate content (nội dung trùng lặp) không bị Google phạt như nhiều người tưởng, nhưng vẫn làm loãng sức mạnh của trang.

Canonical tag hoạt động thế nào

Thẻ canonical là một dòng đặt trong phần <head> của trang, hoặc khai báo qua HTTP header. Cấu trúc đơn giản:

<link rel="canonical" href="https://web22.dev/dich-vu/seo/" />

Dòng này nói với Google: “Dù bạn đang đọc địa chỉ nào, hãy coi địa chỉ trong href là bản chính.” Google xem đây là một tín hiệu mạnh, nhưng không phải mệnh lệnh tuyệt đối. Công cụ tìm kiếm gộp tất cả các tín hiệu (canonical, redirect, sitemap, liên kết nội bộ) rồi mới quyết định.

Một điểm quan trọng: canonical chỉ gợi ý chứ không chặn. Nó khác hẳn thẻ meta robots với lệnh noindex vốn ra lệnh cứng “đừng đưa trang này vào chỉ mục”. Hiểu sai sự khác biệt này là gốc rễ của hầu hết lỗi.

Các bước canonical tag chỉ cho Google biết trang gốc khi có nội dung trùng
Canonical tag hoạt động thế nào.

Khi nào nên dùng canonical tag

  • Trang có tham số URL. Địa chỉ kèm ?utm_source=... hay tham số lọc, sắp xếp tạo ra vô số biến thể của cùng một trang.
  • Trang sản phẩm nhiều biến thể. Cùng một mẫu áo nhưng khác màu, khác size sinh ra nhiều URL gần như giống hệt.
  • Phiên bản http và https, có và không có www. Bốn biến thể cơ bản của một địa chỉ cần gom về một.
  • Nội dung xuất bản lại. Khi bài của bạn được đăng lại trên trang khác, canonical trỏ chéo (cross-domain) giúp giữ bản gốc làm chuẩn.
  • Self-referencing canonical (canonical tự trỏ về chính nó). Mỗi trang khai một canonical trỏ về chính URL của nó. Đây là cách phòng ngừa được khuyến nghị, giúp Google khỏi lúng túng khi gặp tham số phát sinh.

Cách dùng canonical tag đúng

  1. Chỉ một canonical cho mỗi trang. Google nói rõ: khai nhiều hơn một rel="canonical" trên cùng một trang sẽ khiến tất cả bị bỏ qua.
  2. Trỏ tới URL tuyệt đối. Dùng địa chỉ đầy đủ kèm https:// thay vì đường dẫn rút gọn, tránh hiểu nhầm.
  3. Trang đích phải truy cập được. URL canonical không được bị chặn bởi tệp robots.txt, không bị noindex, không trả về lỗi. Trỏ về một trang Google không vào được thì canonical bị phớt lờ.
  4. Đặt liên kết nội bộ nhất quán. Trong cấu trúc liên kết nội bộ, hãy luôn trỏ tới bản canonical chứ không tới bản trùng. Liên kết nhất quán củng cố lựa chọn của bạn.
  5. Đồng bộ với sitemap. URL khai trong sitemap nên là bản canonical, tránh gửi tín hiệu mâu thuẫn.

Những lỗi canonical hay gặp nhất

LỗiVì sao sai
Canonical trỏ về trang đang bị noindexHai tín hiệu chọi nhau: một bên nói “index trang này”, một bên nói “đừng index”. Google bối rối và có thể bỏ qua cả hai.
Dùng canonical thay cho redirect 301Khi trang đã chuyển hẳn, hãy dùng redirect 301. Canonical chỉ là gợi ý, không chuyển hướng người dùng.
Phân trang trỏ hết về trang 1Trang 2, 3, 4 của danh sách có nội dung khác nhau. Trỏ tất cả về trang 1 khiến các trang sau biến mất khỏi chỉ mục. Mỗi trang nên tự trỏ về chính nó.
Gom mọi bản ngôn ngữ về bản tiếng AnhTrỏ trang tiếng Việt về trang tiếng Anh sẽ khiến bản tiếng Việt rớt khỏi chỉ mục. Mỗi ngôn ngữ là một bản chính riêng.
Dùng robots.txt để chuẩn hoáChặn trong robots.txt không chống trùng lặp; Google vẫn có thể đưa URL bị chặn vào chỉ mục mà không đọc được canonical bên trong.
Nhiều kỹ thuật chỉ ra URL khác nhauKhai canonical một đằng, sitemap một nẻo, redirect một kiểu. Tín hiệu mâu thuẫn làm Google tự quyết theo cách bạn không lường được.

Một cảnh báo từ thực tế: lỗi canonical thường tái phát âm thầm. Một bản cập nhật CMS, một plugin mới, một thay đổi cấu hình crawl đều có thể đặt lại canonical sai mà thứ hạng không báo động ngay. Vì vậy việc này thuộc về technical SEO (tối ưu kỹ thuật) cần rà soát định kỳ.

Bảng những lỗi canonical hay gặp và cách kiểm tra đặt đúng
Những lỗi canonical hay gặp nhất.

Kiểm tra canonical đang đặt đúng chưa

Cách nhanh nhất là mở Google Search Console, dùng công cụ Kiểm tra URL để xem Google đang chọn URL canonical nào, có khớp với bản bạn khai không. Bạn cũng có thể xem mã nguồn trang (chuột phải, Xem nguồn) và tìm dòng rel="canonical" để xác nhận. Nếu trang dựng bằng JavaScript, hãy chắc rằng thẻ canonical đã có sẵn trong mã nguồn ban đầu và JavaScript không ghi đè nó sau khi tải.

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

Canonical tag có giúp tăng thứ hạng không?

Không trực tiếp. Nó gom tín hiệu xếp hạng tản mát về một URL, nhờ đó trang chính mạnh hơn thay vì bị chia nhỏ. Đó là lợi ích gián tiếp.

Mọi trang có cần canonical tự trỏ về chính nó không?

Là cách phòng ngừa tốt và được khuyến nghị, nhất là khi trang dễ phát sinh tham số. Nhưng đừng đặt máy móc rồi quên kiểm tra xem URL trỏ tới có đúng không.

Canonical và redirect 301 dùng cái nào?

Nếu trang chuyển hẳn và bạn muốn người dùng đến địa chỉ mới, dùng redirect 301. Nếu cả hai địa chỉ vẫn cần tồn tại nhưng chỉ một bản nên lên Google, dùng canonical.

Đặt canonical đúng là một mắt xích nhỏ nhưng dễ sai trong cả hệ thống kỹ thuật của website. Nếu bạn muốn rà soát toàn diện phần này, tham khảo dịch vụ audit SEO của Web22.

Cần làm web?

Dịch vụ liên quan
tới chủ đề bài này.

Tất cả dịch vụ
Đọc tiếp

Bài viết
cùng chủ đề.

Tất cả bài viết