Canonical Url là gì? Tối ưu hóa trong SEO thế nào?

Canonical Url là gì? Có tác dụng gì trong SEO? Bài viết này sẽ hướng dẫn chi tiết cách tối ưu hóa thanh liên kết Canonical trong quá trình làm tối ưu hóa cho website.

Thao tác này thuộc nhóm SEO kỹ thuật. Bạn cần can thiệp một chút vào mã nguồn của website. Vì thế, bạn cần có quyền và biết cách sửa code, nếu không thì cần phối hợp với người có quyền này nhé.

Xuất phát điểm của khái niệm Canonical Url (hay thẻ Canonical) là từ vấn đề trùng lặp nội dung trên website.

Các công cụ tìm kiếm và cả người dùng đều không thích nội dung tương tự hoặc trùng lặp.

Nhưng thực tế là dù muốn hay không, thì rất khó loại trừ hoàn toàn việc các trang (đại diện là Url) có nội dung trùng nhau. Kể cả khi người dùng không nhận thấy, thì vẫn có những trường hợp về mặt kỹ thuật, và trong suy xét của Google, website có những trang được coi là trùng nhau. Ví dụ, những Url thế này được coi là bị trùng lặp nội dung:

http://www.ten-mien.com
http://www.ten-mien.com/index.html
https://ten-mien.com
https://www.ten-mien.com

Tất cả số trên đều là trang chủ của website có domain là ten-mien.com

Một khi có nội dung trùng lặp, website sẽ bị Google trừ điểm, bắt lỗi, thậm chí nghiêm trọng hơn là bị phạt. Vậy rõ ràng, khi bạn không nhìn hoặc nhận thấy, thì vấn đề vẫn xảy ra. Và khi đó, để tối ưu web, bạn cần biết cách khắc phục.

Giải pháp là gì?

Bạn cần nhận biết những trường hợp trùng lặp (chi tiết ở phần sau), và chọn 1 trang chuẩn nhất trong số trang bị trùng nhau, rồi thông báo Url đó cho Google biết.

Với quan điểm đó, giờ tôi muốn đi cụ thể vào định nghĩa khái niệm…

Thuật ngữ Canonical Url là gì?

Canonical Url là gì?

Đó là URL của trang chuẩn nhất trong số những trang có nội dung tương tự hoặc trùng lặp nhau trên site của bạn. Nói cách khác, trong số những trang trùng lặp, cần có 1 trang làm chuẩn, và trang đó mang Canonical Url (tạm dịch là Url chuẩn).

Trong ví dụ như trên phần đầu tôi đã minh họa về đường dẫn khác nhau của trang chủ.

Một ví dụ khác, trên website có 2 trang về 1 sản phẩm cụ thể, chỉ khác nhau về một vài thuộc tính (chẳng hạn: màu sắc). Nếu bạn không nêu rõ đâu là URL chuẩn, thì Google sẽ thay bạn chọn URL chuẩn hoặc có thể xem các trang này có tầm quan trọng như nhau. Cả 2 hướng đó đều không có lợi cho website của bạn.

Nhiều khả năng, bạn nên chủ động thông báo cho Google biết trang nào mới là chính. Khi đó, bạn cần đặt thuộc tính rel="canonical" vào trong thẻ <head>

Cú pháp đặt Canonical Url:

<link rel="canonical" href="..." />

Cần lưu ý rằng, các trang được Google coi là trùng lặp, thì không nhất thiết phải tuyệt đối giống nhau. Chẳng hạn, khi có thay đổi nhỏ trong việc sắp xếp hoặc lọc danh sách các sản phẩm (theo màu sắc, giá cả), thì URL có thể khác đi, nhưng cơ bản nội dung vẫn vậy, và Google xem những trang này là trùng lặp nhau.

Về ngữ nghĩa tiếng Anh, bản thân từ canonical có nghĩa là “kinh điển”, nghĩa là chuẩn chỉnh nhất. Trang nào có url “kinh điển” thì nó là đúng, là chuẩn, và những trang khác tương tự được coi là không chuẩn (non-canonical).

Tại sao nên dùng Canonical Url khi SEO website?

Việc sử dụng Canonical Url đúng cách và hợp lý sẽ giúp xử lý vấn đề bị công cụ tìm kiếm đánh lỗi trùng lặp nội dung trên website của bạn.

