Cách chỉ định trang chính tắc bằng rel="canonical" và các phương thức khác

Bạn có thể dùng một số phương thức để cho Google Tìm kiếm biết lựa chọn ưu tiên của mình về việc chỉ định một URL chính tắc cho các trang trùng lặp hoặc rất giống nhau. Các phương thức này được sắp xếp theo mức độ ảnh hưởng đến quy trình chuẩn hoá:

Xin lưu ý rằng bạn có thể sử dụng nhiều phương thức cùng lúc và kết hợp các phương thức đó để đạt được hiệu quả cao hơn. Tức là việc bạn sử dụng từ hai phương thức trở lên sẽ làm tăng khả năng URL chính tắc mà bạn ưu tiên được xuất hiện trong kết quả tìm kiếm.

Tuy bạn nên dùng những phương thức này, nhưng không phương thức nào là bắt buộc. Trang web của bạn vẫn có thể hoạt động tốt mà không cần chỉ định URL ưu tiên làm URL chính tắc. Đó là vì nếu bạn không chỉ định URL chính tắc, Google sẽ xác định phiên bản URL phù hợp nhất một cách khách quan để cho người dùng thấy trên Tìm kiếm.

Lý do nên chỉ định một URL chính tắc

Nhìn chung, không nhất thiết phải chỉ định một URL ưu tiên làm URL chính tắc. Tuy nhiên, bạn nên cho Google biết rõ ràng đâu là trang chính tắc trong một nhóm trang trùng lặp hoặc tương tự nhau, vì một số lý do sau:

  • Để chỉ định URL mà bạn muốn mọi người nhìn thấy trong kết quả tìm kiếm. Bạn muốn mọi người truy cập trang sản phẩm bán váy màu xanh lục thông qua https://www.example.com/dresses/green/greendress.html thay vì https://example.com/dresses/cocktail?gclid=ABCD.
  • Để hợp nhất tín hiệu của các trang tương tự hoặc trùng lặp. Việc này giúp các công cụ tìm kiếm hợp nhất tín hiệu thu thập được qua các URL đơn lẻ (chẳng hạn như các đường liên kết đến những URL đó) thành duy nhất một URL được ưu tiên. Tức là các tín hiệu từ các trang web khác đến https://example.com/dresses/cocktail?gclid=ABCD sẽ được hợp nhất với các đường liên kết đến https://www.example.com/dresses/green/greendress.html nếu trang đó trở thành trang chính tắc.
  • Để đơn giản hoá việc theo dõi chỉ số cho một nội dung. Nếu bạn có nhiều URL, việc hợp nhất các chỉ số cho một nội dung cụ thể sẽ trở nên khó khăn hơn.
  • Để tránh tốn thời gian thu thập dữ liệu trên các trang trùng lặp. Để có thể khai thác tối đa Googlebot cho trang web của mình, bạn nên để Googlebot dành thời gian thu thập dữ liệu các trang mới (hoặc vừa cập nhật) trên trang web của mình thay vì thu thập dữ liệu các phiên bản trùng lặp của cùng một nội dung.

Các phương pháp hay nhất

Đối với tất cả phương pháp chuẩn hoá, hãy làm theo các phương pháp hay nhất sau:

  • Không dùng tệp robots.txt để chỉ định phiên bản chính tắc.
  • Không dùng công cụ xoá URL để chỉ định trang chính tắc. Công cụ này sẽ ẩn tất cả phiên bản của một URL khỏi kết quả tìm kiếm.
  • Không chỉ định nhiều URL làm URL chính tắc cho cùng một trang bằng cách dùng nhiều kỹ thuật chuẩn hoá (ví dụ: đừng chỉ định một URL trong sơ đồ trang web nhưng lại dùng rel="canonical" để chỉ định một URL khác cho chính trang đó).
  • Bạn không nên sử dụngnoindex để ngăn việc lựa chọn trang chính tắc trong một trang web, vì việc này sẽ hoàn toàn khiến trang đó bị chặn khỏi Tìm kiếm. Mã chú thích link rel="canonical" là giải pháp ưu tiên.
  • Nếu bạn đang dùng các phần tử hreflang, hãy nhớ chỉ định trang chính tắc bằng cùng ngôn ngữ, hoặc ngôn ngữ thay thế phù hợp nhất có thể nếu không có trang chính tắc cho ngôn ngữ đó.
  • Liên kết đến URL chính tắc thay vì đến URL trùng lặp khi liên kết bên trong trang web của bạn. Việc duy trì liên kết với URL mà bạn chọn là URL chính tắc sẽ giúp Google biết được lựa chọn ưu tiên của bạn.

