International SEO

hreflang

Thuộc tính HTML hoặc HTTP header dùng để chỉ định ngôn ngữ và vùng địa lý mục tiêu của một trang.

4 lượt xem Cập nhật: 30/05/2026

hreflang là gì?

hreflang là một thuộc tính HTML (hoặc header HTTP) dùng để thông báo cho công cụ tìm kiếm như Google biết phiên bản ngôn ngữ và khu vực địa lý mục tiêu của một trang web. Nó giúp Google hiểu rằng: trang A tiếng Việt dành cho người Việt Nam, trang B tiếng Anh dành cho người Mỹ, trang C tiếng Anh dành cho người Anh — dù nội dung có thể giống nhau về mặt cấu trúc.

Giá trị hreflang được viết dưới dạng mã ngôn ngữ theo chuẩn ISO 639-1 (ví dụ: vi, en, fr) kết hợp với mã khu vực theo chuẩn ISO 3166-1 alpha-2 (ví dụ: VN, US, GB). Khi kết hợp, ta có các giá trị như vi-VN, en-US, en-GB, fr-FR.

Tại sao quan trọng trong SEO?

Khi một trang web có nhiều phiên bản ngôn ngữ hoặc quốc gia, Google dễ bị nhầm lẫn về việc nên hiển thị phiên bản nào cho người dùng tìm kiếm. Nếu không khai báo hreflang:

  • Google có thể xếp sai trang vào kết quả tìm kiếm (ví dụ: hiển thị trang tiếng Anh Mỹ cho người dùng tiếng Việt);
  • Các phiên bản bị coi là nội dung trùng lặp (duplicate content), làm suy giảm uy tín và phân bổ sức mạnh liên kết;
  • Tỷ lệ thoát tăng, trải nghiệm người dùng kém, ảnh hưởng gián tiếp đến thứ hạng.

hreflang giúp Google chọn đúng phiên bản phù hợp với vị trí và cài đặt ngôn ngữ trình duyệt của người dùng — từ đó nâng cao độ chính xác của kết quả tìm kiếm và tối ưu chuyển đổi.

Cách hoạt động

hreflang hoạt động như một mối quan hệ hai chiều: nếu trang A khai báo hreflang="en-US" trỏ tới trang B, thì trang B cũng phải khai báo hreflang="vi-VN" trỏ lại trang A. Google yêu cầu tính nhất quán này để xác minh mối quan hệ.

Google không sử dụng hreflang như yếu tố xếp hạng trực tiếp, nhưng nó ảnh hưởng mạnh đến sự hiển thị (serving) — tức là trang nào được đưa vào kết quả tìm kiếm cho từng nhóm người dùng cụ thể.

Lưu ý: hreflang chỉ áp dụng khi các trang có nội dung tương đương về mặt chủ đề và mục đích — không dùng để phân biệt nội dung hoàn toàn khác nhau (ví dụ: blog tiếng Việt vs. sản phẩm tiếng Anh).

Hướng dẫn thực hiện

Có ba cách triển khai hreflang, đều được Google hỗ trợ đầy đủ:

  1. Trong thẻ <link> ở phần <head> HTML — phổ biến nhất, dễ kiểm soát;
  2. Qua HTTP header — dành cho trang không phải HTML (PDF, tài liệu tải về);
  3. Trong sitemap XML — phù hợp với website lớn, nhiều phiên bản.

Các bước triển khai chuẩn:

  1. Xác định rõ tất cả phiên bản ngôn ngữ + khu vực (ví dụ: vi-VN, en-US, ja-JP);
  2. Đảm bảo mỗi trang có liên kết hreflang tới tất cả phiên bản còn lại (kể cả chính nó);
  3. Sử dụng URL tuyệt đối (có https://), không dùng đường dẫn tương đối;
  4. Kiểm tra tính nhất quán bằng công cụ như TechnicalSEO hreflang Tester hoặc Google Search Console;
  5. Theo dõi báo cáo “International targeting” trong Search Console để phát hiện cảnh báo.

Lỗi thường gặp

Dưới đây là những lỗi hreflang phổ biến và cách xử lý:

Lỗi Dấu hiệu Cách khắc phục
Thiếu vòng lặp hai chiều Trang A trỏ tới B, nhưng B không trỏ lại A Thêm hreflang ngược trên mọi trang trong nhóm — bắt buộc cho từng cặp
Sai định dạng mã vùng Dùng en-us (thường) thay vì en-US (chuẩn) Mã ngôn ngữ viết thường, mã vùng viết hoa — luôn dùng dấu gạch ngang, không dấu gạch dưới
URL không tồn tại hoặc trả mã 404 hreflang trỏ tới đường dẫn lỗi hoặc redirect vòng Kiểm tra từng URL bằng công cụ kiểm tra liên kết; đảm bảo trạng thái HTTP là 200
Thiếu khai báo self-referencing Trang vi-VN không có hreflang="vi-VN" trỏ tới chính nó Mỗi trang phải có một thẻ hreflang trỏ về chính nó — bắt buộc

Ví dụ thực tế

Website thương mại điện tử có ba phiên bản:

  • https://example.com/vi/ — tiếng Việt, dành riêng cho Việt Nam (vi-VN)
  • https://example.com/en-us/ — tiếng Anh, dành riêng cho Mỹ (en-US)
  • https://example.com/en-gb/ — tiếng Anh, dành riêng cho Anh (en-GB)

Trên trang https://example.com/vi/, phần <head> sẽ chứa:

<link rel="alternate" hreflang="vi-VN" href="https://example.com/vi/" />
<link rel="alternate" hreflang="en-US" href="https://example.com/en-us/" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/en-gb/" />

Tương tự, trang https://example.com/en-us/ cũng phải khai báo cả ba giá trị — kể cả en-US trỏ về chính nó.

Lưu ý: Không dùng x-default trừ khi bạn muốn chỉ định trang mặc định cho người dùng ngoài các nhóm đã nêu (ví dụ: trang chủ tiếng Anh làm fallback). Giá trị x-default không thay thế bất kỳ hreflang nào — chỉ bổ sung.

Câu hỏi thường gặp

hreflang có cần thiết nếu chỉ có một ngôn ngữ?

Không. Nếu website chỉ phục vụ một ngôn ngữ và một quốc gia (ví dụ: toàn bộ tiếng Việt, không có phiên bản tiếng Anh hay tiếng Hàn), hreflang là không cần thiết. Tuy nhiên, nếu bạn dùng miền phụ (subdomain/subfolder) cho cùng ngôn ngữ nhưng khác khu vực (ví dụ: vn.example.comkh.example.com — cả hai đều tiếng Khmer), thì vẫn cần hreflang để phân biệt.

Có thể dùng hreflang và canonical cùng lúc không?

Có. hreflang và rel="canonical" phục vụ mục đích khác nhau: canonical giải quyết vấn đề trùng lặp nội dung trong cùng một phiên bản; hreflang giải quyết vấn đề lựa chọn phiên bản cho người dùng đa ngôn ngữ. Bạn có thể dùng cả hai — ví dụ: trang en-USrel="canonical" trỏ tới chính nó, đồng thời có hreflang trỏ tới các phiên bản khác.

hreflang có hỗ trợ trên Bing và các công cụ tìm kiếm khác?

Google và Yandex hỗ trợ đầy đủ hreflang. Bing hỗ trợ một phần — nhưng khuyến nghị dùng hreflang kết hợp với cấu hình quốc gia trong Bing Webmaster Tools. Đối với các công cụ nhỏ hơn, hỗ trợ tùy trường hợp và không được kiểm chứng đầy đủ.