Canonical Là Gì? Hướng Dẫn Dùng Thẻ Canonical Đúng Theo Google (Cập Nhật 2026)

Bạn đã đặt thẻ canonical cho mọi trang, vậy mà Search Console vẫn báo hàng loạt URL “Trang trùng lặp, Google đã chọn một trang chính tắc khác với lựa chọn của người dùng”?

Tôi là Thái Doãn Kiên, làm SEO từ 2016. Khi audit những website như vậy, nguyên nhân tôi gặp nhiều nhất là thẻ canonical chỉ về một URL, còn sitemap, liên kết nội bộ hay chuyển hướng lại chỉ về URL khác. Google coi canonical là gợi ý, nên khi các tín hiệu không khớp nhau, Google có thể tự chọn.

Vì vậy, việc cần làm là cho mọi tín hiệu cùng chỉ về một URL. Bạn sẽ biết 4 cách khai báo canonical xếp theo độ mạnh, cách xem URL Google đã chọn trong Search Console và cách sửa 9 lỗi tôi gặp nhiều nhất khi audit.

Tóm tắt nhanh

  • Canonical là gì: canonical (rel=”canonical”) là cách bạn khai báo với Google URL nào là URL chính khi một nội dung mở được bằng nhiều URL.
  • Là gợi ý: Google tự chọn URL chính tắc dựa trên nhiều tín hiệu, thẻ canonical chỉ là một trong số đó.
  • 4 cách khai báo: chuyển hướng 301, thẻ link và HTTP header rel=”canonical” là tín hiệu mạnh, sitemap là tín hiệu yếu.
  • Chọn công cụ: bỏ hẳn URL thì dùng 301, trang không nên lên Google thì dùng noindex, nội dung trùng nhưng vẫn cần cho khách thì dùng canonical.
  • Kiểm tra: hai dòng “URL chính tắc do người dùng khai báo” và “URL chính tắc do Google chọn” trong công cụ Kiểm tra URL trùng nhau là đạt.
  • Lỗi nặng nhất: trỏ canonical về URL lỗi, URL chuyển hướng, trang noindex hoặc trang khác nội dung.
  • Khi Google chọn khác: sửa nguyên nhân rồi chờ, Google có thể giữ trang trong nhóm trùng lặp tới khoảng 2 tuần.

1. Canonical là gì?

Canonical là gợi ý gửi cho Google, nên các cảnh báo trang trùng lặp trong Search Console cần được đọc theo cách đó.

Canonical là cách bạn khai báo với Google đâu là URL chính khi một nội dung mở được bằng nhiều URL.

  • URL chính tắc: URL Google chọn làm đại diện cho nhóm trang trùng lặp.
  • Thẻ canonical: 1 thẻ link trong phần head, href là URL tuyệt đối.
  • Bản chất: khai báo của bạn là gợi ý, Google có thể chọn URL khác.

Trong SEO Onpage, canonical (rel=”canonical”) là cách bạn khai báo với Google đâu là URL chính, còn gọi là URL chính tắc, khi cùng một nội dung truy cập được qua nhiều URL. Google gọi quá trình chọn ra URL đại diện cho cả nhóm là canonicalization, và URL được chọn thường là URL hiện trên kết quả tìm kiếm.

Sơ đồ 4 URL có tham số và http của trang sofa góc cùng trỏ về một URL chính tắc https
Nhiều URL cùng hiển thị một nội dung, Google gom chúng thành một nhóm và chọn một URL làm đại diện.

Theo tài liệu What is URL canonicalization (cập nhật 20/08/2026), canonical URL là URL mà Google chọn là tiêu biểu nhất trong một nhóm trang trùng lặp. Ví dụ, trang sofa góc của Nội thất ABC mở được bằng cả /sofa-goc/ và /sofa-goc/?sort=price, nên bạn đặt dòng sau vào head của cả hai trang để đề xuất URL không tham số:

<link rel="canonical" href="https://noithatabc.example/sofa-goc/" />

Canonical là lời đề xuất để Google cân nhắc cùng các tín hiệu khác, không phải lệnh bắt Google lập chỉ mục URL gốc. Nếu bạn mới làm quen với SEO, bài tổng quan SEO là gì cho thấy canonical nằm ở đâu trong toàn bộ công việc.

1.1. Canonical URL, thẻ khai báo và URL chính tắc khác nhau thế nào

Ba thuật ngữ này nằm ở hai phía: phía bạn khai báo và phía Google quyết định. Canonical URL và URL chính tắc là một, tức URL Google chọn, còn thẻ canonical chỉ là tín hiệu bạn gửi đi.

Sơ đồ 3 URL trùng lặp gồm bản http, bản có tham số sort và bản chữ hoa cùng trỏ về một URL chính tắc
Thẻ canonical là tín hiệu ở phía bạn, URL chính tắc là lựa chọn của Google.
Thuật ngữ Nghĩa Ai quyết định
Canonical URL (URL chính tắc) URL đại diện cho nhóm trang trùng lặp Google
Thẻ canonical Tín hiệu đề xuất URL chính Bạn
Hai dòng chính tắc trong Kiểm tra URL Đề xuất của bạn và lựa chọn của Google Bạn và Google

Tiêu chí đo được: trang ổn định khi 2 dòng chính tắc trong Search Console trùng nhau đến từng ký tự, kể cả dấu gạch chéo cuối.

1.2. Cú pháp thẻ link và vị trí đặt trong phần head

Thẻ canonical là thẻ link có rel=”canonical” và href chứa URL chính, đặt trong phần <head>. Google chỉ chấp nhận thẻ nằm trong head, nên phần head phải là HTML hợp lệ.

Mô phỏng DevTools tab Elements, thẻ link rel canonical được khoanh trong phần head của trang sofa góc
Thẻ canonical nằm trong head, cạnh title và meta description.

Tiêu chí đạt gồm 4 điểm. Mỗi trang có đúng 1 thẻ và thẻ nằm trong head. Href là URL tuyệt đối có https và không chứa phần sau dấu #. Thẻ không kèm hreflang, lang, media hay type, vì Google bỏ qua thẻ canonical có các thuộc tính này khi chọn URL chính tắc.

1.3. Khai báo URL chính tắc là gợi ý, không phải mệnh lệnh

