Hướng dẫn khắc phục lỗi thuộc tính hreflang

Hướng Dẫn Khắc Phục Lỗi Hreflang Thường Gặp

Như chúng tôi đã giới thiệu hreflang – một thuộc tính HTML phức tạp rất khó để hiểu và thật sự không dễ để thiết lập đúng. Nhưng quan niệm sai lầm về hreflang khiến không ít người phải “vò đầu bức tóc” trong quá trình đặt các thẻ vào trang web của họ. Và UptopZ Media không để bạn phải giống như họ, hãy bắt đầu kiểm tra và khắc phục lỗi hreflang thường gặp với chúng tôi ngay trong bài viết này!

Lỗi xung đột giữa hreflang và canonical URL

Có thể do bạn chưa nắm rõ cách sử dụng thẻ canonical cho kế hoạch triển khai trang đa ngôn ngữ của mình, dẫn tới việc xung đột và phá vỡ hiệu quả của quá trình xử lý hreflang.

Giải pháp:

Khi thêm rel=canonical chung với thuộc tính Hreflang, bạn nên ghi nhớ kỹ điều này, “mỗi ngôn ngữ đều phải có rel=canonical trỏ đến chính nó”.

Ví dụ:

Đối với trang ngôn ngữ tiếng Việt mặc định là “example.com”:

<link rel="canonical" href="https://www.example.com/">
<link rel="alternate" href="https://www.example.com/" hreflang="vi" />
<link rel="alternate" href="https://www.example.com/en/" hreflang="en" />

Và ở trên phiên bản ngôn ngữ tiếng Anh “example.com/en” thì thực hiện chỉ định canonical về chính nó:

<link rel="canonical" href="https://www.example.com/en/">
<link rel="alternate" href="https://www.example.com/en/" hreflang="en" />
<link rel="alternate" href="https://www.example.com/" hreflang="vi" />

Xung đột giữa những URL hreflang

Thường xảy ra do nhập sai cú pháp địa chỉ trang.

Giải pháp:

Tiến hành rà soát và kiểm gia lại giao thức “HTTP hoặc HTTPS”. Vì mỗi URL nằm bên trong thuộc tính hreflang đều phải được chỉ định chính xác và bắt đầu bằng giao thức “HTTP hoặc HTTPS”.

Nếu bạn sử dụng nhiều hơn 1 URL để chỉ định cho trang có cùng một ngôn ngữ hoặc quốc gia thì Bot Google sẽ loại bỏ tất cả do bạn không thông báo rõ ràng URL nào nên được lập chỉ mục tương ứng cho ngôn ngữ đó. Lúc này, bạn cần tiến hành rà soát lại và xóa tất cả URL hreflang đã gây ra hiện tượng xung đột. Bạn cần phải đảm bảo chỉ duy nhất 1 URL được chỉ định cho một ngôn ngữ và quốc gia cụ thể.

Ví dụ:

Một website với ngôn ngữ tiếng Anh có giao thức bảo mật HTTPS:

Sai:
<link rel="alternate" href="https://www.example.com/" hreflang="en" />
<link rel="alternate" href="http://www.example.com/" hreflang="en" />
<link rel="alternate" href="https://www.example.com/de/" hreflang="de" />
<link rel="alternate" href="https://www.example.com/fr/" hreflang="fr" />
Đúng:
<link rel="alternate" href="https://www.example.com/" hreflang="en" />
<link rel="alternate" href="https://www.example.com/de/" hreflang="de />
<link rel="alternate" href="https://www.example.com/fr/" hreflang="fr" />

Không tự giới thiệu hreflang URL

Có thể do bạn đã bỏ qua hoặc đã diễn giải các hreflang tự tham chiếu không chính xác.

Giải pháp:

Để website có thể tự tham chiếu và diễn giải một cách chính xác bạn cần đảm bảo tất cả các trang được dịch sang ngôn ngữ khác phải chứa đầy đủ các thuộc tính hreflang. Nói một cách dễ hiểu là các trang phải khai báo URL ngôn ngữ của chính nó cùng các phiên bản ngôn ngữ khác.

Ví dụ:

Các thẻ Hreflang trên trang đích của Việt Nam:

<link rel="alternate" href="https://uptopz.com/" hreflang="vi" />
<link rel="alternate" href="https://uptopz.com/de" hreflang="de" />
<link rel="alternate" href="https://uptopz.com/cn" hreflang="zh-cn" />

Các thẻ Hreflang trên trang đích của Đức:

<link rel="alternate" href="https://uptopz.com/de" hreflang="de" />
<link rel="alternate" href="https://uptopz.com/" hreflang="vi" />
<link rel="alternate" href="https://uptopz.com/cn" hreflang="zh-cn" />

Các thẻ Hreflang trên trang đích của Trung Quốc:

<link rel="alternate" href="https://uptopz.com/cn" hreflang="zh-cn" />
<link rel="alternate" href="https://uptopz.com/" hreflang="vi" />
<link rel="alternate" href="https://uptopz.com/de" hreflang="de" />

Lỗi tiêu chuẩn giá trị của cấu hình thuộc tính hreflang

Lỗi này sẽ phát sinh nếu:

  1. Mã quốc gia của bạn không ở định dạng ISO 3166-1 alpha-2.
  2. Mã ngôn ngữ của bạn không ở định dạng ISO 639-1.

Giải pháp:

Hãy chắc chắn rằng các mã ngôn ngữ và vùng miền tiêu chuẩn được khai báo trong thẻ thuộc tính Hreflang được sử dụng chính xác.

Ví dụ:

Ngôn ngữ tiếng Anh có mã ngôn ngữ ISO 639-1 là “en”. Bởi vì tiếng Anh của người Mỹ, người Anh và cả người Úc đôi lúc có những từ ngữ và cách nói khác nhau, kể cả đơn vị tiền tệ cũng không giống nhau. Cho nên một website có thể có 3 phiên bản ngôn ngữ tiếng Anh của 3 quốc gia Mỹ, Anh và Úc:

Phiên bản tiếng Anh cho nước Anh (mã quốc gia ISO 3166-1 alpha-2 là “gb”):

<link rel="alternate" href="https://uptopz.com/en" hreflang="en-gb" />
<link rel="alternate" href="https://uptopz.com/en-us" hreflang="en-us" />
<link rel="alternate" href="https://uptopz.com/en-au" hreflang="en-au" />

Phiên bản tiếng Anh cho nước Mỹ (mã quốc gia ISO 3166-1 alpha-2 là “us”):

<link rel="alternate" href="https://uptopz.com/en-us" hreflang="en-us" />
<link rel="alternate" href="https://uptopz.com/en" hreflang="en-gb" />
<link rel="alternate" href="https://uptopz.com/en-au" hreflang="en-au" />

Phiên bản tiếng Anh cho nước Úc (mã quốc gia ISO 3166-1 alpha-2 là “au”):

<link rel="alternate" href="https://uptopz.com/en-au" hreflang="en-au" />
<link rel="alternate" href="https://uptopz.com/en" hreflang="en-gb" />
<link rel="alternate" href="https://uptopz.com/en-us" hreflang="en-us" />

Lỗi sự cố liên kết hreflang không đúng

Thẻ thuộc tính rel ="alternate" hreflang =" x" giúp các công cụ tìm kiếm hiểu trang nào nên được hiển thị cho khách truy cập dựa trên vị trí của họ.

Sử dụng thuộc tính này là cần thiết nếu bạn đang chạy một trang web đa ngôn ngữ và muốn giúp người dùng từ các quốc gia khác tìm thấy nội dung của bạn bằng ngôn ngữ phù hợp nhất với họ.

Điều quan trọng là cần đảm bảo các liên kết trong thẻ hreflang của bạn luôn có mã trạng thái HTTP 200, nếu không các công cụ tìm kiếm sẽ không thể diễn dịch chúng một cách chính xác và do đó, sẽ không hiển thị được phiên bản ngôn ngữ chính xác các trang của bạn đến người dùng liên quan.

Hướng dẫn:

Để tránh mọi sự cố với liên kết Hreflang, UptopZ Media khuyên bạn nên kiểm tra lại các thuộc tính Hreflang được gắn trên website:

  • Khắc phục các URL hreflang bị hỏng

Thay thế những URL bị hỏng trong thuộc tính Hreflang của bạn để đảm bảo tính ổn định trong quá trình thông báo cho Google về các phiên bản trang của bạn theo từng ngôn ngữ/khu vực khác nhau.

  • Sửa lỗi hreflang chuyển hướng

Lỗi này phát sinh khi URL bạn nhập vào trong thuộc tính hreflang bị chuyển hướng sang một URL khác.

  • URL không có dấu “/” hoặc bị dư dấu “/” ở cuối

Đối với trường hợp này, nếu bạn nhập URL không có dấu “/” vào thuộc tính hreflang, khi bot google hoặc khách truy cập vào URL thì máy chủ sẽ tự động chuyển hướng đến phiên bản URL không có dấu “/” khiến thuộc tính hreflang của bạn bị khác đi.