So sánh các phương thức chuẩn hoá

Bảng sau đây so sánh các phương thức chuẩn hoá, nêu bật ưu và nhược điểm của từng phương thức trong việc duy trì, cũng như mức độ hiệu quả trong nhiều tình huống.

Phương thức và nội dung mô tả
Phần tử rel="canonical" link

Thêm một phần tử <link> vào mã lập trình của mọi trang trùng lặp để trỏ đến trang chính tắc.

Ưu điểm:
  • Có thể ánh xạ vô số trang trùng lặp.
Nhược điểm:
  • Đối với các trang web lớn hoặc thường xuyên thay đổi URL, việc duy trì hệ thống ánh xạ có thể sẽ phức tạp.
  • Chỉ áp dụng cho các trang HTML chứ không áp dụng cho tệp (chẳng hạn như PDF). Trong những trường hợp như vậy, bạn có thể dùng tiêu đề HTTP rel="canonical".
Tiêu đề HTTP rel="canonical"

Gửi một tiêu đề rel="canonical" trong phản hồi trang của bạn.

Ưu điểm:
  • Không làm tăng kích thước trang.
  • Có thể ánh xạ vô số trang trùng lặp.
Nhược điểm:
  • Đối với các trang web lớn hoặc thường xuyên thay đổi URL, việc duy trì hệ thống ánh xạ có thể sẽ phức tạp.
Sơ đồ trang web

Chỉ định trang chính tắc của bạn trong sơ đồ trang web.

Ưu điểm:

  • Dễ dàng thực hiện và duy trì, đặc biệt là trên các trang web lớn.

Nhược điểm:

  • Google vẫn phải xác định các phiên bản trùng lặp của mọi trang chính tắc mà bạn khai báo trong sơ đồ trang web.
  • Tín hiệu gửi tới Googlebot sẽ không mạnh bằng kỹ thuật ánh xạ rel="canonical".
Lệnh chuyển hướng Dùng lệnh chuyển hướng để cho Googlebot biết rằng URL chuyển hướng là phiên bản phù hợp hơn so với một URL nhất định. Chỉ sử dụng tính năng này khi ngừng sử dụng một trang trùng lặp.
Phiên bản AMP Nếu bạn có một phiên bản là trang AMP, hãy làm theo nguyên tắc dành cho AMP để chỉ định trang chính tắc và phiên bản AMP.

Google hỗ trợ các chú thích rel canonical link tường minh theo mô tả trong RFC 6596. Các chú thích rel="canonical" đề xuất các phiên bản thay thế của một trang sẽ bị bỏ qua; cụ thể thì các chú thích rel="canonical" có thuộc tính hreflang, lang, mediatype sẽ không được sử dụng cho quy trình chuẩn hoá. Thay vào đó, hãy sử dụng các chú thích link thích hợp để chỉ định phiên bản thay thế của một trang; ví dụ: link rel="alternate" hreflang cho các chú thích về ngôn ngữ và quốc gia.

Bạn có thể đưa ra các chú thích link rel="canonical" theo hai cách:

Bạn nên chọn một trong những cách này. Tuy được hỗ trợ, nhưng việc sử dụng cả hai phương thức cùng lúc sẽ dễ xảy ra lỗi hơn (ví dụ: có thể bạn cung cấp một URL trong tiêu đề HTTP và một URL khác trong phần tử link rel="canonical").

Phần tử link rel="canonical" (còn gọi là phần tử chính tắc) là một phần tử dùng trong phần head của đoạn mã HTML để cho biết rằng một trang khác đang đại diện cho nội dung trên trang.