Google viết rõ khai báo URL chính tắc là gợi ý, không phải quy tắc, vì Google cân nhắc cùng lúc HTTPS hay HTTP, chuyển hướng, sitemap và thẻ rel=”canonical”. Khi các tín hiệu cùng chỉ về một URL, khả năng Google chọn URL đó là cao nhất.

Infographic 4 tín hiệu HTTPS, chuyển hướng, sitemap và thẻ canonical mà Google cân nhắc khi chọn URL chính tắc
Tín hiệu lệch nhau thì Google phải tự cân và có thể chọn URL khác.

Khi thẻ chỉ về URL A còn sitemap và liên kết nội bộ chỉ về URL B, báo cáo Lập chỉ mục trang dễ hiện trạng thái “Google đã chọn một trang chính tắc khác với lựa chọn của người dùng”. SEODO thường đặt mức 0 URL ở trạng thái này cho nhóm trang quan trọng như trang dịch vụ, danh mục và sản phẩm chủ lực.

2. Vì sao thẻ canonical quan trọng trong SEO?

Biết canonical giúp được gì sẽ cho bạn biết khi nào đáng bỏ công khai báo, khi nào cứ để Google tự xử lý.

Thẻ canonical giúp Google gom URL trùng lặp về đúng URL bạn muốn, theo 4 lý do Google nêu:

  • Hiển thị: chọn URL người dùng thấy trên Google.
  • Liên kết: gộp tín hiệu về 1 URL.
  • Đo lường: mỗi nội dung còn 1 dòng báo cáo.
  • Thu thập dữ liệu: Googlebot bớt thời gian cho bản trùng lặp.

Thẻ canonical gom các URL cùng nội dung về một URL bạn muốn hiển thị. Tín hiệu không bị chia nhỏ, số liệu dễ đo hơn và Googlebot đỡ tốn thời gian. Tài liệu How to specify a canonical URL (cập nhật 10/07/2026) nêu đúng 4 lý do này.

Infographic 4 lý do nên khai báo URL chính tắc theo tài liệu Google: chọn URL hiển thị, gộp tín hiệu, đo dễ hơn, bớt thu thập thừa
Bốn lý do nên khai báo URL chính tắc, theo thứ tự trong tài liệu của Google.

Tuy vậy, Google cũng nói không cách khai báo nào là bắt buộc, vì không khai báo thì Google vẫn tự chọn được. Canonical cần nhất với website có tham số URL, bộ lọc, nhiều biến thể. Có duplicate content trong cùng website cũng không vi phạm chính sách spam, nên đừng đặt canonical vì sợ bị phạt.

2.1. Chọn URL hiển thị trên kết quả tìm kiếm

Bạn chọn URL khách thấy trên Google, như /sofa-goc/ chứ không phải URL có mã quảng cáo ?gclid=. Tiêu chí đo được: trong báo cáo Hiệu suất, tab Trang, 100% lượt hiển thị của nội dung đó rơi vào URL chính.

Mô phỏng báo cáo Hiệu suất tab Trang, URL sofa góc và bản có tham số gclid cùng nhận lượt hiển thị
Khi chưa chuẩn hoá, bản có tham số lấy mất một phần lượt hiển thị của trang chính.

Ngoại lệ Google ghi trong tài liệu: nếu có trang di động riêng, người dùng điện thoại vẫn có thể được đưa tới trang di động dù trang máy tính là chính tắc.

2.2. Gộp tín hiệu liên kết về một URL

Một nội dung có 3 URL thì website khác có thể trỏ link về cả 3, và canonical giúp Google gộp tín hiệu đó về một URL. Phía bạn, Google khuyên đặt liên kết nội bộ tới URL chính tắc, nên tiêu chí đạt là 100% liên kết nội bộ trỏ về URL chính tắc.

Hai sơ đồ so sánh liên kết rải ra 3 URL của trang sofa góc và liên kết dồn về 1 URL chính tắc
Sau khi chuẩn hoá, mọi liên kết dồn về một URL thay vì chia làm ba.

2.3. Đơn giản hoá việc đo hiệu quả một nội dung

Nội dung chạy trên nhiều URL thì số liệu rải ra nhiều dòng và bạn phải cộng tay. Tiêu chí đạt: mỗi nội dung chỉ còn 1 dòng trang trong báo cáo Hiệu suất của Search Console và báo cáo Trang đích của GA4.

Mô phỏng báo cáo Trang đích của GA4 có 3 dòng cùng là trang sofa góc với tham số khác nhau
Ba dòng trang đích thực chất là một nội dung.

2.4. Giảm thời gian Googlebot thu thập trang trùng lặp

Theo Google, trang chính tắc được thu thập thường xuyên nhất, bản trùng lặp thưa hơn. Googlebot vì thế dành giờ cho trang mới. Tiêu chí đo được: số URL có tham số trong báo cáo Số liệu thống kê về hoạt động thu thập dữ liệu giảm sau khi chuẩn hoá.

Mô phỏng báo cáo Số liệu thống kê về hoạt động thu thập dữ liệu trong Search Console, có ví dụ URL tham số
So số URL có tham số trước và sau khi chuẩn hoá.

Lý do này đáng lo với website có hàng chục nghìn URL bộ lọc, còn website vài trăm trang thường không cần để ý. Muốn hiểu cách Google crawl một website, bạn nên đọc thêm trước khi tối ưu phần này.

3. Khi nào cần dùng thẻ canonical? 6 tình huống tạo URL trùng lặp

Nhận ra website đang rơi vào tình huống nào thì chọn đúng công cụ, khỏi đặt canonical cho mọi thứ.

Cần nghĩ tới canonical khi một nội dung mở được bằng nhiều URL, thường rơi vào 6 tình huống:

  • Giao thức, tên miền: http, https, www, chữ hoa.
  • Tham số: lọc, sắp xếp, mã theo dõi.
  • Thiết bị: bản di động riêng, AMP.
  • Khu vực: cùng ngôn ngữ, khác vùng.
  • Nhiều đường dẫn: 2 chuyên mục, bản in.
  • Vô tình: bản dựng thử bị thu thập.

Cần thẻ canonical khi một nội dung truy cập được qua nhiều URL mà các URL đó vẫn cần tồn tại. Google xếp nguyên nhân thành 5 nhóm là vùng, thiết bị, giao thức, chức năng website và biến thể vô tình. SEODO thêm tình huống bài nằm ở nhiều chuyên mục.

