Language Attribute (hreflang)
Thuộc tính hreflang trong thẻ link hoặc sitemap chỉ định ngôn ngữ và vùng địa lý đích của trang, tránh trùng lặp quốc tế.
Language Attribute (hreflang) là gì?
Thuộc tính hreflang là một thẻ HTML hoặc phần tử trong sitemap 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à vùng địa lý đích của một trang web. Nó được đặt trong thẻ <link> ở phần <head> hoặc trong tệp sitemap.xml. Giá trị hreflang không phải là lệnh bắt buộc, mà là gợi ý ưu tiên — Google sẽ cân nhắc nhưng không nhất thiết tuân theo nếu phát hiện mâu thuẫn hoặc sai sót.
Tại sao quan trọng trong SEO?
Khi một website có nhiều phiên bản cùng nội dung cho các thị trường khác nhau (ví dụ: tiếng Việt cho Việt Nam, tiếng Anh cho Mỹ, tiếng Anh cho Anh Quốc), công cụ tìm kiếm dễ hiểu nhầm đây là nội dung trùng lặp. Điều này dẫn đến việc phân bổ xếp hạng sai, giảm khả năng hiển thị đúng người dùng, thậm chí gây tổn hại trải nghiệm tìm kiếm.
Hreflang giúp:
- Tránh cảnh báo Duplicate Content ở cấp độ quốc tế
- Định tuyến người dùng đến phiên bản phù hợp theo ngôn ngữ + vị trí (ví dụ: người tìm kiếm từ Hà Nội thấy trang tiếng Việt, người từ London thấy trang tiếng Anh – UK)
- Cải thiện tỷ lệ nhấp (CTR) và thời gian ở lại nhờ hiển thị đúng phiên bản
- Hỗ trợ chiến lược SEO đa quốc gia bền vững, đặc biệt với thương hiệu toàn cầu hoặc doanh nghiệp xuất khẩu
Cách hoạt động
Hreflang hoạt động như một hệ thống tham chiếu hai chiều: mỗi trang phải khai báo cả phiên bản gốc và tất cả các phiên bản liên quan. Nếu chỉ khai báo một chiều (ví dụ: trang tiếng Việt chỉ trỏ tới tiếng Anh, nhưng trang tiếng Anh không trỏ ngược lại), Google coi đây là cấu hình không đầy đủ và có thể bỏ qua toàn bộ nhóm.
Google sử dụng ba yếu tố chính để xác định phiên bản phù hợp:
- Ngôn ngữ được khai báo trong
hreflang(ví dụ:vi,en,fr) - Vùng địa lý (tùy chọn, kết hợp với ngôn ngữ:
vi-VN,en-GB,en-US) - URL thực tế của trang — phải tồn tại, trả mã trạng thái 200, và không bị chặn bởi
robots.txthoặc thẻnoindex
Hướng dẫn thực hiện
Dưới đây là các bước triển khai hreflang chuẩn xác:
- Xác định rõ các phiên bản cần liên kết: liệt kê đầy đủ các cặp ngôn ngữ + vùng (ví dụ:
vi-VN,en-US,ja-JP). Không dùngviđơn thuần nếu bạn có nhiều thị trường nói tiếng Việt (VD: Việt Nam và Campuchia). - Sử dụng chuẩn mã ISO: ngôn ngữ theo ISO 639-1 (2 ký tự), vùng theo ISO 3166-1 Alpha-2 (2 ký tự). Ví dụ:
en-AU,es-ES,zh-CN. - Thêm thẻ link vào <head> trên mỗi trang. Mỗi trang phải chứa tất cả các thẻ hreflang liên quan — bao gồm cả chính nó:
<link rel="alternate" hreflang="vi-VN" href="https://example.com/vi/" />
<link rel="alternate" hreflang="en-US" href="https://example.com/en/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
- Dùng
x-defaultcho trang mặc định: đây là phiên bản hiển thị khi không khớp ngôn ngữ/vùng nào — thường là trang chủ hoặc trang chọn khu vực. Không bắt buộc, nhưng khuyến nghị nếu website phục vụ nhiều thị trường. - Kiểm tra bằng công cụ chính thức: dùng Hreflang Validator trong Google Search Console hoặc các công cụ như Screaming Frog, Ahrefs Site Audit.
Lỗi thường gặp
Dưới đây là những sai lầm phổ biến và cách sửa:
| Lỗi | Hậu quả | Cách khắc phục |
|---|---|---|
| Một chiều (chỉ khai báo ở trang A, thiếu ở trang B) | Google bỏ qua toàn bộ nhóm hreflang | Kiểm tra từng trang: đảm bảo mỗi URL trong nhóm đều có đầy đủ thẻ hreflang trỏ tới tất cả các phiên bản còn lại |
Dùng mã ngôn ngữ sai (ví dụ: vn thay vì vi) |
Thẻ bị bỏ qua | Dùng danh sách chuẩn ISO 639-1; kiểm tra lại tại loc.gov |
| URL trong hreflang trả mã 404, 301, hoặc bị noindex | Google không xử lý được nhóm | Đảm bảo mọi URL hreflang tồn tại, trả 200, không bị chặn bởi robots.txt, không có thẻ noindex |
Thiếu x-default khi cần |
Người dùng không thuộc vùng đã định có thể thấy phiên bản không phù hợp | Thêm hreflang="x-default" trỏ tới trang chọn ngôn ngữ hoặc trang chủ đa ngôn ngữ |
Ví dụ thực tế
Một cửa hàng điện máy có 3 phiên bản:
- https://dienmayabc.com/vn/ → tiếng Việt, dành riêng cho Việt Nam
- https://dienmayabc.com/us/ → tiếng Anh, dành riêng cho Mỹ
- https://dienmayabc.com/uk/ → tiếng Anh, dành riêng cho Vương quốc Anh
Trên trang /vn/, thẻ hreflang trong <head> sẽ là:
<link rel="alternate" hreflang="vi-VN" href="https://dienmayabc.com/vn/" />
<link rel="alternate" hreflang="en-US" href="https://dienmayabc.com/us/" />
<link rel="alternate" hreflang="en-GB" href="https://dienmayabc.com/uk/" />
<link rel="alternate" hreflang="x-default" href="https://dienmayabc.com/" />
Tương tự, trang /us/ cũng phải chứa 4 thẻ trên — chỉ thay đổi URL tương ứng. Tất cả phải nhất quán.
Câu hỏi thường gặp
Hreflang có thay thế thẻ canonical không?
Không. Hreflang và rel="canonical" làm nhiệm vụ khác nhau: canonical chỉ định phiên bản gốc để tránh trùng lặp nội dung cùng khu vực, còn hreflang chỉ định phiên bản phù hợp theo ngôn ngữ và vùng. Cả hai có thể dùng song song — ví dụ: trang tiếng Anh – Mỹ có canonical trỏ về chính nó, đồng thời có hreflang trỏ tới các phiên bản khác.
Có cần hreflang nếu chỉ có một ngôn ngữ nhưng nhiều quốc gia?
Tùy trường hợp. Nếu nội dung giống hệt nhau (không điều chỉnh giá, đơn vị đo, luật pháp…), hreflang không cần thiết. Nhưng nếu có điều chỉnh theo thị trường (ví dụ: giá tính bằng VND vs USD, vận chuyển miễn phí tại Việt Nam nhưng tính phí tại Mỹ), nên dùng hreflang kết hợp với cấu trúc URL rõ ràng (subfolder hoặc subdomain) để hỗ trợ định tuyến chính xác.
Hreflang có ảnh hưởng trực tiếp đến thứ hạng không?
Không — hreflang không phải là yếu tố xếp hạng. Tuy nhiên, nó ảnh hưởng gián tiếp qua cải thiện trải nghiệm người dùng, tăng CTR, giảm tỷ lệ thoát và giúp Google hiểu đúng cấu trúc quốc tế — từ đó phân bổ chỉ mục và hiển thị hợp lý hơn. Kết quả là thứ hạng của từng phiên bản có thể ổn định và tăng dần theo thời gian.