Giả sử bạn muốn chọn https://example.com/dresses/green-dresses làm URL chính tắc, dù có nhiều URL có thể truy cập vào cùng nội dung. Hãy chỉ định URL này làm URL chính tắc qua những bước sau:

  1. Thêm phần tử <link> có thuộc tính rel="canonical" vào phần <head> của các trang trùng lặp để trỏ đến trang chính tắc. Ví dụ:
    <html>
    <head>
    <title>Explore the world of dresses</title>
    <link rel="canonical" href="https://example.com/dresses/green-dresses" />
    <!-- other elements -->
    </head>
    <!-- rest of the HTML -->
  2. Nếu trang chính tắc có biến thể dành cho thiết bị di động trên một URL riêng, hãy thêm phần tử link rel="alternate" vào đó, trỏ đến phiên bản trang dành cho thiết bị di động:
    <html>
    <head>
    <title>Explore the world of dresses</title>
    <link rel="alternate" media="only screen and (max-width: 640px)"  href="https://m.example.com/dresses/green-dresses">
    <link rel="canonical" href="https://example.com/dresses/green-dresses" />
    <!-- other elements -->
    </head>
    <!-- rest of the HTML -->
  3. Thêm hreflang hoặc phần tử bất kỳ nào khác phù hợp với trang.

Đối với phần tử link rel="canonical", hãy dùng đường dẫn tuyệt đối thay vì đường dẫn tương đối. Tuy Google có hỗ trợ đường dẫn tương đối, nhưng bạn không nên sử dụng các đường dẫn này, vì về lâu dài, các đường dẫn này có thể gây ra vấn đề (ví dụ: nếu bạn vô tình cho phép chúng tôi thu thập dữ liệu trên trang web thử nghiệm của bạn).

Ví dụ về cách làm phù hợp: https://www.example.com/dresses/green/greendress.html

Ví dụ về cách làm không phù hợp: /dresses/green/greendress.html

Phần tử link element rel="canonical" chỉ được chấp nhận nếu xuất hiện trong phần <head> của đoạn mã HTML. Vì vậy hãy đảm bảo rằng ít nhất là phần <head> là đoạn mã HTML.

Nếu bạn sử dụng JavaScript để thêm phần tử link rel="canonical", hãy nhớ chèn đúng yếu tố liên kết chính tắc.

Tiêu đề HTTP rel="canonical"

Nếu có thể thay đổi cấu hình của máy chủ, bạn có thể sử dụng tiêu đề HTTP link có thuộc tính mục tiêu rel="canonical" theo định nghĩa trong RFC5988 thay vì phần tử HTML để chỉ định URL chính tắc cho một tài liệu được Tìm kiếm hỗ trợ, bao gồm cả tài liệu không phải HTML như tệp PDF.

Google chỉ hỗ trợ phương thức này cho các kết quả tìm kiếm trang web.

Nếu xuất bản nội dung ở nhiều định dạng tệp (ví dụ: PDF hoặc Microsoft Word), mỗi định dạng trên một URL riêng, bạn có thể trả về tiêu đề HTTP rel="canonical" để cho Googlebot biết đâu là URL chính tắc đối với tệp không phải HTML. Ví dụ: Để cho biết rằng phiên bản PDF của phiên bản .docx mới là phiên bản chính tắc, bạn có thể thêm tiêu đề HTTP này cho phiên bản .docx của nội dung:

HTTP/1.1 200 OK
Content-Length: 19
...
Link: <https://www.example.com/downloads/white-paper.pdf>; rel="canonical"
...

Tương tự như phần tử link rel="canonical", hãy sử dụng URL tuyệt đối trong tiêu đề HTTP rel="canonical", và chỉ sử dụng dấu ngoặc kép xung quanh URL (theo RFC2616).

Sử dụng sơ đồ trang web

Chọn một URL chính tắc cho mỗi trang của bạn rồi gửi những URL đó trong một sơ đồ trang web. Tất cả trang có trong sơ đồ trang web đều được đề xuất là trang chính tắc. Google sẽ quyết định trang nào (nếu có) là trang trùng lặp, dựa trên mức độ giống nhau của nội dung.

Việc cung cấp URL chính tắc ưu tiên trong sơ đồ trang web là một cách đơn giản để xác định trang chính tắc cho một trang web lớn. Đồng thời, sơ đồ trang web cũng là một cách hữu ích để cho Google biết đâu là trang quan trọng nhất trên trang web của bạn.