Lưới 6 tình huống tạo URL trùng lặp kèm ví dụ URL: giao thức, tham số, thiết bị, khu vực, nhiều đường dẫn, vô tình
Sáu tình huống tạo URL trùng lặp, mỗi tình huống có cách xử lý riêng.

Mục này chỉ nói các tình huống liên quan tới khai báo URL chính tắc. Muốn rà đủ các nguyên nhân gây trùng lặp nội dung, bài duplicate content có danh sách nguyên nhân phổ biến và cách kiểm tra website có bị trùng lặp hay không.

3.1. Website mở được bằng nhiều biến thể http, https, www, dấu gạch chéo, chữ hoa

Trang chủ có thể mở bằng 4 biến thể http, https, có www và không www, còn /sofa-goc, /sofa-goc/ và /SOFA-GOC/ cũng là 3 URL khác nhau trong mắt Google.

Bảng 4 biến thể trang chủ http, https, www kèm mã trạng thái 301 và URL đích, bản chính trả 200
Ba biến thể phụ chuyển hướng 301 một bước về bản chính.

Cách đúng ở đây là redirect 301, canonical chỉ là lớp thứ hai. Tiêu chí đạt: 3 biến thể phụ trả 301 một bước về 1 bản chính, bản chính trả 200 và tự trỏ canonical. Google mặc định ưu tiên HTTPS, nhưng chuyển hướng giúp tín hiệu rõ nhất.

3.2. URL có tham số lọc, sắp xếp, theo dõi chiến dịch

Trang danh mục sinh nhiều URL trùng lặp nhất, vì mỗi lần khách lọc hay sắp xếp, URL thêm tham số như ?color=xam, ?size=2m4, ?sort=price, còn quảng cáo gắn thêm ?utm_source= hay ?sessionid=.

Mô phỏng trang danh mục sofa góc của Nội thất ABC với bộ lọc màu, kích thước, sắp xếp và 3 URL tham số trỏ canonical về URL gốc
Các URL lọc và sắp xếp trỏ canonical về trang danh mục gốc.

Tiêu chí đạt: URL có ?sort=, ?utm_source=, ?sessionid= trỏ canonical về URL không tham số. Riêng trang lọc có nhu cầu tìm riêng, như lọc theo một thương hiệu sofa nhiều người tìm, thì tự trỏ canonical để được lập chỉ mục. Đây là bài toán quen thuộc của SEO thương mại điện tử.

3.3. Phiên bản di động riêng và trang AMP

Website chạy bản máy tính ở www và bản di động ở m. thì theo Google, trang máy tính tự trỏ canonical kèm rel=”alternate” có media trỏ sang bản di động, còn bản di động trỏ canonical về trang máy tính.

Hai khối mã head của trang máy tính www và trang di động m. với thẻ alternate và canonical liên kết hai chiều
Trang máy tính khai báo alternate, bản di động trỏ canonical về trang máy tính.

Tiêu chí đạt: đủ 2 chiều liên kết, URL trong hai thẻ khớp từng ký tự. Trang AMP làm theo hướng dẫn riêng của AMP. Đây là cấu hình cũ, website responsive một URL không cần bước này.

3.4. Cùng ngôn ngữ nhưng tách theo khu vực

Trang khác ngôn ngữ không bị coi là trùng lặp, nên mỗi bản tự trỏ canonical và khai báo hreflang. Với trang cùng tiếng Việt cho Việt Nam (vi-VN) và Mỹ (vi-US), Google khuyên dùng cả canonical và hreflang.

Bảng 3 phiên bản en, vi-VN, vi-US với canonical tự trỏ và hreflang khai báo đủ cả cụm
Mỗi phiên bản tự trỏ canonical và khai báo hreflang cho cả cụm.

Tiêu chí đạt: 100% trang trong cụm có hreflang trỏ đủ các phiên bản, kể cả chính nó.

3.5. Một bài nằm trong nhiều chuyên mục, có bản in

CMS đưa chuyên mục vào URL thì bài gắn 2 chuyên mục có 2 địa chỉ như /seo/canonical-la-gi/ và /technical-seo/canonical-la-gi/, bản in ?print=1 tạo thêm URL thứ ba.

Sơ đồ bài viết ở hai chuyên mục seo và technical-seo cùng bản in trỏ canonical về một URL chính
Bài ở hai chuyên mục và bản in đều trỏ về một URL.

Tiêu chí đạt: mọi bản sao trỏ canonical về 1 URL, menu và liên kết nội bộ dùng đúng URL đó. WordPress mặc định không đưa chuyên mục vào URL bài nên ít gặp, trừ khi website từng đổi đường dẫn tĩnh.

3.6. Bản dựng thử bị Google thu thập

Bản dựng thử (staging) để mở cho bot là biến thể vô tình, và kết quả tìm kiếm có thể hiện staging.noithatabc.example với nội dung giống hệt site chính.

Mô phỏng kết quả lệnh site trên Google hiện cả trang chính và bản staging có nội dung giống hệt
Bản dựng thử không bị chặn có thể lên kết quả tìm kiếm.

Tiêu chí đạt: staging chặn bằng mật khẩu hoặc noindex, không dựa vào canonical. Site chính dùng URL tuyệt đối, vì Google nêu rằng nếu staging bị lộ, URL tương đối sẽ khiến bản staging tự xưng là bản chính.

Tóm tắt 6 tình huống

Tình huống Ví dụ URL Nên dùng
http, https, www, chữ hoa http://noithatabc.example/ 301, bản chính tự trỏ canonical
Tham số lọc, sắp xếp /sofa-goc/?sort=price Canonical về URL không tham số
Bản di động, AMP m.noithatabc.example/sofa-goc/ Canonical về bản máy tính
Cùng ngôn ngữ, khác vùng /vi-vn/ và /vi-us/ Canonical tự trỏ kèm hreflang
2 chuyên mục, bản in ?print=1 Canonical về 1 URL
Staging staging.noithatabc.example Mật khẩu hoặc noindex

4. 4 cách khai báo canonical URL, xếp theo độ mạnh của tín hiệu

Chọn đúng cách khai báo cho từng loại tệp giúp tín hiệu đủ mạnh để Google nghe theo.

Có 4 cách khai báo URL chính tắc, từ mạnh đến yếu:

  1. Chuyển hướng 301: mạnh, khi bỏ hẳn bản trùng lặp.
  2. Thẻ link: mạnh, cho trang HTML.
  3. HTTP header: mạnh, cho PDF và tệp khác.
  4. Sitemap XML: yếu, làm lớp bổ trợ.

