Canonical là gì?
Canonical là thẻ HTML dùng để chỉ định URL chính mà công cụ tìm kiếm nên ưu tiên khi có nhiều URL chứa nội dung giống hoặc tương tự nhau.
Canonical là gì?
Canonical (cụ thể là thẻ <link rel="canonical">) là một chỉ thị HTML đặt trong phần <head> của trang, dùng để báo cho Google biết: trong số nhiều URL có nội dung giống hoặc gần giống nhau, đây là URL “gốc” nên được thu thập dữ liệu, lập chỉ mục và xếp hạng.
Nói ngắn gọn, canonical không xóa các URL trùng lặp — nó chỉ nói với công cụ tìm kiếm “hãy coi URL này là phiên bản chính thức”.
Canonical hoạt động như thế nào?
Khi Googlebot crawl một trang, nó đọc thẻ canonical trong <head>:
<link rel="canonical" href="https://example.com/san-pham-a" />
Nếu trang hiện tại (ví dụ example.com/san-pham-a?color=do) khai báo canonical trỏ về example.com/san-pham-a, Google sẽ hiểu phiên bản không tham số là URL cần index. Cần lưu ý: canonical chỉ là một gợi ý mạnh (strong hint), không phải chỉ thị bắt buộc tuyệt đối — Google vẫn có thể tự chọn một URL khác làm canonical nếu có tín hiệu mâu thuẫn, ví dụ nội dung hai trang khác nhau đáng kể, hoặc internal link và sitemap lại trỏ về một URL khác.
Self-referencing canonical
Best practice phổ biến: mỗi trang nên tự trỏ canonical về chính nó (self-referencing canonical), kể cả khi chưa có URL trùng lặp nào. Việc này giúp phòng ngừa các vấn đề trùng lặp phát sinh về sau do tham số URL, phiên bản in, hoặc thẻ UTM tracking.
Canonical trong WordPress
Trên WordPress, Rank Math tự động in thẻ canonical self-referencing cho mọi post, page và archive thông qua hook wp_head. Nếu cần tùy biến (ví dụ gộp nhiều URL tham số về một trang gốc), có thể can thiệp bằng filter:
add_filter( 'rank_math/frontend/canonical', function ( $canonical ) {
// Trả về URL canonical tùy chỉnh tại đây
return $canonical;
} );
Không nên tự in thêm một thẻ <link rel="canonical"> thủ công song song với Rank Math — hai thẻ canonical trên cùng một trang là lỗi kỹ thuật cần tránh.
Ví dụ về canonical
Một trang thương mại điện tử thường sinh ra nhiều URL cho cùng một sản phẩm (một dạng duplicate content):
/ao-thun?size=m&color=xanh/ao-thun?utm_source=facebook/ao-thun— URL sạch, không tham số
Cả ba URL trên nên khai báo canonical trỏ về /ao-thun, để toàn bộ tín hiệu SEO (backlink, lượt chia sẻ, độ liên quan) được gộp về một URL duy nhất thay vì bị phân tán ra nhiều biến thể.
Khi nào nên sử dụng canonical?
- URL có tham số truy vấn: filter, sort, tracking UTM, session ID
- Giúp công cụ tìm kiếm tập trung crawl budget vào các URL quan trọng thay vì crawl trùng lặp nhiều biến thể của cùng một trang
- Nội dung syndicate hoặc đăng lại trên nhiều site, nhiều domain
- Phiên bản mobile riêng (m.example.com) cần trỏ về phiên bản chính
- Trang có nhiều đường dẫn truy cập — ví dụ một sản phẩm nằm trong nhiều danh mục khác nhau
- Trang phân trang, nếu chủ động gộp về trang đầu (cân nhắc kỹ, xem phần lỗi thường gặp bên dưới)
Canonical và Redirect 301 khác nhau như thế nào?
Xem định nghĩa đầy đủ tại bài Redirect 301 là gì?. Đây là nhầm lẫn phổ biến nhất khi mới làm SEO kỹ thuật. Cả hai đều “gộp” tín hiệu SEO về một URL, nhưng bản chất khác nhau:
| Canonical | Redirect 301 | |
|---|---|---|
| Người dùng | Vẫn thấy và truy cập được URL gốc bình thường | Bị chuyển hướng sang URL đích, không còn thấy URL cũ |
| Dùng khi | Cả hai URL đều cần tiếp tục tồn tại song song | URL cũ không còn lý do tồn tại, nên loại bỏ hẳn |
| Tốc độ xử lý | Google cần thời gian thu thập lại để áp dụng | Chuyển hướng ngay lập tức khi truy cập |
Quy tắc chọn nhanh: nếu URL cũ không còn lý do tồn tại (đổi domain, gộp trang), dùng redirect 301. Nếu cả hai URL vẫn cần phục vụ người dùng song song (ví dụ các biến thể filter sản phẩm), dùng canonical.
Canonical và Noindex khác nhau như thế nào?
Xem định nghĩa đầy đủ tại bài Noindex là gì?. Canonical nói: “hãy index URL kia thay vì URL này”. Noindex nói: “đừng index URL này, chấm hết — và cũng đừng tính nó là bản sao của URL nào khác”. Một trang vừa khai báo canonical trỏ đi nơi khác, vừa gắn thẻ noindex, là tín hiệu mâu thuẫn nên tránh — chỉ nên dùng một trong hai tùy theo mục đích thực sự.
Các lỗi canonical thường gặp
- Canonical trỏ tới URL 404 hoặc URL đã redirect — buộc Google phải tự suy luận lại, dễ chọn sai URL canonical.
- Canonical chain: URL A trỏ canonical sang B, B lại tiếp tục trỏ sang C. Nên trỏ thẳng một bước duy nhất.
- Canonical khác domain nhưng nội dung không tương đồng — Google sẽ bỏ qua chỉ thị này nếu nội dung chênh lệch quá nhiều.
- Toàn bộ trang phân trang cùng trỏ canonical về trang 1 — khiến nội dung riêng của trang 2, trang 3… không được index, mất traffic từ các từ khóa dài xuất hiện riêng ở các trang đó.
- Quên cập nhật canonical sau khi đổi cấu trúc URL — canonical cũ trỏ về một URL không còn tồn tại.
Cách kiểm tra Canonical của một trang
Xem trực tiếp mã nguồn HTML (View Page Source) tìm thẻ <link rel="canonical"> trong phần <head>, hoặc dùng công cụ URL Inspection trong Google Search Console – công cụ này cho biết cả canonical do website khai báo (user-declared) lẫn canonical mà Google thực sự chọn (Google-selected), hai giá trị này đôi khi khác nhau nếu Google phát hiện tín hiệu mâu thuẫn.
Best Practices
- Đảm bảo URL canonical cũng là URL được khai báo trong XML Sitemap – tránh sitemap liệt kê một URL trong khi canonical lại trỏ sang URL khác
- Luôn dùng URL tuyệt đối (absolute URL) trong thẻ canonical, không dùng URL tương đối.
- Mỗi trang chỉ nên có đúng một thẻ canonical duy nhất.
- Canonical phải trỏ tới một URL trả về status 200 — không phải 404, 301 hay 302.
- Với trang phân trang, chỉ canonical về trang 1 khi nội dung các trang sau THỰC SỰ trùng lặp; nếu mỗi trang có nội dung/sản phẩm riêng, nên để mỗi trang tự canonical về chính nó.
- Kiểm tra định kỳ trong Google Search Console, mục “Lập chỉ mục > Trang”, để phát hiện trường hợp Google chọn canonical khác với khai báo của bạn.
Canonical có ảnh hưởng đến SEO không?
Có, và ảnh hưởng khá đáng kể dù là gián tiếp. Canonical đúng giúp gộp toàn bộ tín hiệu xếp hạng — backlink, mức độ liên quan, tín hiệu người dùng — về một URL duy nhất thay vì bị pha loãng qua nhiều biến thể URL khác nhau. Ngược lại, canonical sai hoặc thiếu là một trong những nguyên nhân phổ biến nhất khiến trang không được index đúng như mong đợi, đặc biệt trên các website thương mại điện tử có nhiều tham số URL.
Câu hỏi thường gặp
Không khai báo canonical thì Google có tự hiểu không?
Có, Google vẫn tự chọn một URL làm canonical dựa trên các tín hiệu khác như internal link, sitemap, redirect… nhưng kết quả không phải lúc nào cũng đúng như ý muốn. Khai báo rõ ràng vẫn luôn tốt hơn để chủ động kiểm soát.
Canonical có bắt buộc phải cùng domain không?
Không. Canonical cross-domain hoàn toàn hợp lệ và thường được dùng khi nội dung được syndicate trên nhiều site, miễn là nội dung hai trang đủ tương đồng nhau.
Rank Math tự thêm canonical rồi thì có cần chỉnh sửa gì thêm không?
Với phần lớn trang, việc plugin SEO tự sinh self-referencing canonical là đủ. Chỉ cần can thiệp thủ công khi có nhu cầu đặc biệt, ví dụ hợp nhất nhiều URL tham số về một trang gốc như ví dụ ở trên.
Nguồn tham khảo
Bạn muốn tra cứu thuật ngữ khác?