Bản thân các SE rất “dị ứng” với nội dung bị trùng lặp giữa các website, và giữa các trang trên cùng website. Trùng lặp gây tốn thời gian và tài nguyên của SE khi phải craw nhiều trang giống nhau, đồng thời cũng gây khó chịu cho người tìm kiếm thông tin, khi vào mấy trang nội dung tương tự.

Do đó, một khi trên website của bạn đã chỉ rõ trang nào là chuẩn trong nhóm trang (mà bạn thấy) có nội dung bị trùng lặp, thì bạn đã chủ động làm cho công việc thu thập thông tin của các SE dễ dàng hơn. Điều đó cũng có nghĩa là làm cho website của bạn thân thiện hơn với các SE, và rõ ràng đã góp phần tối ưu hóa cho website.

Vậy việc sử dụng Canonical Url hợp lý chẳng phải là 1 việc khi làm SEO là gì?!

Ghi chú: việc xử lý trùng lặp nội dung trên website nên được kết hợp thêm giữa Canonical Url với các công cụ khác như: Chuyển hướng 301, Robots.txt, thông báo Google gỡ bỏ Url (Google URL Removal), thuộc tính "noindex" hay "nofollow".

Tối ưu hóa Canonical Url thế nào?

Việc này khá đơn giản. Bạn chỉ cần chọn trang nào là chuẩn, rồi đặt trong thẻ <head> dòng mã sau:

<link rel="canonical" href="/url-chuan/" />

Nhớ thay đoạn /url-chuan/ bằng Url chuẩn và đầy đủ nhé.

Vậy còn cách kiểm tra xem 1 trang đã tối ưu về Canonical Url hay chưa, thì làm như thế nào? Có 3 yếu tố bạn phải audit:

  1. Trang đó đã có thẻ canonical chưa? Có rồi là được. Dùng công cụ như Moz, SEOquake...
  2. Thẻ canonical đã trỏ đúng đến trang chuẩn hay chưa? Bạn phải tự đánh giá yếu tố này.
  3. Những trang này có được lập chỉ mục hay không? Kiểm tra trên Google với cú pháp site:url

Nếu thiếu yếu tố nào, bạn cần bổ sung hoặc chỉnh sửa yếu tố đó cho đảm bảo tính tối ưu khi làm SEO.

Những trường hợp trùng lặp - nên dùng Canonical Url

Để biết cách khi nào dùng thuộc tính canonical, thì trước hết phải xem khi nào thì các trang được xem là trùng lặp nhau. Dưới đây là những kiểu trùng lặp phổ biến nhất mà tôi thấy được.

Phiên bản "www" và không "www" + phiên bản "http" và "https"

Thường thấy nhất là khác nhau về tên miền phụ www và giao thức https. Hoặc với website có phiên bản máy tính và phiên bản di động riêng.

Chẳng hạn với website Carly của tôi ở đây, thì ít nhất 4 url dưới đây đều có cùng nội dung, và được xem là trùng lặp.

http://carly.com.vn
https://carly.com.vn
http://www.carly.com.vn
https://www.carly.com.vn

Trong trường hợp này, tôi chỉ cho Google 1 Url chuẩn, bằng cách đưa vào thẻ <head> đoạn lệnh sau:

<link rel="canonical" href="https://carly.com.vn/" />

Ngoài ra, cần sử dụng một vài kỹ thuật khác liên quan đến Điều hướng 301 để trỏ hết các phiên bản trên về Url sử dụng https và không có www. Với website của bạn, nếu không biết cách thực hiện, bạn cần nhờ sự trợ giúp nhân viên lập trình web.

Phiên bản URL có và không có dấu gạch chéo ở cuối cùng

Đây cũng là tình huống phổ biến, khi cùng 1 trang nhưng có 2 phương án: có hoặc không có dấu gạch chéo ở phần cuối của URL.

Chẳng hạn, bạn vào cả 2 Url dưới đây, thì đều hoạt động (nghĩa là bị trùng lặp):

https://www.vietnamairlines.com/vn/vi/home/
https://www.vietnamairlines.com/vn/vi/home

Có điều thú vị là trong code không chỉ rõ Canonical Url.

Phiên bản máy tính và di động

Như trang báo Dân trí, có 2 phiên bản riêng với 2 Url thế này:

https://dantri.com.vn/
https://m.dantri.com.vn/

2 trang này nội dung giống nhau gần như hoàn toàn. Do đó, trong Source Code của họ cũng có dòng chỉ rõ đâu là Url chuẩn:

<link rel="canonical" href="https://dantri.com.vn/" />

Bộ lọc và sắp xếp (Filter & Sorting)