Ví dụ:

Cấu trúc URL của UptopZ có dấu “/” ở phía sau: https://uptopz.com/

Đúng
<link rel="alternate" href="https://uptopz.com/" hreflang="vi" />
<link rel="alternate" href="https://uptopz.com/en/" hreflang="en" />
Sai
<link rel="alternate" href="https://uptopz.com" hreflang="vi" />
<link rel="alternate" href="https://uptopz.com/en" hreflang="en" />
  • URL nhập vào thuộc tính hreflang ở phiên bản HTTP cũ nhưng được chuyển hướng sang giao thức mới HTTPS

Vấn đề phát sinh trong trường hợp này thường xảy ra khi bạn chuyển trang web từ giao thức HTTP sang HTTPS nhưng Hreflang vẫn đang sử dụng các phiên bản tham chiếu HTTP cũ của trang. Khi đó, bot Google thu thập dữ liệu URL trong thẻ Hreflang có thể bị chuyển hướng 301 qua HTTPS và Google sẽ xem đây là một trang hoàn toàn khác.

Ví dụ:

Trang web của UptopZ đã chuyển đổi giao thức từ http://uptopz.com/ sang https://uptopz.com/.

Lỗi sẽ xảy ra khi trang đa ngôn ngữ của chúng tôi vẫn giữ nguyên các URL bên trong thuộc tính Hreflang như sau:

Sai:
<link rel="alternate" href="http://uptopz.com/" hreflang="vi" />
<link rel="alternate" href="http://uptopz.com/de" hreflang="de" />
<link rel="alternate" href="http://uptopz.com/cn" hreflang="zh-cn" />
Đúng:
<link rel="alternate" href="https://uptopz.com/" hreflang="vi-vn" />
<link rel="alternate" href="https://uptopz.com/de" hreflang="de" />
<link rel="alternate" href="https://uptopz.com/cn" hreflang="zh-cn" />
  • Thay thế URL tương đối bằng URL tuyệt đối

Nên sử dụng URL tuyệt đối thay vì tương đối khi khai báo ngôn ngữ thay thế trong thẻ thuộc tính Hreflang

Liên kết (URL) Loại liên kết (URL type)
https://uptopz.com Tuyệt đối
https://uptopz.com/pr-backlink Tuyệt đối
https://onpage.uptopz.com Tuyệt đối
https://onpage.uptopz.com/huong-dan-toi-uu-onpage Tuyệt đối
/pr-backlink Tương đối
/huong-dan-toi-uu-onpage Tương đối
Đúng:
<link rel="alternate" href="https://uptopz.com/vi/blog" hreflang="vi-vn" />
<link rel="alternate" href="https://uptopz.com/de/blog" hreflang="de" />
<link rel="alternate" href="https://uptopz.com/cn/blog" hreflang="zh-cn" />
Sai:
<link rel="alternate" href="/vi/blog" hreflang="vi-vn" />
<link rel="alternate" href="/de/blog" hreflang="de" />
<link rel="alternate" href="/cn/blog" hreflang="zh-cn" />

Thuộc tính hreflang không khớp với ngôn ngữ của trang

Vấn đề này xảy ra khi ngôn ngữ được chỉ định trong thuộc tính hreflang không khớp với ngôn ngữ thực sự của trang – được các công cụ tìm kiếm xác định dựa trên phân tích ngữ nghĩa.

Bất kỳ sai sót nào trong các thuộc tính hreflang cũng có thể gây nhầm lẫn cho các công cụ tìm kiếm, và thiết lập của bạn rất có thể sẽ bị Bot tìm kiếm bỏ qua. Vì vậy, bạn cần dành thời gian để chắc chắn không có bất kỳ vấn đề gì xảy ra với các thuộc tính hreflang trên trang của mình.

Lưu ý: Mã ngôn ngữ hợp lệ phải ở định dạng ISO 639-1 chính xác.

Để biết thêm thông tin, hãy xem những bài viết này – Thông báo cho Google về các phiên bản đã bản địa hóa của trang.

Kết luận

Khắc phục các lỗi trong thẻ thuộc tính hreflang đôi khi sẽ tốn khá nhiều thời gian và công sức. Tuy nhiên, khi bạn khai báo URL phiên bản ngôn ngữ thay thế đúng chuẩn của thuộc tính hreflang, cơ hội website của bạn sẽ được người dùng ở các quốc gia khác tiếp cận sẽ tăng cao. Hãy theo dõi UptopZ Media để đọc thêm những bài viết hữu ích tiếp theo.

Share

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 *

Tiếp tục đọc