Marketing, Search Engine Optimization (SEO)

Canonical Tags (Rel=canonical) trong SEO, cách sử dụng đúng cách

Hai tuần trước, do công việc nên bản thân Tú có đánh giá một Website của Đức và có thảo luận với...

Written by Tú Cao · 8 min read >
canonical tags

Hai tuần trước, do công việc nên bản thân Tú có đánh giá một Website của Đức và có thảo luận với anh phát triển hệ thống, đề xuất a thêm thẻ Canonical và trong quá trình thảo luận mình thấy có rất nhiều vấn đề, và đôi khi mọi người hay hiểu sai. Trong khi đó canonical là một thẻ Tag không quan trọng với người dùng, nhưng lại cực kỳ quan trọng và ảnh hưởng nghiêm trọng tới SEO. Nếu việc sử dụng thẻ canonical không đúng cách thì hệ lụy của nó rất lớn, vì thế mình quyết định dành thời gian chia sẻ bài này về chủ đề canonical để mọi người hiểu biết chúng tốt hơn.
canonical tags

Canonical là gì?

Canonical là gì?

Tên gọi “Canonical”, “canonical tags” “rel=canonical” mà nhiều người vẫn tìm kiếm, hiểu chung ý nghĩa như nhau. Đây là một thẻ HTML được đặt trong phần <HEAD> của một Website – Phần nội dung người dùng không nhìn thấy.

<meta rel=”canonical” href=”http://example.com/content-news.html”/>

Kể từ tháng 2/2009 (Theo 1 số Website Việt Nam) Google và Yahoo đã chính thức thông báo việc sử dụng thẻ canonical. Ngày nay thì tất cả các công cụ tìm kiếm lớn Google, Bing đều sử dụng thẻ này cho việc truy xuất và xếp hạng từ khóa của mình.

Tác dụng của thẻ Canonical là gì ?

Canonical được tạo ra, sử dụng với mục đích ngăn chặn vấn đề trùng lặp nội dung (duplicate content) của một Website. Nó sẽ giúp người quản trị thông báo với cỗ máy tìm kiếm biết đâu là nội dung gốc, nội dung chất lượng hơn trên Website.

Công cụ tìm kiếm sử dụng Canonical để làm gì ?

Tài nguyên thì có hạn, kể cả Google hay bất kỳ một cỗ máy tìm kiếm nào khác. Họ sử dụng canonical đơn giản là để giảm việc lưu trữ những dữ liệu không cần thiết, hoặc kém giá trị mà không mang lại giá trị, thông tin hữu ích cho người sử dụng. Những Website được thiết kế tốt chuẩn SEO thì người thiết kế họ sẽ giúp bạn làm được phần này, còn phía SEOer hay chủ trang Website rất khó có thể can thiệp vào Code. Đối với những Website mà có nội dung trùng lặp quá lớn thì Google cũng đánh giá kém uy tín hơn, ngoài ra lỗi này nếu không được khắc phục, bị đối thủ khai thác thì tai hại còn khá nhiều (Tú không đề cập cách làm vì sợ càng nhiều người biết sẽ rất loạn, cạnh tranh không lành mạnh là sẽ làm tệ cho một xã hội muốn phát triển và nhất là ở Việt Nam).

Nguy hại nghiêm trọng nếu sử dụng thẻ canonical không đúng cách.

Điều gì sẽ xảy ra nếu như bạn khai báo thẻ canonical một cách bừa bãi. Ví dụ bạn có 2 trang có nội dung khác nhau, bạn đang cần SEO cả 2 trang đó, tuy nhiên nếu Trang A khai báo canonical của trang B. Như vậy theo mình đã đề cập thì trang A sẽ không được Google lập chỉ mục (index) nội dung nữa. Khi đó thì dù bạn có cố gắng đến đâu, cõ máy tìm kiếm cũng không xếp hạng trang A của bạn, chứ đừng nói tới việc SEO. Một số người còn nhầm lẫn rằng, việc sử dụng canonical để nhấn mạnh một trang nội dung mình cần SEO, điều này là hoàn toàn sai. Và mô hình chung sẽ gây hại cho Website của bạn nhiều hơn là bạn được, do đó hãy sử dụng thẻ Canonical đúng cách.