Việc sử dụng công cụ bộ lọc hoặc sắp xếp thường gây ra sự trùng lặp. Đơn giản là vì những tác vụ này tạo ra Url khác nhau, nhưng nội dung không thay đổi.

Ví dụ, với website sàn giao dịch ô tô bonbanh.com. Đây là trang danh sách các xe Audi đang được chào bán:

https://bonbanh.com/oto/audi

Khi sắp xếp theo năm sản xuất (mới/cũ), giá xe (cao/thấp), thì cũng đã được 4 trang khác:

https://bonbanh.com/oto/audi-sf000000010
https://bonbanh.com/oto/audi-sf000000020
https://bonbanh.com/oto/audi-sf000000030
https://bonbanh.com/oto/audi-sf000000040

Rõ ràng, cả 5 trang trên đều cùng nội dung (các xe Audi trên sàn giao dịch), chỉ được sắp xếp theo thứ tự khác nhau. Những trang này được coi là trùng lặp nội dung, nên trong code cần chỉ rõ 1 URL chuẩn. Và đây là kết quả tôi tìm thấy trong code của họ:

<link rel="canonical" href="https://bonbanh.com/oto/audi" />

Trang tìm kiếm nội bộ

Chẳng hạn, vào tìm kiếm nội dung trên trang luatvietnam.vn với những cụm từ khác nhau:

https://luatvietnam.vn/tim-van-ban.html?Keywords=abc
https://luatvietnam.vn/tim-van-ban.html?Keywords=xyz

Cùng 1 trang, tìm kiếm từ khóa khác nhau thì cho Url khác nhau. Vì vậy, cũng bị xem là trùng lặp.

Và với trường hợp này trong mã website này cũng đã chỉ rõ Canonical Url để Google biết đâu là chuẩn:

<link rel="canonical" href="http://luatvietnam.vn/tim-van-ban.html" />

Trang đích trỏ tới từ 1 trang liên kết (Referral Link)

Trong tiếp thị liên kết, bạn thường đặt link từ trang của mình đến trang đích. Khi người dùng nhấp chuột vào link đó, sẽ dẫn tới trang đích có tham số giới thiệu. Về bản chất đây vẫn là trang cũ, nhưng thay đổi Url, và do đó cũng bị lỗi trùng lặp.

Ví dụ: 2 url dưới đây cùng 1 trang, nhưng khác nhau về ID của người làm tiếp thị liên kết (đoạn ?coupon=VNL01 ở cuối cùng):

https://unica.vn/bat-dau-lam-xuat-nhap-khau-tu-con-so-0
https://unica.vn/bat-dau-lam-xuat-nhap-khau-tu-con-so-0?coupon=VNL01

Và rõ ràng Unica đã chỉ rõ về Url chuẩn trong code:

<link ref='canonical' href='https://unica.vn/bat-dau-lam-xuat-nhap-khau-tu-con-so-0'/>

Ngoài những trường hợp nêu trên, còn 1 số trường hợp khác về sự cố trùng lặp, chẳng hạn như: phiên bản cho máy in, ID phiên (Session)... Nhưng do ít gặp, nên tôi không nêu chi tiết tại đây.

Trùng lặp chéo giữa các tên miền

Nghĩa là bạn có 2 hoặc nhiều website có tên miền khác nhau, nhưng có những trang lại trùng lặp nội dung. Như vậy, để tránh bị đánh lỗi, bạn cũng cần chỉ rõ trang nào trên domain nào là chuẩn, những trang trùng lặp chỉ là bản sao và cần trỏ về trang chuẩn đó.

Chẳng hạn, bạn có hệ thống vài website trong hệ thống vệ tinh (PBN). Khi viết 1 bài mới bạn đăng lên tất cả các site này. Vậy thì, để Google không bắt lỗi trùng nội dung, bạn cần chọn 1 Url trên 1 site nào đó làm chuẩn, rồi trỏ Canonical Url trên tất cả các trang kia về trang chuẩn đó.

Cách này sẽ giải quyết vấn đề bị bắt lỗi trùng lặp chéo giữa nhiều tên miền (cùng sở hữu).

Phân biệt điều hướng 301 và Canonical Url

Điều hướng 301 tự động chuyển người dùng từ 1 trang A sang trang một trang B (có Url khác). Và cũng đồng thời thông báo cho các công cụ tìm kiếm rằng Url trang A đã không còn ở đây nữa và nó đã chuyển sang một Url mới, và rằng SE hãy dừng lập chỉ mục Url cũ, đồng thời chuyển ảnh hưởng (cả tích cực và tiêu cực) sang Url mới.

