Thẻ hreflang là đoạn mã báo cho Google biết một trang có các phiên bản khác cho từng ngôn ngữ hoặc khu vực. Nhờ đó Google hiển thị đúng phiên bản cho đúng người tìm. Thẻ chỉ cần thiết với website có từ hai phiên bản ngôn ngữ trở lên.
Bài viết giải thích cấu trúc thẻ, 3 cách khai báo, cách thêm vào WordPress và các lỗi hay gặp khi dùng hreflang.

Hreflang: 4 điều bạn cần biết
✅ Chỉ website nhiều ngôn ngữ hoặc nhiều khu vực mới cần hreflang.
⚡ Mỗi phiên bản phải trỏ tới tất cả phiên bản còn lại và chính nó.
💰 Thẻ không giúp tăng thứ hạng, chỉ giúp hiển thị đúng phiên bản.
🛡️ Mã tiếng Việt là “vi”, không phải “vn” hay “tiengviet”.
Thẻ hreflang là gì?
Thẻ hreflang là thuộc tính rel=”alternate” hreflang=”x” dùng để khai báo các phiên bản tương đương của một trang. Mỗi phiên bản dành cho một ngôn ngữ, hoặc một ngôn ngữ ở một khu vực cụ thể.
Ví dụ một website du lịch có trang tiếng Việt và trang tiếng Anh cùng nội dung. Khi người dùng tìm bằng tiếng Anh, Google ưu tiên hiện trang tiếng Anh. Người tìm bằng tiếng Việt sẽ thấy trang tiếng Việt.
Một đoạn khai báo đầy đủ đặt trong phần head của cả hai trang trông như sau:
<link rel="alternate" hreflang="vi" href="https://example.com/vi/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
Giá trị x-default là trang mặc định cho người dùng không khớp ngôn ngữ nào, thường là trang chọn ngôn ngữ hoặc bản tiếng Anh.
Cấu trúc mã ngôn ngữ và khu vực
Giá trị của hreflang gồm mã ngôn ngữ theo chuẩn ISO 639-1, có thể kèm mã khu vực theo chuẩn ISO 3166-1 Alpha 2. Mã ngôn ngữ là bắt buộc, mã khu vực là tùy chọn.
| Giá trị | Ý nghĩa | Đúng hay sai |
|---|---|---|
| vi | Tiếng Việt, mọi khu vực | Đúng |
| en-us | Tiếng Anh cho người dùng ở Mỹ | Đúng |
| en-gb | Tiếng Anh cho người dùng ở Anh | Đúng |
| en-uk | Dùng sai mã khu vực của Anh | Sai, phải là gb |
| vn | Nhầm mã quốc gia thành mã ngôn ngữ | Sai, phải là vi |
| us | Chỉ có khu vực, thiếu ngôn ngữ | Sai, phải là en-us |
Google không xác định ngôn ngữ dựa vào thẻ này. Google đọc nội dung trang để biết ngôn ngữ, còn thẻ chỉ giúp nối các phiên bản với nhau.