Google nhận URL chính tắc qua chuyển hướng (mạnh), thẻ link rel=”canonical” (mạnh), HTTP header rel=”canonical” (mạnh, cho tệp không phải HTML) và sitemap (yếu). Các cách này cộng dồn, nên dùng từ 2 cách chỉ về cùng một URL sẽ tăng khả năng URL đó được chọn.

Infographic 4 cách khai báo canonical URL xếp theo độ mạnh: chuyển hướng 301, thẻ link, HTTP header, sitemap XML
Ba cách đầu là tín hiệu mạnh, sitemap là tín hiệu yếu.

Google gộp thẻ link và HTTP header thành một nhóm chú thích rel=”canonical”, SEODO tách riêng vì chúng dùng cho hai loại tệp. Google khuyên chọn một trong hai, vì dùng cả hai rất dễ khai báo hai URL khác nhau.

Cách Độ mạnh Ưu điểm Giới hạn
Chuyển hướng 301 Mạnh Người và bot cùng sang URL mới Bản cũ không còn mở được
Thẻ link Mạnh Không giới hạn số trang Chỉ dùng cho HTML
HTTP header Mạnh Dùng được cho PDF, không tăng dung lượng trang Cần quyền cấu hình máy chủ
Sitemap XML Yếu Dễ duy trì trên site lớn Google vẫn tự tìm bản trùng lặp

4.1. Chuyển hướng 301 khi muốn bỏ hẳn bản trùng lặp

Chuyển hướng vĩnh viễn báo URL cũ là bản kém hơn URL đích, và Google khuyên chỉ dùng khi người dùng không cần mở URL cũ nữa. Chuyển hướng phía máy chủ được ghi nhận nhanh nhất.

Mô phỏng DevTools tab Network, URL cũ trả 301 và header location trỏ thẳng tới URL đích trả 200
Một bước chuyển hướng 301, header location là URL đích cuối cùng.

Tiêu chí đạt: mã 301 hoặc 308, đi 1 bước tới URL đích, 0 chuỗi chuyển hướng, kiểm tra bằng tab Network. Nếu sắp đổi URL hàng loạt, bài redirect 301 là gì có phần phân biệt 301 với 302 và 5 lưu ý khi chuyển hướng để không mất tín hiệu cũ.

4.2. Thẻ link trong phần head của trang HTML

Thẻ link là cách phổ biến nhất cho trang trùng lặp vẫn cần tồn tại, như trang sắp xếp hay trang lọc. Theo Google, cách này áp dụng cho không giới hạn số trang nhưng khó quản lý trên site lớn hay đổi URL.

Mô phỏng View Source trang sofa góc sắp xếp theo giá, dòng thẻ canonical trỏ về URL không tham số được khoanh
Thẻ canonical có sẵn trong HTML máy chủ trả về.

Tiêu chí đạt: thẻ có sẵn trong HTML gốc, xem được bằng View Source. Với site kết xuất bằng JavaScript, Google khuyên đặt thẻ trong HTML gốc và không để JavaScript sửa thẻ đó.

4.3. HTTP header Link cho PDF và tệp không phải HTML

Tệp PDF hay Word không có head, nên bạn khai báo bằng HTTP header Link trong phản hồi máy chủ. Ví dụ, bảng giá có bản .docx và .pdf, bạn muốn bản PDF là bản chính.

Mô phỏng tab Network khi tải tệp docx, header link chỉ canonical về bản PDF được khoanh
Header Link của tệp .docx cho Google biết bản PDF là bản chính.
Link: <https://noithatabc.example/bang-gia-sofa.pdf>; rel="canonical"

Tiêu chí đạt: header hiện trong phản hồi của tệp khi kiểm tra bằng curl -I, URL tuyệt đối. Cách này cần quyền cấu hình máy chủ, ví dụ sửa file .htaccess, và chỉ hỗ trợ cho tìm kiếm web.

4.4. Sitemap XML là tín hiệu yếu nhất

Mọi URL trong sitemap được coi là đề xuất làm chính tắc, rồi Google tự tìm bản trùng lặp. Cách này dễ duy trì nhưng yếu hơn thẻ rel=”canonical”, nên hãy coi sitemap là lớp bổ trợ.

Mô phỏng đoạn sitemap XML có 2 URL cần loại ra gồm URL tham số sort và URL http, được khoanh đỏ
Sitemap tự sinh hay lọt URL có tham số và URL http.

Tiêu chí đạt: 100% URL trong sitemap là URL chính tắc, trả 200 và không noindex. Site chạy https thì bỏ URL http khỏi sitemap, vì Google ghi rằng nó có thể khiến bản HTTP bị chọn nhầm.

5. Canonical, redirect 301 hay noindex: dùng cái nào cho đúng?

Ba công cụ đều khiến một URL không hiện trên Google nhưng hậu quả khác nhau, nên chọn nhầm là lỗi hay gặp khi audit.

  • Redirect 301: URL cũ không cần nữa.
  • Canonical: URL trùng nội dung nhưng vẫn cần cho khách.
  • Noindex: trang không nên lên Google, không trùng trang nào.

Google không khuyến nghị dùng noindex để chọn trang chính tắc trong cùng website.

Dùng redirect 301 khi URL cũ không cần mở nữa, canonical khi URL trùng lặp vẫn phục vụ người dùng, và noindex khi trang không nên lên Google dù không trùng trang nào. Google không khuyến nghị dùng noindex, robots.txt hay công cụ Xoá URL để chọn trang chính tắc, vì chúng chặn trang thay vì gộp tín hiệu.

So sánh 3 cột redirect 301, canonical và noindex theo tác động lên người dùng, Google và ví dụ dùng
Khác biệt lớn nhất là URL cũ có còn mở được hay không.
Tình huống Nên dùng Không nên dùng
Đổi URL vĩnh viễn 301 Canonical, vì URL cũ vẫn mở được
URL ?sort= vẫn cần cho khách Canonical Noindex, vì chặn hẳn trang
Trang cảm ơn sau khi gửi form Noindex Canonical về trang chủ
Bản in của bài viết Canonical Robots.txt, vì bot không đọc được thẻ
2 bài cùng chủ đề muốn gộp 301 về bài mạnh hơn Canonical chéo giữa hai bài
Bài cho đối tác đăng lại Đối tác chặn lập chỉ mục Chỉ dựa vào canonical

