All posts
What a fast bilingual (EN/VI) website needs
Two real languages, one page each, light enough for a phone on a slow connection.
Hoàng Huy Đức · 1 min read
A bilingual site is not one site with a translate button. It is two sites that share a design, and each one has to be fast and easy for a search engine to understand.
The short list
- InputOne job per pageEach page has one thing to do.
- AI stepAI drafts the translationA first pass, quickly.
- PersonA native reads itTone and terms checked by a person.
- RuleClean URLs and tagsOne URL per language, linked to each other.
- OutputLight pagesLoads fast on a phone.
Language and search
- One URL per language. For example
/about/and/vi/about/. Do not swap the language on the same address with a script. - Tell search engines how the pages pair up. Add reciprocal
hreflanglinks (each page lists itself and its pair, plus anx-default), and a canonical link on each page pointing to itself. - Set the page language in the
langattribute, so screen readers and translators behave. - Translate the meta too. Title and description need their own Vietnamese, or the search result reads as English.
Vietnamese specifics
- Use a font with the Vietnamese subset. A font without it swaps in another one for the accents, and the layout can jump.
- Let text grow. Vietnamese can run longer than English; buttons and headings need room.
- Give lines room. A generous line height keeps stacked accents from being clipped.
- Write it, do not just translate it. Pick one voice (for example “bạn” for the reader) and keep it. A native read catches what a tool cannot.
Fast, on a phone
- Ship pages that are mostly HTML. Static pages served from the edge are quick and easy to cache.
- Size images properly and give them a width and height, so nothing shifts as they load.
- Load only the fonts each language needs.
- Put one clear action on the page: a button to book a call or send a message.
An example
This site, howangduc.com, is built with Astro and three.js and served by Cloudflare Workers. See the services for how a website project starts.