Thẻ canonical sử dụng như thế nào?

Để cho các bạn tiện trong việc sử dụng, mình xin chia sẻ những cách sử dụng và trường hợp cụ thể để sử dụng thẻ canonical đúng cách mà phổ biến nhất. Một số trường hợp đặc biệt sẽ có một chút thay đổi nhất định.

Nên sử dụng thẻ canonical cho danh mục sản phẩm.

Như các bạn đã biết, trong phần danh mục sản phẩm sẽ bao gồm nhiều sản phẩm và sẽ xảy ra một số trường hợp mà liên kết có thể thay đổi, nhưng nội dung sẽ tương tự nhau. VD:

  • Khi sắp xếp sản phẩm theo một giá : Giá thấp –> cao (tiêu đề thay đổi)
  • Khi hiển thị thêm sản phẩm có trong danh sách, VD: đang ở 5 sản phẩm, bạn chỉnh lên 10 sản phẩm.
  • Khi sắp xếp sản phẩm theo thời gian : Mới nhất –> Cũ, Cũ –> mới….
  • …..

Tất cả trường hợp trên sẽ tạo ra những liên kết khác cho nội dung của chung một chuyên mục.

VD: https://nguyencaotu.com/dien-thoai.html

Tuy nhiên khi người dùng sử dụng, họ sắp xếp sản phẩm hiển thị nhiều hơn 5 sản phẩm mặc định đường dẫn sẽ là https://nguyencaotu.com/dien-thoai/results,1-12.html

Hoặc nếu họ muốn sắp xếp theo dạng giá sản phẩm https://nguyencaotu.com/dien-thoai/gia-thap-cao.html

Như vậy bạn có thể thấy rằng, sẽ là không tốt nếu như Google Index những đường dẫn tự động sinh ra như vậy, vì có người dùng bấm vào, tức là có liên kết. Chính vì thế google sẽ hiểu. Ngoài ra việc người dùng vô tình chia sẻ đường dẫn này cũng sẽ làm Google chú ý hơn nội dung đó.

Sử dụng thẻ canonical cho website chạy nền tảng tiếp thị liên kết (affiliate)

Hình thức tiếp thị liên kết khá phổ biến trên thế giới, ở Việt Nam cũng bắt đầu có khá nhiều công ty áp dụng mô hình này vào hoạt động kinh doanh. Với những ai tham gia vào bán hàng affilate hay xây dựng hệ thống cần chú ý việc bạn tạo ra link có nhiều mã ID sẽ tạo ra vô số các liên kết. Mà trong mỗi một trang có sử dụng mã Affiliate sẽ tạo ra nội dung gần như y hệt nhau. Điều này sẽ rất khó cho doanh nghiệp của bạn khi bạn cần SEO link đó.

VD:

  • Link gốc: https://nguyencaotu.com/tu-van-seo-doanh-nghiep.html
  • Link người kinh doanh A: https://nguyencaotu.com/tu-van-seo-doanh-nghiep.html?affid=1
  • Link của người kinh doanh B: https://nguyencaotu.com/tu-van-seo-doanh-nghiep.html?affid=2
  • … tương tự với người thứ n

Khi đó ta cần sử dụng thẻ canonical để báo cho Google biết, hãy index link gốc của tôi. Ngoài ra việc làm này còn làm công bằng cho hệ thống kinh doanh của bạn, bản thân Tú cũng xây dựng hệ thống Affiliate cho một số nơi, nó thiên về Marketing hơn nên không đề cập trong bài này.

Sử dụng canonical cho những Website sau khi tối ưu loại bỏ id bài viết. (Đối với người lập trình)

Với những bạn lập trình, thập chí là chủ trang Web, bạn cần kiểm tra xem việc người lập trình có xử lý đường dẫn thân thiện (friendly URL). Như chúng ta thấy một số Website người lập trình sử dụng ID để phân biệt nội dung.

VD: https://nguyencaotu.com/chuyen-muc-seo/11-seo-hieu-qua.html

Nhưng khi tối ưu ta có thể viết thành https://nguyencaotu.com/chuyen-muc-seo/seo-hieu-qua.html . Như vậy bạn đã tạo ra 2 link khác nhau nhưng lại có chung một nội dung, cách tốt nhất là sử dụng thẻ canonical để quy định. Google sẽ chỉ index nội dung mà bạn khai báo với nó đâu là nội dung gốc.