Sử dụng lệnh chuyển hướng

Hãy sử dụng phương thức này khi bạn muốn loại bỏ các trang trùng lặp hiện có. Mọi phương thức chuyển hướng (lệnh chuyển hướng 301302, meta-refresh, lệnh chuyển hướng JavaScript) đều có cùng tác động đến Google Tìm kiếm. Tuy nhiên, cần lưu ý rằng thời gian để công cụ tìm kiếm nhận thấy còn tuỳ theo phương thức chuyển hướng.

Để có tác động nhanh nhất, hãy sử dụng lệnh chuyển hướng HTTP 3xx (còn gọi là lệnh chuyển hướng phía máy chủ).

Giả sử người dùng có thể truy cập trang của bạn qua nhiều URL:

  • https://example.com/home
  • https://home.example.com
  • https://www.example.com

Hãy chọn một trong những URL đó làm URL chính tắc và dùng lệnh chuyển hướng để chuyển lưu lượng truy cập từ những URL khác đến URL mà bạn ưu tiên.

Các tín hiệu khác

Ngoài các phương thức được cung cấp rõ ràng, Google cũng sử dụng một nhóm tín hiệu chuẩn hoá thường dựa trên chế độ thiết lập trang web: ưu tiên HTTPS hơn HTTP, và URL trong các cụm hreflang.

Ưu tiên HTTPS hơn HTTP để làm URL chính tắc

Khi chọn trang chính tắc, Google ưu tiên các trang HTTPS hơn các trang HTTP, trừ trường hợp có vấn đề hoặc tín hiệu xung đột, chẳng hạn như sau:

  • Trang HTTPS có một chứng chỉ SSL không hợp lệ.
  • Trang HTTPS chứa yếu tố phụ thuộc không an toàn (ngoài hình ảnh).
  • Trang HTTPS chuyển hướng người dùng đến hoặc qua một trang HTTP.
  • Trang HTTPS có một link rel="canonical" trỏ đến trang HTTP.

Theo mặc định, hệ thống của chúng tôi ưu tiên trang HTTPS hơn trang HTTP. Tuy nhiên, bạn có thể đảm bảo chúng tôi sẽ chọn trang HTTPS bằng cách thực hiện một trong những thao tác sau:

  • Thêm lệnh chuyển hướng từ trang HTTP đến trang HTTPS.
  • Thêm link rel="canonical" từ trang HTTP sang trang HTTPS.
  • Triển khai HSTS (cơ chế Bảo mật truyền tải nghiêm ngặt HTTP).

Để ngăn Google chọn nhầm trang HTTP làm trang chính tắc, hãy tránh những phương pháp sau đây:

  • Tránh dùng chứng chỉ TLS/SSL không hợp lệ và tránh chuyển hướng HTTPS đến HTTP vì những việc này là tín hiệu rất mạnh khiến Google ưu tiên HTTP hơn. Việc triển khai HSTS cũng không thể ngăn sự ưu tiên này.
  • Đừng đưa phiên bản HTTP của các trang vào sơ đồ trang web hay chú thích hreflang thay cho phiên bản HTTPS.
  • Tránh triển khai chứng chỉ SSL/TLS sang nhầm biến thể máy chủ. Ví dụ: example.com phân phát chứng chỉ cho subdomain.example.com. Chứng chỉ này phải khớp với URL trang web hoàn chỉnh của bạn hoặc phải là chứng chỉ đại diện có thể dùng cho nhiều miền con trên một miền.

Ưu tiên URL trong các cụm hreflang

Để hỗ trợ nỗ lực bản địa hoá của trang web, khi chuẩn hoá, Google ưu tiên những URL thuộc các cụm hreflang. Ví dụ: nếu https://example.com/de-de/catshttps://example.com/de-ch/cats trỏ qua lại với nhau bằng chú thích hreflang, nhưng không trỏ đến https://example.com/de-at/cats, các trang cho de-dede-ch sẽ được ưu tiên chọn làm trang chính tắc thay vì trang /de-at/ (không xuất hiện trong cụm hreflang).

Đọc thêm về cách khắc phục sự cố và vấn đề về việc chuẩn hoá.