Canonical Url không chuyển người dùng sang trang khác, mà chỉ thông báo (ngầm) cho SE biết rằng Url của trang nào là chuẩn trong số những trang trùng lặp nhau. Thực tế, khi dùng Canonical Url, người dùng thấy cả các trang (không hề bị chuyển hướng đi). Do đó người dùng thường không nhận biết được về Canonical Url, trừ khi xem mã code.

Những lỗi cần tránh khi dùng thẻ Canonical Url

  • Đặt sai vị trí vào trong thẻ <body>. Cần đặt Url chuẩn trong thẻ <head>, càng gần phần phía trên càng có lợi. Nếu bạn đặt trong <body> thì Google bỏ qua do đó không có tác dụng.
  • Thông báo gây lẫn lộn, khi đó công cụ tìm kiếm có thể bỏ qua hoặc hiểu không chính xác thẻ này. Ví dụ, bạn trỏ trang chuẩn từ trang A => trang B, rồi lại từ B => A (hoặc điều hướng 301 từ B sang A). Hay trường hợp trỏ Url chuẩn kiểu lòng vòng giữa nhiều trang, từ A => B => C => D. Những trường hợp này đều gây khó hiểu, và bạn nên tránh. Cần đưa thông điệp rõ ràng: trang nào là chuẩn.
  • Url tương đối thay vì tuyệt đối. Nghĩa là phải có đường dẫn đầy đủ, chẳng hạn như https://tenmien.com/bai-viet/, chứ không được nhập kiểu này: /bai-viet/
  • Sử dụng nhầm cho các trang có phân trang (pagination). Ví dụ trang blog (liệt kê nhiều bài viết) hoặc trang danh mục sản phẩm (liệt kê nhiều sản phẩm), bạn không nên chỉ định Canonical Url. Thực ra, khi đó nội dung trên các trang khác nhau khá nhiều, bạn không nên dùng Canonical Url để tránh bị bỏ sót trang không được lập chỉ mục. Thay vào đó, bạn nên sử dụng tính năng phân trang với thuộc tính rel = “next”rel = “prev”.
  • Trỏ Canonical Url trên bản mobile riêng (dạng m.yourdomain.com). Cách làm đúng là phải trỏ Url gốc về bản desktop, còn từ bản desktop khai báo thêm đến mobile bằng thuộc tính “alternate”)
  • Quên không sửa http thành https trong Url chuẩn. Khi thiết lập xong chuyển hướng tự động từ giao thức http sang https xong, bạn nhớ cập nhật trong Url sang dạng https.

Một vài lưu ý khi sử dụng Canonical Url

  • Kể cả bạn thông báo Url chuẩn, và công cụ tìm kiếm (SE) đánh giá cao việc đó, thì SE không có nghĩa vụ phải dùng Url chuẩn đó. Các SE có thuật toán riêng để đánh giá, và do đó vẫn có thể tự quyết định đâu mới là Url chuẩn trong số những trang được coi là trùng lặp nội dung.
  • Chỉ nên sử dụng thuộc tính rel="canonical" này khi 2 hoặc nhiều trang có một lượng nội dung bị trùng lặp là đáng kể. Nếu trùng ít, thì không nên thông báo, nếu không thì vô hình chung bạn đã làm lãng phí nguồn lực khi khai báo 1 trang có Url phụ, và không được “tính” vào kho dữ liệu của bạn.
  • Một số trường hợp nên dùng chuyển hướng Redirect 301 thay vì chỉ định Url chuẩn. Tiêu biểu là đối với các phiên bản có www và không có www, hay giao thức httphttps mà tôi đã trình bày trong phần trên.

Kết luận

Tìm hiểu Canonical Url là gì cũng như lợi ích của nó là công việc cần thiết khi làm SEO website. Bạn cần biết khi nào thì nên áp dụng, và dùng thế nào cho đúng. Đồng thời cũng cần để ý tránh những lỗi dễ mắc phải khi dùng Url chuẩn để tối ưu website.

Đến đây tôi xin kết thúc bài viết.

Còn bạn, kinh nghiệm của bạn về mảng này thế nào? Bạn sử dụng Canonical Url cho website của mình đấy chứ? Có gặp khó khăn gì không? Hãy cùng chia sẻ nhé.


Bình luận trên Facebook

Bài viết gần đây