Sử dụng canonical khi bạn có đường dẫn đã tối ưu, và đường dẫn chưa tối ưu đã được index.

Trong trường hợp Website chưa tối ưu đường dẫn, sau đó khá lâu bạn mới tối ưu lại đường dẫn cho nó. Khi đó Google đã index những đường dẫn chưa tối ưu của bạn, nếu bạn tối ưu, bằng cách dùng thêm canonical sẽ giúp bạn giữ được index, điểm chất lượng từ trước đó bạn xây dựng. (Canonical là điều hướng 301, chứ không phải đơn thuần.)

VD:

  • https://nguyencaotu.com/page?id=1  (Đường dẫn chưa tối ưu)
  • https://nguyencaotu.com/gioi-thieu/ (Đường dẫn đã tối ưu)

Không nên sử dụng canonical cho phân trang của danh mục, bài viết.

Đây là ý kiến cá nhận của mình. Với danh mục hay bài viết sẽ tạo a các liên kết

VD:

  • https://nguyencaotu.com/chuyen-muc-seo/page1.html (cho trang 1)
  • https://nguyencaotu.com/chuyen-muc-seo/page2.html (cho trang 2)

Vì nội dung ở 2 trang khác nhau, những sẽ không bao giờ trùng nhau. Vì ki bạn viết bài viết mới, nó sẽ tự động đẩy và sẽ không bao giờ trùng nhau. Điều bạn cần tối ưu là tối ưu lại title, description thay vì làm canonical sẽ tốt hơn cho Website. (Nếu bạn đang sử dụng Joomla 1.5 bạn nên tham khảo bài viết SEO Joomla 1.5 trong đó mình có hướng dẫn bạn các fix triệt để, với người dùng Joomla 2.5 thì xem tại đây.)

Tài liệu tham khảo thêm cho bạn:

  1. Thông tin về rel=canonical của Google
  2. 5 lỗi phổ biến khi sử dụng thẻ Canonical  của Google Webmaster Central.

Trên đây là kiến thức về Canonical tags, ý nghĩa của canonical trong SEO và cách bạn sử dụng thẻ này đúng cách mang lại hiệu quả thực sự. Với những ví dụ bên trên mình cũng có những trường hợp cụ thể hơn, tuy nhiên vì lo ngại vấn đề link sẽ chết nên không thể mang ra viết demo được theo hình thức nghiên cứu trường hợp (case study) như bạn đầu mình định viết. Bạn có thể liên hệ với mình trực tiếp nếu cần tư vấn hoặc thông qua các kênh Support của mình “Tú Cao và những người bạn“. Khi đó mình có thể mô tả kỹ hơn nếu bạn còn thắc mắc. Bài viết dựa trên quan điểm cá nhân của Tú cao về canonical, chúc bạn thành công.

Tú Cao Marketing Online

Hiệu quả là số 1

Written by Tú Cao
Tôi là Tú Cao. Tôi chia sẻ và dạy mọi người cách kinh doanh trên Internet. Bởi vì "Hạnh phúc không phải là nhận, hạnh phúc chính là sự cho đi". Bài viết này dựa trên quan điểm, hiểu biết của Tôi. Bạn tự cân nhắc và chịu trách nhiệm khi làm theo, nếu nó hữu ích với bạn hãy Mời Tú Cao một tách CÀ PHÊ. Profile