3 cách khai báo thẻ hreflang
Google chấp nhận 3 cách khai báo với hiệu quả như nhau. Chỉ nên chọn một cách cho cả website để dễ quản lý.
| Cách khai báo | Phù hợp khi | Lưu ý |
|---|---|---|
| Thẻ link trong phần head | Website ít phiên bản ngôn ngữ | Mỗi trang dài thêm vài dòng mã |
| HTTP header | Tệp không phải HTML như PDF | Cần cấu hình ở máy chủ |
| Sitemap XML | Website lớn, nhiều ngôn ngữ | Không làm nặng mã trang |
Dù dùng cách nào, các trang khai báo phải được Google thu thập và lập chỉ mục. Hãy kiểm tra trạng thái Google index của từng phiên bản trước.
Cách thêm thẻ hreflang vào WordPress
Cách dễ nhất để thêm hreflang vào WordPress là dùng plugin đa ngôn ngữ. Plugin tự sinh thẻ khi bạn nối các bản dịch với nhau, tránh sai sót khi gõ tay.
- Cài một plugin đa ngôn ngữ như Polylang (có bản miễn phí) hoặc WPML.
- Khai báo các ngôn ngữ website dùng, ví dụ tiếng Việt và tiếng Anh.
- Tạo bản dịch cho từng bài, trang và nối chúng là bản dịch của nhau.
- Mở mã nguồn trang, tìm “hreflang” để kiểm tra thẻ đã xuất hiện đủ.
- Kiểm tra cả trang tiếng Việt và tiếng Anh, mỗi trang phải liệt kê đủ các phiên bản.
Không nên sửa trực tiếp tệp header.php của giao diện. Khi giao diện cập nhật, đoạn mã thêm tay sẽ mất. Các plugin SEO phổ biến cũng thường kết hợp với plugin đa ngôn ngữ, xem thêm trong danh sách plugin SEO WordPress.
Một tình huống hay gặp
Một công ty xuất khẩu nông sản có website tiếng Việt và bản tiếng Anh. Khách nước ngoài tìm tên công ty nhưng Google lại hiện trang tiếng Việt. Kiểm tra thấy trang tiếng Anh có thẻ trỏ về trang tiếng Việt, nhưng trang tiếng Việt không trỏ ngược lại. Sau khi bổ sung liên kết hai chiều qua plugin, bản tiếng Anh hiện đúng cho khách nước ngoài.
Các lỗi hay gặp khi dùng thẻ hreflang
Khai báo sai thường khiến Google bỏ qua toàn bộ khai báo. Dưới đây là các lỗi hay gặp nhất.
- Thiếu liên kết hai chiều: trang A trỏ tới trang B nhưng B không trỏ lại A.
- Không tự trỏ về chính mình trong danh sách phiên bản.
- Dùng sai mã, như “vn” thay cho “vi” hoặc “en-uk” thay cho “en-gb”.
- Trỏ tới trang bị chuyển hướng, lỗi 404 hoặc bị chặn lập chỉ mục.
- Thẻ canonical của mọi bản dịch cùng trỏ về một ngôn ngữ, khiến Google bỏ qua các bản còn lại.
Mỗi phiên bản nên có thẻ canonical trỏ về chính nó. Đây là phần việc trong nhóm tối ưu kỹ thuật của SEO onpage.
Câu hỏi thường gặp về thẻ hreflang
❓ Website chỉ có tiếng Việt có cần thẻ hreflang không?
➡️ Website chỉ có tiếng Việt không cần khai báo này. Thẻ chỉ có tác dụng khi có từ hai phiên bản ngôn ngữ hoặc khu vực trở lên của cùng nội dung. Thêm thẻ cho website một ngôn ngữ không có lợi ích và dễ gây lỗi.
❓ Thẻ hreflang có giúp tăng thứ hạng không?
➡️ Thẻ hreflang không trực tiếp giúp tăng thứ hạng. Thẻ giúp Google hiển thị đúng phiên bản ngôn ngữ cho đúng người tìm. Nhờ vậy người dùng ít rời trang hơn vì đọc được ngôn ngữ quen thuộc. Thứ hạng vẫn phụ thuộc nội dung và liên kết.
❓ Mã ngôn ngữ tiếng Việt trong thẻ hreflang là gì?
➡️ Mã ngôn ngữ tiếng Việt là “vi”. Nếu muốn chỉ rõ người dùng ở Việt Nam thì dùng “vi-vn”. Lỗi hay gặp là ghi “vn”, vì đây là mã quốc gia chứ không phải mã ngôn ngữ, nên Google sẽ bỏ qua khai báo.
❓ Thẻ x-default dùng để làm gì?
➡️ Thẻ x-default chỉ định trang mặc định cho người dùng không khớp ngôn ngữ hay khu vực nào đã khai báo. Thường đó là trang chọn ngôn ngữ hoặc bản tiếng Anh. Thẻ này không bắt buộc nhưng nên có với website phục vụ khách nhiều nước.
❓ Thẻ hreflang có thay được thẻ canonical không?
➡️ Hreflang không thay được canonical vì hai thẻ có vai trò khác nhau. Canonical chọn phiên bản chính giữa các trang trùng lặp, còn hreflang nối các bản dịch. Mỗi bản dịch nên có canonical trỏ về chính nó và hreflang trỏ tới các bản còn lại.
❓ Làm sao kiểm tra thẻ hreflang đã đúng chưa?
➡️ Hãy xem mã nguồn từng trang và tìm chữ “hreflang”. Mỗi trang phải liệt kê đủ các phiên bản, kể cả chính nó. Có thể dùng công cụ thu thập dữ liệu như Screaming Frog để phát hiện thiếu liên kết hai chiều trên toàn website.
❓ Bing có dùng thẻ hreflang không?
➡️ Bing có đọc hreflang nhưng coi đây là tín hiệu yếu. Bing ưu tiên thẻ meta content-language và các tín hiệu khác như ngôn ngữ nội dung, tên miền. Với website nhắm tới người dùng Bing, nên khai báo thêm content-language cho từng phiên bản.
❓ Nên dùng thư mục con hay tên miền riêng cho từng ngôn ngữ?
➡️ Thư mục con như /en/ dễ quản lý và chia sẻ độ uy tín với tên miền chính, phù hợp doanh nghiệp vừa và nhỏ. Tên miền quốc gia như .co.uk báo hiệu khu vực rõ hơn nhưng tốn chi phí. Cách nào cũng cần khai báo hreflang đúng.
❓ Bản dịch máy có dùng thẻ hreflang được không?
➡️ Bản dịch máy vẫn khai báo được, nhưng nội dung dịch kém dễ bị coi là chất lượng thấp. Hãy cho người biết ngôn ngữ đó đọc lại, sửa thuật ngữ và đơn vị tiền tệ. Bản dịch tốt mới giữ được khách nước ngoài trên trang.
Thẻ hreflang báo cho Google biết các phiên bản ngôn ngữ, khu vực khác nhau của cùng một trang. Thẻ dùng mã ngôn ngữ ISO 639-1, có thể kèm mã khu vực, ví dụ “vi” hay “en-us”. Có thể khai báo qua thẻ link, HTTP header hoặc sitemap. Mỗi phiên bản phải trỏ tới tất cả các bản còn lại và chính nó. Với WordPress, plugin đa ngôn ngữ như Polylang hay WPML sinh thẻ tự động. Thẻ không tăng thứ hạng trực tiếp nhưng giúp đúng người thấy đúng phiên bản.