Tình huống hai bài cùng chủ đề thường gọi là keyword cannibalization, và gộp vào bài mạnh hơn rồi chuyển hướng thường hiệu quả hơn giữ cả hai.

5.1. Ba câu hỏi để chọn đúng công cụ

Bạn hỏi lần lượt ba câu. Người dùng còn cần mở URL này không, nếu không thì dùng 301. URL có nên hiện trên Google không, nếu không và không trùng trang nào thì dùng noindex. Nội dung có trùng trang khác không, nếu có thì dùng canonical.

Sơ đồ quyết định 3 câu hỏi có hoặc không dẫn tới redirect 301, noindex và canonical
Trả lời lần lượt ba câu hỏi, dừng ở câu đầu tiên có đáp án.

Cần hỏi đúng thứ tự, vì bỏ qua câu đầu thì bạn dễ đặt canonical cho URL lẽ ra phải chuyển hướng.

6. Cách cài đặt thẻ canonical trên WordPress và website tự code

WordPress đã tự in canonical, việc của bạn là biết khi nào cần sửa và không sinh ra thẻ thứ hai.

  • Rank Math: ô Canonical URL, tab Advanced.
  • Yoast SEO: ô Canonical URL, mục Advanced.
  • Tự code: sinh thẻ từ URL sạch trong template.

Cách nào thì mỗi trang cũng chỉ có đúng 1 thẻ canonical.

WordPress và plugin SEO phổ biến đã tự in canonical trỏ về chính trang, nên bạn chỉ điền URL khi trang là bản trùng lặp. Website tự code nên sinh thẻ tự động trong template, không gõ tay. Chỉ dùng 1 plugin SEO, vì cài cùng lúc Rank Math và Yoast SEO là cách nhanh nhất để có 2 thẻ.

Mô phỏng View Source bài viết WordPress, khối mã của plugin SEO có thẻ canonical tự trỏ về chính bài
Plugin SEO đã tự in canonical tự trỏ cho trang chính tắc.

6.1. Rank Math: ô khai báo URL chính tắc trong tab Nâng cao

Mở hộp Rank Math trong trình soạn bài, chọn tab Advanced (Nâng cao), bạn thấy ô Canonical URL. Để trống thì Rank Math tự trỏ về chính bài, chỉ điền khi trang là bản sao.

Mô phỏng hộp Rank Math trong trình soạn bài WordPress, tab Advanced với ô Canonical URL được khoanh
Ô Canonical URL của Rank Math nằm trong tab Advanced.

Tiêu chí đạt: sau khi lưu, View Source tìm “canonical” ra đúng 1 thẻ, href khớp URL bạn điền.

6.2. Yoast SEO: mục Nâng cao trong hộp Yoast

Với Yoast SEO, mở mục Advanced trong hộp Yoast dưới trình soạn bài để thấy ô Canonical URL. Để trống thì Yoast in canonical tự tham chiếu, và ô này có cho bài viết, trang, danh mục và thẻ.

Mô phỏng hộp Yoast SEO dưới trình soạn bài, mục Advanced mở ra với ô Canonical URL
Ô Canonical URL của Yoast nằm trong mục Advanced.

Tiêu chí đạt: 1 thẻ mỗi trang, URL tuyệt đối, và không bật đồng thời Yoast với Rank Math kể cả lúc chuyển đổi.

6.3. Website tự code hoặc nền tảng khác

Với website tự code, bạn sinh thẻ trong template head từ URL đã bỏ tham số, viết thường và luôn https. Gõ tay chỉ hợp với site vài chục trang.

Đoạn template Jinja phần head sinh thẻ canonical từ đường dẫn đã bỏ tham số và chuyển chữ thường
Thẻ canonical sinh tự động từ đường dẫn sạch.
<link rel="canonical" href="https://noithatabc.example{{ request.path | lower }}" />

Nền tảng bán hàng có sẵn thẻ thì xem View Source trước khi thêm. Tiêu chí đạt: 100% trang HTML có đúng 1 thẻ, 0 trang trỏ canonical về URL có tham số.

7. Cách kiểm tra canonical và xem URL Google đã chọn trong Search Console

Đặt thẻ xong, bạn cần kiểm tra Google có chọn đúng URL bạn khai báo hay không.

  1. Mã nguồn: thẻ bạn khai báo.
  2. Kiểm tra URL: URL Google chọn cho 1 trang.
  3. Toàn website: báo cáo Lập chỉ mục trang, công cụ crawl.

Lớp 1 là bạn khai báo gì, lớp 2 và 3 là Google quyết định gì.

Kiểm tra canonical gồm 3 lớp: thẻ bạn khai báo trong mã nguồn, URL Google đã chọn trong công cụ Kiểm tra URL của Google Search Console, và tình trạng toàn website qua báo cáo Lập chỉ mục trang cùng công cụ crawl.

Sơ đồ 3 lớp kiểm tra canonical: mã nguồn, công cụ Kiểm tra URL và toàn website
Ba lớp kiểm tra đi từ thẻ bạn khai báo đến lựa chọn thật của Google.

Vì canonical là gợi ý, chỉ lớp 2 và 3 mới cho biết trang có đang được Google index đúng URL hay không.

7.1. Xem thẻ trong mã nguồn và HTTP header

Nhấn Ctrl U để xem mã nguồn, rồi Ctrl F gõ “canonical”. Đạt là đúng 1 kết quả trong head, href đúng URL bạn muốn. Tiện ích SEOquake giúp xem nhanh canonical khi kiểm tra nhiều trang.

Mô phỏng trang mã nguồn với ô tìm kiếm canonical báo 1 trên 1 kết quả, thẻ nằm trong head
Tìm “canonical” ra đúng một kết quả trong head là đạt.

View Source chỉ cho thấy HTML gốc, nên site dùng JavaScript cần xem thêm tab Elements. Với PDF, chạy curl -I để xem header Link.

7.2. Đọc hai dòng chính tắc trong công cụ Kiểm tra URL

Dán URL vào ô trên cùng của Search Console, mở phần Lập chỉ mục trang và so “URL chính tắc do người dùng khai báo” với “URL chính tắc do Google chọn”. Hai dòng trùng nhau là đạt.

Mô phỏng công cụ Kiểm tra URL, mục Lập chỉ mục trang với hai dòng URL chính tắc do người dùng khai báo và do Google chọn trùng nhau
Hai dòng chính tắc trùng nhau nghĩa là Google đồng ý với bạn.

Trang không có bản trùng lặp thì URL Google chọn là URL đang kiểm tra. Chế độ kiểm tra URL đang hoạt động không đánh giá việc chọn trang chính tắc, nên phải đọc kết quả đã lập chỉ mục (Search Console Help). Hai dòng lệch nhau thì đọc phần 9 trước khi bấm Yêu cầu lập chỉ mục.

7.3. Ba trạng thái trùng lặp trong báo cáo Lập chỉ mục trang

Báo cáo Lập chỉ mục trang có 3 trạng thái liên quan đến canonical. Có trang ở các trạng thái này thường là bình thường, vì Google không lập chỉ mục bản trùng lặp.

Mô phỏng báo cáo Lập chỉ mục trang, bảng lý do có 3 trạng thái trùng lặp và chính tắc được tô màu
Chỉ trạng thái cuối cần tìm nguyên nhân.
Trạng thái Có cần sửa không
Trang thay thế có thẻ chính tắc thích hợp Không, trang AMP hoặc bản di động đã trỏ đúng
Trang trùng lặp, người dùng chưa chọn trang chính tắc Xem URL Google chọn có đúng ý không
Trang trùng lặp, Google đã chọn một trang chính tắc khác với lựa chọn của người dùng Có, tìm nguyên nhân theo phần 9

Mỗi trạng thái chỉ có danh sách mẫu tối đa 1.000 URL (Search Console Help). SEODO thường đặt mức trạng thái thứ 3 bằng 0 ở trang quan trọng.

7.4. Rà toàn site bằng công cụ crawl

Để có danh sách đầy đủ, bạn quét site bằng Screaming Frog và mở tab Canonicals, nơi các bộ lọc Missing, Canonicalised, Non-Indexable Canonical, Multiple tách sẵn trang có vấn đề.

Mô phỏng Screaming Frog tab Canonicals với các bộ lọc Missing, Canonicalised, Non-Indexable Canonical, Multiple
Tab Canonicals tách sẵn các nhóm trang có vấn đề.

Tiêu chí đạt: có cột canonical cho 100% URL HTML và xử lý 4 nhóm là thiếu canonical, trỏ URL khác, trỏ URL không trả 200, có nhiều thẻ. Khi rà cả website, checklist SEO audit 30 hạng mục xếp canonical vào đúng thứ tự ưu tiên. Website nhiều bộ lọc và tham số mà chưa có người phụ trách kỹ thuật có thể cân nhắc dịch vụ SEO tổng thể để rà canonical cùng các lỗi lập chỉ mục khác.

8. 9 lỗi canonical hay gặp và cách sửa theo mức ưu tiên

Biết lỗi nào phải sửa ngay thì dồn công sức đúng chỗ khi gặp hàng trăm URL có vấn đề.

9 lỗi chia 3 mức, theo kinh nghiệm của SEODO:

  • P0, sửa ngay: lỗi 1 và 2, trang chính có thể biến mất.
  • P1, trong tuần: lỗi 3 đến 8, Google dễ chọn URL khác.
  • P2, tinh chỉnh: lỗi 9, định dạng URL.

9 lỗi hay gặp gồm trỏ về URL lỗi hoặc trang khác nội dung, dùng robots.txt hoặc noindex thay canonical, có 2 thẻ, thẻ ngoài head, tín hiệu lệch nhau, phân trang về trang 1 và URL sai định dạng. Mức ưu tiên là đánh giá của SEODO, tiêu chuẩn đạt bám tài liệu Google.

Ma trận 3 mức ưu tiên P0, P1, P2 cho 9 lỗi canonical hay gặp
Hai lỗi P0, sáu lỗi P1 và một lỗi P2.

8.1. Lỗi 1: URL chính tắc là URL lỗi, URL chuyển hướng hoặc trang noindex

Thẻ canonical trỏ tới URL trả 404, 301 hoặc trang noindex, thường sau khi đổi URL hàng loạt mà quên cập nhật canonical.

Mô phỏng Screaming Frog bộ lọc Non-Indexable Canonical, các trang có canonical trỏ về URL 404, 301 và trang noindex
Canonical cũ trỏ về URL 404, URL chuyển hướng hoặc trang noindex.

Tiêu chuẩn đạt: URL đích trả 200 trực tiếp, không noindex, tự trỏ canonical. Cách sửa là thay bằng URL đích cuối cùng. Mức P0, vì bạn đang đề xuất một trang không tồn tại hoặc bị chặn lập chỉ mục làm bản chính.

8.2. Lỗi 2: Trỏ URL chính tắc về trang khác nội dung, nhất là trang chủ

Template gán cùng canonical trang chủ cho mọi trang. Google ghi rằng trang không giống trang chính tắc được khai báo thì Google sẽ không chọn URL đó, nhưng đừng trông chờ Google tự bỏ qua lỗi.

So sánh mã nguồn trang sofa góc và bàn trà: bên sai cùng trỏ canonical về trang chủ, bên đúng trỏ về chính từng trang
Mỗi trang trỏ canonical về chính nó.

Tiêu chuẩn đạt: trang được trỏ tới có nội dung chính tương đương. Cách sửa là cấu hình lại template in canonical theo từng trang. Mức P0, vì hàng loạt trang cùng phát tín hiệu sai một lúc.

8.3. Lỗi 3: Dùng robots.txt hoặc công cụ Xoá URL để xử lý trùng lặp