62 Replies to “Canonical Tags (Rel=canonical) trong SEO, cách sử dụng đúng cách”

  1. bạn ơi, có thể hướng dẫn bài tạo trang Affiliate bán hàng không?

    1. Bạn có thể tham khảo web.tin.vn là site cho bạn là Afflicate miễn phí và đơn giản. Còn hướng dẫy cái này liên quan nhiều tới code. Rất khó viết.

  2. Mình đang gặp vấn đề về lỗi trung lặp nội dụng trên Joomla 2.5. Trùng lặp nội dụng ở phân trang. Bạn giúp mình ý kiến để fix với. Thanks.

    1. Chào bạn,

      Với bản 2.5 thì Tú chưa có thời gian viết tài liệu chia sẻ nào về nó cả. Nhưng bạn có thể tham khảo các Plugin tại bài viết cho Joomla 1.5, bạn tìm tới tác giả, họ có viết cho bản 2.5 rồi đó. Hiện mình bận quá nên chưa viết cụ thể được. Bạn tìm tại đây nhé https://nguyencaotu.com/seo-joomla-1-5.html . Chúc bạn thành công, mình tin nó giúp được bạn vì mình cũng đã FIX cho vài trang dùng Joomla 2.5.

  3. “Trong trường hợp Website chưa tối ưu đường dẫn, sau đó khá lâu bạn mới tối ưu lại đường dẫn cho nó. Khi đó Google đã index những đường dẫn chưa tối ưu của bạn, nếu bạn tối ưu, bằng cách dùng thêm canonical sẽ giúp bạn giữ được index, điểm chất lượng từ trước đó bạn xây dựng. (Canonical là điều hướng 301, chứ không phải đơn thuần.)”

    Cho mình hỏi đoạn này: nghĩa là mình tạo một bài viết mới với 1 url tối ưu, sau đó canonical từ link cũ chưa tối ưu đã được index kia sang url mới tối ưu này phải không?

    1. Như thế về mặt kỹ thuật là không làm được, trừ khi làm thủ công bằng tay.

      Còn xét về góc độ tối ưu cho SEO thì như vậy cũng không tốt vì mất đi giá trị trước đó bạn xây dựng (Giá trị về nội dung lan truyền, giá tị về link, giá trị về trang đích)…. nếu muốn tối ưu URL thì bạn nên tìm hiểu giải pháp để khi người dùng vào link cũ, nó sẽ tự động chuyển tới URL là trang mới tối ưu hơn (nhưng nhớ phải là kiểu chuyển 301).

  4. Nếu web A đang top 1 từ khóa. Sau đó gắn thẻ canonical sang web B . Vậy có được ko? Web B có top đc từ khóa đó ko?

    1. B không thể top với từ khóa đó, thậm chí A cũng sẽ bị mất TOP. Không nên làm vậy để đánh lừa Google.

  5. dùng Canonical có 2 mặt, nếu tối ưu tốt nội dung thì ok, nhưng nội dung là trùng lặp trong web nhiều thì thứ hạng từ khóa không có, mình đã tích hợp những phải gõ luôn seo từ “Nội thất trẻ em” 3 tháng mới mới ở trang một

  6. anh ơi, em có gặp trường hợp 2 bài cùng SEO cho 1 từ khóa (từ khóa đó là 1 trong số chùm từ khóa) thì có phải là bị trùng lặp nội dung không ạ?
    Cách xử lý 2 bài đó như nào anh nhỉ? em cảm ơn anh nhiều

    1. Chào bạn,

      Trong 1 Webstie thì với 1 từ khóa chỉ nên seo 1 url nhất định, tránh việc mục tiêu phân tán. Bạn nên rút thành 1 bài nhé.

  7. Làm sao để thêm rel=canonical tự động cho các tag vs category anh nhỉ? E dùng wp cái tag có dùng yoast thêm từng tag vs category nhưng k biết bị lỗi gì nó k hiển thị khi view source.

  8. Chào bạn Tú,
    Trong trường hợp website được design từ WP hay Joomla thì sử dụng “canonical” cực kỳ đơn giản. Nhưng đối với website dùng code asp, php thì mình thấy khó quá. Vì phần bị cắt ra để sử dụng chung cho các trang con. Trường hợp này phải làm sao để đặt “canonical” cho các trang con?
    Thanks bạn.

    1. Chào bạn,

      Code asp và php cũng như nhau luôn. Thông thường bây giờ lập trình viên sẽ code cho phép quản trị có thể tự đặt url cho bài viết (thay vì trước đây lấy theo tiêu đề), hoặc kể nó lấy theo tiêu đề thì vẫn có thể làm được.

      Chỉ cần code thêm cái thẻ canonical và gọi giá trị là url của bài viết là xong.

      Mình ko hiểu nội dung nào được cắt ra để sử dụng cho trang con ý nghĩa là gì ?

  9. Giải pháp xử lý trùng lặp thẻ khi phân trang cho worrdpress thì như thế nào nhỉ bác Tú Cao

    1. Dùng cái all in seo chặn index page2, page 3, page 4 hoặc dùng cái ajax load (demo trang của Tú, sẽ ko có page 2, page 3).

  10. tú ơi ! cảm ơn tú đã chia sẽ bài rất hay nhưng mình kiến thức còn hạn chế nên chưa hiểu hết được nội dung, tú có thể giúp mình tạo một đoạn core Canonical cho site mình được không, site tên là http://suanhahcm.net cảm ơn tú trước nhé

  11. Bác ơi! Trong phần mục phân trang của mình bị trùng HTML
    Nếu mình dùng canonical: thì như bác nói bài viết mỗi trang của mình là mới hoàn toàn nên dùng canical k thích hợp
    Còn nếu mình chặn index page2, page 3, page 4
    Vậy sẽ mất rất nhiều link phải không bạn?
    trang mình là: phongkhamhungthinh.com
    Mình vẫn chưa biết dùng phương pháp nào cho ổn thỏa. Giúp mình nhé

    1. Chào bạn,

      Bên code họ lập trình được hết mà, không có gì là mất thời gian cả. Bạn có thể thấy thông thường sẽ ko bao giờ lên top danh mục mới các page 2, page 3, page 4

      1. mình cũng gặp lỗi như này, nhưng bên code họ phân vân về việc nên chặn index bằng robots txt hay không? còn dùng thẻ canon thì mình ko rành lắm, không biết giải thích sao nữa

  12. Website của mình cũng báo thiếu thẻ canonical, mình chèn thẻ này vào header với cấu trúc thế này được không bạn?

  13. mình dùng plugin yoast seo trên wordpress thì mấy trang sản phẩm mình nó tự thêm thẻ canonial luôn chứ, làm sao để google hiểu là 1 trang gốc thôi nhỉ

      1. Ad cho mình hỏi, WMT báo site mình bị trùng lặp rất nhiều, mà mình kiểm tra trùng lặp trong đó chỉ do mấy cái đuôi mở rộng dạng /orderby=rating, /orderby=menu_order, /orderby=price… Vậy phải làm sao để xử lý hết đống này nhỉ? Mình check bằng Seoquake thì báo site mình có thẻ canonical rồi…

  14. Chào anh.
    Em còn hơi mơ hồ về cái thẻ này, ví dụ em có 2 link chung một nội dung như sau
    – domain.com/chat-luong-nhat-cho-website-cua-ban.html (link 1)
    – domain.com/chat-luong-cho-website.html (link 2)
    Ở link 2 mình muốn khai báo cho Google biết là “nội dung ở đây chất lượng hơn, hãy index nội dung này” thì mình đặt thẻ Rel=”canonical” ở link 1 hay link 2 ạ ?

    1. Bạn đang hiểu sai vấn đề, tuyệt đối không khai báo kiểu đó. Đọc kỹ lại bài viết để hiểu rõ tác dụng của thẻ này.

      Ở link 2 mình muốn khai báo cho Google biết là “nội dung ở đây chất lượng hơn, hãy index nội dung này” thì mình đặt thẻ Rel=”canonical” ở link 1 hay link 2 ạ ?

      Nếu bạn muốn làm việc này, hãy sử dụng anchor text và đặt link nội bộ để điều hướng là được.

    2. Bạn đang hiểu sai vấn đề, tuyệt đối không khai báo kiểu đó. Đọc kỹ lại bài viết để hiểu rõ tác dụng của thẻ này.

      Ở link 2 mình muốn khai báo cho Google biết là “nội dung ở đây chất lượng hơn, hãy index nội dung này” thì mình đặt thẻ Rel=”canonical” ở link 1 hay link 2 ạ ?

      Nếu bạn muốn làm việc này, hãy sử dụng anchor text và đặt link nội bộ để điều hướng là được.

  15. Chào bạn,
    Web mình khi check SEO Quake và view source thấy lỗi <link rel="canonical" href="https://https://tha…… (có 2 https://https://) mình không có set link gì trong plugin Yoast SEO hay code trong file header nhưng lại bị tìm hoài chưa ra, nhờ bạn tư vấn cách fix với.
    Thanks!

    1. Chào Đạt,

      Lỗi này cực kỳ nghiêm trọng, Worpdress thì đơn giản nhất là Đạt update core bản mới nhất. Disable từng plugin đi để biết nguyên nhân do cái nào rồi tìm hướng xử lý nhé. Nên làm sớm ko là ra đi luôn đó.

    1. Chào bạn,
      Nếu bạn chưa hiểu kỹ, đừng làm gì cả. Gắn duy nhất 1 trang chủ cho tất cả các trang là sai rất nghiêm trọng. Thà ko có sẽ tốt hơn nhiều có nhưng sai.

  16. Cho mình hỏi là site của mình xài wordpress nó tự tạo ra link: domain.com/tin-tuc/tin-tuc-01.html và cả link: domain.com/tag/ten-tag/ và khi lên TOP thì link tag nó lên TOP còn link gốc thì không lên. Vậy có nên sử dụng Rel=canonical trong trường hợp này không anh Tú?

    1. Chào bạn,
      Không bạn nhé, sau này google sẽ tự nhận trang bài viết thay vì tag của bạn. Nên không cần làm gì cả, wordpress đã làm canonical rất chuẩn rồi.

    2. Chào bạn, không bạn nhé.

      Link tag được ưu tiên hơn vì trong bài viết gốc có link về tag với đúng từ khóa bạn cần. Bạn cứ seo tin-tuc-01.html bình thường và sau đó Google sẽ nhận diện lại.

  17. Chào admin, mình có câu hỏi nhờ ad giải đáp giúp. Mình làm bên kiến trúc. Website mình tạo nhiều danh mục khác nhau, và 1 bài viết mình lại add vào nhiều danh mục. Ví dụ : mình tạo 4 danh mục : Thiết kế biệt thự; Biệt thự kiểu Pháp ; Biệt thự mái thái; Biệt thự vườn. Trong đó những bài viết về Biệt thự vườn mình add vào danh mục Biệt thự mái thái và Thiết kế biệt thự, những bài viết về Biệt thự kiểu Pháp mình cũng add vào mục Thiết kế biệt thự và Biệt thự mái thái. Như vậy thì mục Biệt thự kiểu Pháp và Biệt thự vườn có thể coi là nội dung trùng lặp với mục Thiết kế biệt thự và mục Biệt thự mái thái không? Cảm ơn ad!

    1. Chào bạn,

      Không bạn nhé, vì các danh mục này có Title, Mô tả khác nhau. Cũng như khi bạn sắp xếp thì nội dung chúng đã được đảo nên không bị coi là trùng lặp nội dung. Thậm chí sau này bản thân mỗi danh mục sẽ tự chứa các nôi dung con của riêng nó nên chắc chắn sẽ khác nhau về nội dung.

  18. Cám ơn Admin!
    Bài viết của bạn dễ hiểu hơn các bài viết khác về canonical mà mình tìm kiếm.
    Cho mình hỏi 1 chút là có cách nào test website đang sử dụng canonical hiệu quả ko?

  19. Website của mình cũng báo thiếu thẻ canonical, mình chèn thẻ này vào header với cấu trúc thế nào vậy bạn?

    1. Chào bạn,

      Bạn nên đọc kỹ, cần có am hiểu về kỹ thuật mới nên làm. làm sai là website sẽ bị ảnh hưởng nhiều. Canonical không được thêm 1 cách thủ công mà phải người code xây dựng website mới khai báo được.

  20. Chào anh ! Anh cho hỏi chút, website em lập được hơn 5 tháng, sau khi đi link , kiểm tra ahref thì phần baclinks trả về link và gắn chữ CANONICAL. Nghĩa là bị làm sao hả admin ?

  21. website mình đang có 2 dạng dekstop và mobile. ví dụ 2 url. domain.com/tin-tuc và domain.com/tin-tuc-mb. Như vậy thì có bị google coi là trùng lặp nội dung không ạ!

    1. Có bạn nhé, rõ ràng url khác nhau mà cùng 1 nội dung thì là trùng lặp. Trường hợp của bạn cần khai báo thẻ này ở trên cả 2 bản desktop và mobile.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *