Canonical là cơ chế giúp website chỉ ra URL đại diện khi có nhiều URL giống hoặc rất gần nhau về nội dung. Với Google, canonicalization là quá trình nhóm các URL trùng hoặc gần trùng và chọn một URL đại diện để xử lý trong kết quả tìm kiếm.
Điểm quan trọng nhất: rel=”canonical” là tín hiệu ưu tiên, không phải mệnh lệnh tuyệt đối. Website có thể khai báo một URL canonical, nhưng Google vẫn có thể chọn URL khác nếu các tín hiệu kỹ thuật, nội dung và liên kết cho thấy URL khác phù hợp hơn.
Canonical URL là gì?
Canonical URL là URL mà website muốn xem là phiên bản chính của một nhóm trang giống nhau. Ví dụ cùng một sản phẩm có thể xuất hiện qua URL gốc, URL có tham số lọc, URL tracking hoặc biến thể giao thức. Nếu nội dung gần như giống nhau, canonical giúp tập trung tín hiệu về URL đại diện.
Canonical không có nhiệm vụ “ép Google index”. Một URL có canonical đúng nhưng bị noindex, lỗi HTTP, nội dung rất yếu hoặc không có internal link vẫn có thể không được index như mong muốn.
Khi nào nên dùng canonical?
- Nhiều URL có nội dung giống hoặc gần giống nhau.
- Trang có tham số sắp xếp, lọc hoặc tracking tạo biến thể URL.
- HTTP/HTTPS hoặc www/non-www từng cùng tồn tại trong một giai đoạn chuyển đổi.
- Sản phẩm hoặc bài viết được truy cập bằng nhiều đường dẫn nhưng có một URL chính.
- Nội dung được xuất bản ở nhiều định dạng URL trong cùng website.
Nếu hai trang phục vụ hai search task khác nhau, không nên dùng canonical chỉ để che việc nội dung bị trùng. Khi đó cần làm rõ URL owner, nội dung và mục đích của từng trang.
Self-canonical là gì?
Self-canonical là khi một URL khai báo chính nó là canonical. Ví dụ trang /canonical-la-gi/ khai báo canonical về chính URL này. Đây là cách phổ biến để làm rõ phiên bản URL ưu tiên trên các trang indexable.
Self-canonical đặc biệt hữu ích khi website có nhiều tham số tracking hoặc các biến thể URL có thể được phát hiện từ liên kết bên ngoài.
Google chọn canonical dựa trên những tín hiệu nào?
Không có một công thức công khai duy nhất. Các tín hiệu thường được xem xét cùng nhau gồm:
- Redirect: URL cũ chuyển sang URL mới.
- rel=”canonical”: URL được website khai báo ưu tiên.
- Sitemap: URL được đưa vào sitemap như phiên bản ưu tiên.
- Internal link: website liên kết nhất quán đến URL nào.
- Nội dung và chất lượng URL: phiên bản nào đầy đủ, ổn định và phù hợp hơn.
Do đó, canonical tốt nhất khi các tín hiệu cùng hướng về một URL. Nếu sitemap đưa URL A, canonical trỏ URL B nhưng internal link lại dùng URL C, hệ thống đang gửi tín hiệu mâu thuẫn.
Tại sao Google chọn canonical khác với URL khai báo?
Đây là tình huống khá phổ biến. Một số nguyên nhân:
- Hai URL không giống nhau như website nghĩ.
- Canonical bị khai báo sai hoặc bị plugin/CMS ghi đè.
- Internal link chủ yếu trỏ về URL khác.
- Sitemap chứa URL khác với canonical.
- Redirect hoặc HTTP status tạo tín hiệu trái ngược.
- Website bị hack hoặc chèn canonical ngoài ý muốn.
- Phiên bản được khai báo canonical có nội dung yếu, lỗi hoặc khó truy cập.
Khi gặp tình huống này, nên kiểm tra URL Inspection trong Search Console để xem user-declared canonical và Google-selected canonical, sau đó kiểm tra toàn bộ tín hiệu thay vì chỉ sửa thẻ canonical.
Canonical khác redirect như thế nào?
| Canonical | Redirect |
|---|---|
| Người dùng vẫn có thể truy cập URL hiện tại. | Người dùng được chuyển sang URL khác. |
| Dùng khi các URL cần cùng tồn tại nhưng có một bản ưu tiên. | Dùng khi URL cũ không còn nên phục vụ như trang độc lập. |
| Là tín hiệu lựa chọn URL đại diện. | Là tín hiệu chuyển URL mạnh và rõ hơn. |
Nếu một URL đã bị thay thế hoàn toàn và không cần tồn tại cho người dùng, redirect thường hợp lý hơn canonical.
Canonical khác noindex như thế nào?
Canonical nói “hãy ưu tiên URL này trong nhóm tương tự”. Noindex nói “không đưa URL này vào kết quả tìm kiếm”. Hai tín hiệu giải quyết hai bài toán khác nhau.
Không nên dùng canonical để che một trang mà bạn thật sự muốn loại khỏi chỉ mục. Ngược lại, không nên dùng noindex trên một URL chỉ vì muốn dồn tín hiệu sang URL khác nếu bản chất hai trang là duplicate và vẫn cần người dùng truy cập.
Canonical và XML Sitemap nên nhất quán
Sitemap nên ưu tiên các URL canonical, indexable và trả về HTTP 200. Nếu sitemap chứa một URL nhưng canonical của nó trỏ sang URL khác, website đang gửi tín hiệu không nhất quán.
Để hiểu sâu hơn về sitemap, xem XML Sitemap là gì. Nếu đang phân biệt nhiều công cụ kiểm soát crawl/index, xem robots.txt, noindex và sitemap khác nhau thế nào.
Internal link ảnh hưởng canonical như thế nào?
Internal link nên trỏ về URL owner và URL canonical thay vì liên tục dùng nhiều biến thể. Điều này vừa giúp crawler phát hiện đúng trang chính, vừa giảm tín hiệu mâu thuẫn trong kiến trúc website.
Xem thêm Internal Link để hiểu cách anchor và kiến trúc liên kết hỗ trợ URL owner.
Checklist kiểm tra canonical
- Xác định URL owner của search task.
- Kiểm tra HTTP status của URL chính và URL trùng.
- Kiểm tra canonical trong HTML sau khi render.
- Kiểm tra sitemap có chứa đúng URL canonical không.
- Kiểm tra internal link đang trỏ về phiên bản nào.
- Kiểm tra redirect, tham số URL và biến thể HTTP/HTTPS.
- Dùng URL Inspection để so user-declared và Google-selected canonical.
- Sau khi sửa, kiểm tra lại frontend và HTML thay vì chỉ nhìn setting trong CMS.
Canonical nằm ở đâu trong Technical SEO?
Canonical là một lớp của quá trình kỹ thuật rộng hơn: crawl, render, indexability, canonical selection và ranking. Nếu đang học theo hệ thống, nên bắt đầu từ Technical SEO là gì, sau đó đọc Crawl và Index khác nhau thế nào và bài Audit SEO.
Câu hỏi thường gặp
Canonical có đảm bảo Google index URL chính không?
Không. Canonical chỉ là một tín hiệu lựa chọn URL đại diện. Indexability và ranking còn phụ thuộc nhiều yếu tố khác.
Có nên canonical mọi trang về trang chủ?
Không. Đây là lỗi nghiêm trọng về logic URL. Canonical phải trỏ tới trang đại diện có nội dung tương đương hoặc rất gần nhau, không phải một trang bất kỳ.
Mỗi trang có cần self-canonical không?
Với các URL indexable, self-canonical thường là cách triển khai rõ ràng và ổn định, nhưng cần đồng bộ với sitemap, redirect và internal link.
Canonical có thay thế redirect không?
Không. Nếu URL cũ không còn cần tồn tại, redirect thường phù hợp hơn.
Kết luận
Canonical giúp website làm rõ URL đại diện trong nhóm nội dung trùng hoặc gần trùng, nhưng không phải công cụ để ép index hay che nội dung yếu. Cách triển khai tốt nhất là giữ canonical, redirect, sitemap và internal link nhất quán quanh một URL owner rõ ràng.
Nguồn tham khảo
- Google Search Central — URL canonicalization: https://developers.google.com/search/docs/crawling-indexing/canonicalization
- Google Search Central — Fix canonicalization issues: https://developers.google.com/search/docs/crawling-indexing/canonicalization-troubleshooting