Chặn Disallow: /*?sort= trong robots.txt khiến Googlebot không đọc được thẻ canonical, và theo Google, URL bị chặn vẫn có thể được lập chỉ mục mà không có nội dung.

Mô phỏng tệp robots.txt có hai dòng Disallow chặn tham số sort và color được khoanh đỏ
Chặn URL tham số khiến Googlebot không đọc được thẻ canonical.

Công cụ Xoá URL cũng không dùng được, vì nó ẩn mọi phiên bản của URL. Tiêu chuẩn đạt: 0 URL trùng lặp bị chặn. Mức P1.

8.4. Lỗi 4: Dùng noindex để chọn trang chính trong cùng một site

Bản trùng lặp vừa noindex vừa canonical. Google không khuyến nghị dùng noindex để ngăn chọn trang chính tắc trong cùng site, vì noindex chặn hẳn trang.

So sánh phần head sai có noindex kèm canonical và phần head đúng chỉ có canonical trên trang sắp xếp
Bản trùng lặp chỉ cần canonical.

Tiêu chuẩn đạt: bản trùng lặp chỉ có canonical, noindex để cho trang cảm ơn, trang tài khoản. Mức P1.

8.5. Lỗi 5: Hai thẻ khai báo trên một trang hoặc thẻ bị JavaScript sửa

Tìm “canonical” ra 2 kết quả khác URL, thường do 2 plugin SEO hoặc theme in thêm thẻ. Biến thể khác là JavaScript sửa href sau khi tải.

Mô phỏng View Source tìm canonical ra 2 kết quả, một thẻ do theme in và một thẻ do plugin SEO in
Theme và plugin cùng in thẻ tạo hai đề xuất mâu thuẫn.

Tiêu chuẩn đạt: 1 thẻ ở HTML gốc và 1 thẻ ở HTML đã kết xuất, cùng URL. Mức P1.

8.6. Lỗi 6: Đặt thẻ ngoài head hoặc head không hợp lệ

Thẻ lạ như iframe chen trong head làm head đóng sớm, nên thẻ canonical phía sau bị đẩy xuống body và Google không chấp nhận.

So sánh mã nguồn có iframe chen trong head và DOM đã kết xuất cho thấy thẻ canonical bị đẩy xuống body
Iframe trong head đẩy thẻ canonical xuống body.

Tiêu chuẩn đạt: thẻ nằm trong head ở cả HTML gốc và đã kết xuất. Đưa thẻ lên gần đầu head, dời mã nhúng xuống body. Mức P1.

8.7. Lỗi 7: Thẻ khai báo, sitemap, hreflang và liên kết nội bộ chỉ về các URL khác nhau

Đây là nguyên nhân tôi gặp nhiều nhất: thẻ có dấu gạch chéo cuối, sitemap không có, menu dùng http. Google ghi rõ không chỉ định URL khác nhau qua các cách khác nhau.

Bảng 4 nơi khai báo của trang sofa góc, sitemap thiếu dấu gạch chéo và menu dùng http được tô đỏ
Lệch một ô là Google phải tự chọn.

Tiêu chuẩn đạt: cùng 1 URL ở cả 4 nơi, không có bản http trong sitemap hay hreflang. Mức P1.

8.8. Lỗi 8: Trang phân trang 2, 3 trỏ URL chính tắc về trang 1

Tài liệu Pagination của Google (cập nhật 10/12/2025) khuyên không dùng trang 1 làm chính tắc cho cả chuỗi, vì trang sau chứa sản phẩm khác.

So sánh trang 2 của danh mục sofa góc: bên sai trỏ canonical về trang 1, bên đúng tự trỏ về chính trang 2
Mỗi trang phân trang có URL chính tắc riêng.

Tiêu chuẩn đạt: 100% trang phân trang tự trỏ canonical. Google không còn dùng rel=”next” và rel=”prev”. Mức P1.

8.9. Lỗi 9: Dùng URL tương đối, sai giao thức hoặc chứa dấu thăng

Ba lỗi nhỏ hay gặp là href tương đối /sofa-goc/, dùng http khi site đã https, và URL có phần sau dấu #.

Ba thẻ canonical sai gồm URL tương đối, URL http và URL có dấu thăng, cạnh một thẻ đúng dùng URL tuyệt đối https
Ba lỗi định dạng và một thẻ đúng để đối chiếu.

Tiêu chuẩn đạt: URL tuyệt đối https, đúng www hoặc không www, không có dấu #, chứng chỉ khớp tên miền và không chuyển hướng HTTPS về HTTP. Mức P2.

Tóm tắt 9 lỗi canonical

Lỗi Cách phát hiện Cách sửa Mức
1. URL lỗi, chuyển hướng, noindex Bộ lọc Non-Indexable Canonical Dùng URL đích trả 200 P0
2. Trang khác nội dung View Source nhiều mẫu trang Sửa template P0
3. Robots.txt, Xoá URL Đọc robots.txt Bỏ chặn, dùng canonical P1
4. Noindex thay canonical Lọc trang vừa noindex vừa canonical Bỏ noindex P1
5. Hai thẻ, JavaScript sửa Tìm “canonical” ra 2 kết quả Tắt phần in thẻ thừa P1
6. Thẻ ngoài head Tab Elements Đưa thẻ lên đầu head P1
7. Tín hiệu lệch nhau So 4 nơi khai báo Thống nhất 1 URL P1
8. Phân trang về trang 1 Xem canonical của ?page=2 Tự trỏ canonical P1
9. Tương đối, http, dấu # Bộ lọc Canonical Is Relative URL tuyệt đối https P2

9. Vì sao Google chọn canonical khác với URL bạn khai báo?

Biết đúng nguyên nhân thì sửa một lần, khỏi đổi thẻ nhiều lần mà không có kết quả.

  • Nội dung: các trang trong nhóm quá giống nhau.
  • Kỹ thuật: thiếu hreflang, thẻ sai do CMS, máy chủ sai.
  • Bên ngoài: bị tấn công, bị đăng lại hoặc sao chép.

Sau khi sửa, Google có thể giữ trang trong nhóm trùng lặp tới khoảng 2 tuần.

Google chọn canonical khác vì khai báo chỉ là gợi ý. Google gom trang có nội dung chính giống nhau thành nhóm, rồi chọn trang đầy đủ, hữu ích nhất dựa trên mọi tín hiệu. Theo Fix canonicalization issues (cập nhật 21/08/2026), nguyên nhân thường là chất lượng nội dung hoặc tín hiệu kỹ thuật.

Quy trình 4 bước xử lý khi Google chọn canonical khác: xem URL Google chọn, rà lỗi kỹ thuật, làm trang đủ khác, yêu cầu lập chỉ mục
Bốn bước xử lý theo tài liệu của Google.

Quy trình gồm 4 bước. Xem URL Google chọn và tự hỏi nó có hợp lý hơn không. Rà lỗi kỹ thuật, làm các trang trong nhóm đủ khác nhau. Cuối cùng, Yêu cầu lập chỉ mục cho URL chính vì tính năng này có hạn mức. Google có thể giữ trang trong nhóm tới khoảng 2 tuần, nên đừng kỳ vọng thay đổi ngay.

9.1. Các trang trong nhóm quá giống nhau

Google ghi rằng sửa lỗi chọn canonical về bản chất là làm các trang đủ khác nhau. Ví dụ minh hoạ: 20 trang sửa sofa theo quận chỉ khác tên quận rất dễ bị gom thành một nhóm.

Hai trang dịch vụ sửa sofa quận 1 và quận 3 đặt cạnh nhau, phần nội dung giống hệt được tô xám
Hai trang chỉ khác tên quận dễ bị gom thành một nhóm.

Tiêu chí đạt: mỗi trang khác rõ ở nội dung chính như bảng giá, dự án đã làm, không chỉ đổi địa danh hay màu sắc. Không có gì khác để viết thì gộp thành một trang.

9.2. Biến thể vùng hoặc ngôn ngữ thiếu hreflang

Nhiều phiên bản cùng nội dung mà thiếu hreflang thì Google có thể chọn một bản cho tất cả. Google cũng ưu tiên URL trong cụm hreflang, nên bản vi-AU không được trỏ lại sẽ thua bản vi-VN và vi-US.

Bảng cụm hreflang: bản vi-VN và vi-US trỏ qua lại hai chiều, bản vi-AU không được trỏ lại
Bản vi-AU nằm ngoài cụm vì không trang nào trỏ lại.

Tiêu chí đạt: 100% trang cùng ngôn ngữ khác vùng có hreflang hai chiều.

9.3. Thẻ sai do CMS, plugin hoặc máy chủ cấu hình sai

CMS hay plugin dùng sai canonical hoặc chuyển hướng 3xx thì URL Google chọn có thể nằm ở tên miền khác. Google khuyên kiểm tra HTML bằng DevTools rồi báo nhà cung cấp CMS.

Mô phỏng Kiểm tra URL, URL chính tắc do Google chọn thuộc một tên miền khác với URL người dùng khai báo
URL Google chọn ở tên miền khác là dấu hiệu thẻ hoặc máy chủ sai.

Máy chủ cấu hình sai, hoặc hai máy chủ trả trang lỗi 404 mềm giống hệt nhau, cũng gây lỗi này. Tiêu chí đạt: URL Google chọn thuộc tên miền của bạn, trang lỗi trả đúng 404.

9.4. Website bị tấn công chèn chuyển hướng sang tên miền lạ

Mã độc có thể chèn chuyển hướng 3xx hoặc canonical trỏ sang tên miền spam, và Google có thể chọn URL đó thay URL của bạn.

Mô phỏng Search Console mục Vấn đề bảo mật với trạng thái không phát hiện vấn đề nào
Mục Vấn đề bảo mật cần ở trạng thái không phát hiện vấn đề.

Tiêu chí đạt: mục Vấn đề bảo mật không báo lỗi, 0 canonical hay chuyển hướng trỏ sang tên miền lạ.

9.5. Nội dung đăng lại trên site khác hoặc bị sao chép

Với bài cho đối tác đăng lại, Google không khuyên dùng canonical vì hai trang thường khác nhau nhiều. Cách tốt nhất là đối tác chặn lập chỉ mục.

Mô phỏng Kiểm tra URL, URL chính tắc do Google chọn thuộc một website sao chép đã che tên
Cách xử lý phụ thuộc vào việc bạn có cho phép đăng lại hay không.

Bị sao chép trái phép thì liên hệ hosting của site đó và gửi yêu cầu theo DMCA. Tiêu chí đạt: URL Google chọn cho 100% bài chính thuộc tên miền của bạn.

10. Câu hỏi thường gặp về canonical

Những câu trả lời ngắn cho các thắc mắc hay gặp về canonical, kể cả nghĩa của từ ngoài SEO.

  • Nghĩa của từ: chính tắc, theo chuẩn được thừa nhận.
  • Trang không trùng lặp: nên có canonical tự trỏ.
  • So với 301: 301 bỏ hẳn URL cũ, canonical giữ cả hai.
Bảng tóm tắt 5 câu hỏi thường gặp về canonical và câu trả lời ngắn
Năm câu hỏi hay gặp về canonical và câu trả lời ngắn.

10.1. Canonical dịch là gì?

Canonical là tính từ tiếng Anh, nghĩa là theo chuẩn hoặc quy tắc đã được thừa nhận, thường dịch là “chính tắc”. Trong SEO, canonical URL là URL chính tắc của một nhóm trang trùng lặp. Canonical cũng là tên công ty phát triển Ubuntu, không liên quan đến SEO.

10.2. Canonical form và canonically là gì?

Canonical form là “dạng chính tắc” trong toán học và tin học, tức cách viết chuẩn, duy nhất của một đối tượng có nhiều cách biểu diễn. Canonically là trạng từ, nghĩa là theo chuẩn tắc, và trong cộng đồng truyện, phim còn có nghĩa theo nguyên tác.

10.3. Trang không trùng lặp có cần tự khai báo URL chính tắc không?

Nên có. Google khuyên thêm canonical tự tham chiếu cho trang chính tắc. Rank Math và Yoast đã làm sẵn, bạn chỉ cần kiểm tra mỗi trang có đúng 1 thẻ.

10.4. Canonical khác redirect 301 ở điểm nào?

Redirect 301 đưa người dùng và bot sang URL mới, bản cũ không mở được nữa. Canonical giữ cả hai URL và chỉ gợi ý Google chọn URL chính. Đổi URL vĩnh viễn thì dùng redirect 301.

10.5. Có trỏ canonical sang tên miền khác được không?

Được, khi cùng nội dung nằm trên nhiều tên miền bạn quản lý. Với bài đăng lại trên site đối tác, Google khuyên đối tác chặn lập chỉ mục, không chỉ dựa vào canonical.

Nguồn tham khảo

  • Google Search Central: What is URL canonicalization (cập nhật 20/08/2026)
  • Google Search Central: How to specify a canonical URL with rel=”canonical” and other methods (cập nhật 10/07/2026)
  • Google Search Central: Fix canonicalization issues (cập nhật 21/08/2026)
  • Google Search Central: Pagination, incremental page loading, and their impact on Google Search (cập nhật 10/12/2025)
  • Search Console Help: Công cụ kiểm tra URL
  • Search Console Help: Báo cáo Lập chỉ mục trang
5/5 - (7 bình chọn)
ZaloChat Zalo Chat Messenger 0332.870.123