in Tips / error

Khai báo sai ngôn ngữ cho website – Hậu quả cười ra nước mắt

by lucci · 7 Tháng 4, 2025

Trong HTML, thuộc tính lang dùng để khai báo ngôn ngữ của nội dung website. Đơn giản vậy thôi, nhưng nhiều lập trình viên – nhất là các bạn sinh viên mới học – lại… không quan tâm lắm. IDE build sẵn, cứ để nguyên. Nhưng khi web của bạn viết bằng tiếng Việt mà lại khai báo lang="en" (hoặc không khai báo gì), thì vấn đề bắt đầu xuất hiện – mà toàn là những pha xử lý “ối dồi ôi”.

1.Screen reader đọc “ngáo ngơ”

Nếu bạn chưa từng nghe đến phần mềm đọc màn hình (screen reader), thì đó là công cụ hỗ trợ người khiếm thị lướt web bằng giọng nói. Và các phần mềm này cực kỳ quan tâm đến thuộc tính lang để biết phải phát âm nội dung bằng tiếng gì. AI, các extension hỗ trợ đọc, dịch, TTP(text-to-speech) cũng bị luôn nhé

ví dụ:

<html lang="en"> ... <p>Chào mừng bạn đến với trang web của chúng tôi!</p>

Kết quả: g phát âm câu trên… như tiếng Anh. Và “Chào mừng” sẽ thành “Châu miuung”, “trang web” thành “treeng quép”. Nghe như… cái gì cũng không biết nữa..

Người dùng nghe thế thì chỉ có “ngơ”
Bạn thì mất điểm về accessibility. Đơn giản chỉ vì quên thay cái en thành vi.

2. Google Translate: dịch từ Việt sang… Việt

Ai dùng Chrome chắc quen với cái popup “Bạn có muốn dịch trang này không?”. Chrome dựa vào lang để đoán xem ngôn ngữ trang là gì. Và nếu bạn để lang="en" trên một trang toàn tiếng Việt…

Chrome sẽ nghĩ: “À, trang này tiếng Anh nè. Dịch sang tiếng Việt giúp nha!”

Thế là:

  • “Sài Gòn” → “Use Gòn”

  • “Tôi thích ăn phở” → “I like to eat buffer”

Người dùng không hiểu gì, bạn thì mất uy tín, nội dung bị bóp méo như meme AI dịch phim cổ trang. Cười chết mất thôi

3. Admin content → chữ “dịnh” luôn

Trường hợp siêu thực: admin của bạn đang dùng Chrome +dịch tự động + copy content từ nơi khác (ví dụ file Word, hoặc web tiếng Việt gốc).

Trang đang để lang="en", nên Chrome nghĩ đang đọc tiếng Anh → dịch về tiếng Việt theo kiểu machine learning → admin copy nội dung sau khi dịch lại → paste vào CMSnội dung dính lỗi ngôn ngữ, mất dấu, sai từ, lặp từ hoặc “dịnh” cả đoạn.

Ví dụ:

  • Gốc: “Chúng tôi cung cấp giải pháp phần mềm”

  • Sau paste: “Chúng tôi cung cấp phần mềm giải pháp cung cấp”

Quản lý nội dung kiểu này thì… đúng nghĩa “copy sai một ly, content đi cả dặm”.

4. Dev debug hoài không ra

Đây là điểm cực kỳ hiểm hóc. Khi bạn khai báo sai lang, không có lỗi nào hiện ra hết. Không throw, không catch, không warning gì cả.

Trang vẫn chạy, UI vẫn đẹp, nhưng:

  • Font chữ tự đổi kiểu khó hiểu

  • Tính năng kiểm tra chính tả gạch đỏ loạn xạ

  • Copy-paste bị lỗi format, sai dấu

  • Dịch máy “bẻ lái” sang nghĩa khác hoàn toàn

Và dev (nhất là junior) sẽ tốn vài tiếng đồng hồ debug các bug “vô hình”, vì nó không phải bug logic, không phải bug code. Nó là bug cấu hình

5. Google đánh giá sai → SEO tụt mood

SEO là cuộc chơi của từ khóa và ngôn ngữ. Google sẽ ưu tiên hiển thị kết quả theo ngôn ngữ người tìm kiếm đang dùng. Nếu web bạn tiếng Việt nhưng gắn lang="en", thì Google có thể:

  • Hiểu lầm web của bạn là trang tiếng Anh

  • Không hiển thị khi người dùng tìm bằng từ khóa tiếng Việt

  • Hiển thị sai phần mô tả (description bị dịch lại hoặc cắt nghĩa sai)

Tức là bạn đang viết cho người Việt, nhưng Google đem đi giới thiệu cho người Mỹ.

Không ai click → không ai đọc → traffic sụt giảm → SEO tụt mood.

6. Font và chính tả cũng bị lỗi

Bạn thử dùng hyphens: auto; trong CSS nhé. Tính năng này giúp ngắt dòng tự động theo ngữ pháp của từng ngôn ngữ. Nhưng chỉ hoạt động khi lang được set đúng.

Bạn khai sai lang → trình duyệt không biết tiếng Việt → ngắt câu bừa bãi, có thể giữa chữ hoặc cắt từ mất nghĩa.

Tương tự, kiểm tra chính tả (spellcheck) của trình duyệt cũng sẽ bỏ qua tiếng Việt, vì nó đang bật bộ từ điển tiếng Anh. Từ đó gạch đỏ lung tung, gợi ý sửa sai bét nhè.

Tổng kết

Lập trình web không phải chỉ là code chạy được là xong. Trải nghiệm người dùng, SEO, hỗ trợ truy cập, tất cả đều bắt đầu từ những thứ nhỏ xíu như lang="vi".

  • Giúp trình đọc màn hình đọc đúng tiếng

  • Hỗ trợ Google Translate dịch chính xác

  • Tránh lỗi khi admin copy-paste nội dung

  • Giúp Google hiểu đúng ngôn ngữ trang

  • Tối ưu ngắt dòng, chính tả, font chữ

  • Và giúp lập trình viên… khỏi debug những thứ trời ơi đất hỡi

Vậy nên: nếu bạn đang viết website bằng tiếng Việt, hãy nhớ đổi lang="en" thành lang="vi" ngay lập tức nhé!
Một dòng code nhỏ – cứu cả trải nghiệm lớn.

You may also like