Skip to content
Get a quote Call +66 93 004 4098

Web design and UX

How to build a bilingual Thai English website that works for both audiences

The decisions behind a Thai and English website, in the order you make them: audiences, URLs, hreflang, switcher, translation, follow-up messages and upkeep.

Cover image for this guide: Bilingual

How do you build a bilingual Thai English website?

Building a bilingual Thai English website is less about translating pages and more about making seven decisions in the right order. Decide who reads each language and how much of the site each needs.

Give every language its own URLs, usually a /th/ folder, and connect them with hreflang tags. Put a clear language switcher in the header, commission Thai copy that is written for Thai readers rather than translated word for word, and make sure forms, emails and chat messages answer people in the language they used. Then plan who keeps both versions current.

Skip any of these and the usual symptoms follow: a Thai version that ranks for nothing, English visitors landing on Thai pages, or enquiry replies in the wrong language. None of this is new or fashionable, and you will not find it among website design trends for 2026, but it decides whether the second language earns its cost.

  1. Step 1

    Audiences

    Who reads Thai, who reads English, and which language leads.

  2. Step 2

    Scope

    Full parity or adapted content per language.

  3. Step 3

    URLs and hreflang

    Separate URLs per language, linked with reciprocal hreflang tags.

  4. Step 4

    Switcher

    Easy to find, language names in their own script, no forced redirects.

  5. Step 5

    Copy

    Native Thai writing and separate Thai keyword research.

  6. Step 6

    Follow-up

    Forms, confirmation emails and chat messages in both languages.

  7. Step 7

    Upkeep

    An owner and a routine for keeping both versions in step.

Who reads which language

Start with people, not pages. A Bangkok business with two languages usually has two or more audiences with different questions.

  • A Sukhumvit clinic may see Thai patients comparing prices and treatments, and expats wanting to know whether doctors speak English and whether insurance is accepted.
  • A hotel or serviced apartment may get most direct bookings from foreign guests in English, while Thai corporate clients book meeting rooms in Thai.
  • A B2B manufacturer may sell to Thai buyers locally and to regional buyers who read English.

These are examples, but the exercise is the same for any business: list who arrives in each language and what they need to decide.

Which language leads?

The lead language is the one you design and write for first. If most customers are Thai, draft in Thai and let the English version follow. Designing in English and translating later is how Thai pages end up with cramped headings and phrasing that reads like a manual.

Full parity or adapted content?

Parity means every page exists in both languages with the same substance. It is the simplest to maintain and the fairest to visitors. Adapted content means some pages exist in one language only, or say different things: visa and relocation information only in English, for example, or a Thai-only page on local payment and tax invoices. Adaptation is fine if it is deliberate. What does not work is an accidental half-translated site, where the Thai menu leads to English pages without warning.

A good rule, worth settling when you plan your website structure: every page in the main navigation should exist in both languages, and one-language pages should say so.

URL structure and hreflang

Search engines need a separate URL for each language. A site that swaps Thai and English on the same address with a cookie or a script shows Google only one of them. Google's guidance on multilingual sites says to use different URLs for each language version and advises against relying on cookies or browser settings to change the language.

Three options

StructureExampleGood forWatch out for
Subfolderexample.co.th/th/Most SMEs: one site, one hosting account, one set of pluginsNeeds a CMS set-up that handles languages cleanly
Subdomainth.example.co.thCases where the Thai site runs on separate software or a separate teamMore to maintain and monitor
Separate domainexample.co.th and example.comGenuinely separate brands or marketsTwo domains to renew, two sets of settings, links split between them

For a typical Bangkok business, a subfolder is the simplest and our usual recommendation. On WordPress this is handled with a translation plugin or a multisite set-up; the choice between them is a separate question, covered in our guide to WordPress Multisite or a translation plugin for a bilingual site.

hreflang in practice

hreflang tags tell search engines that two pages are language versions of each other, so a Thai searcher is shown the Thai page. The rules that matter:

  • Each page lists every language version, including itself.
  • Tags must be reciprocal: if the English page points to the Thai page, the Thai page must point back, or Google may ignore them.
  • Use th for Thai and en for English. Add a region, such as en-TH, only if you really have regional variants.
  • Add an x-default entry for the page shown when no language matches, often the English version or a language chooser.
  • Each language version should be canonical to itself, not to the other language.

A language switcher people actually find

The switcher is a small control with a big job. If a visitor lands on the wrong language and cannot see the way out within a second or two, they leave.

Rules that work

  • Top right of the header, where people look for it, and inside the mobile menu as well as outside it. On phones, keep a visible "TH | EN" toggle in the header bar rather than hiding it three taps deep.
  • Language names in their own script: ไทย and English. A Thai reader scanning an English page recognises ไทย instantly; "Thai" is one more word to decode.
  • No flags. Flags represent countries, not languages. A British flag for English excludes Americans, Australians and the many Asian visitors who read English.
  • Switch to the same page in the other language, not to the home page. If a page has no translation, say so and offer the nearest equivalent.
  • Remember the choice for the next visit, but never trap people in it.

No forced redirects

Do not redirect visitors automatically by IP address or browser language. An English-speaking resident on a Thai phone setting, or a Thai traveller abroad, gets sent to the wrong version. Search engine crawlers can also be redirected and miss one language entirely; Google's documentation advises against automatic redirection between language versions. A polite banner suggesting the other language is acceptable if it is easy to dismiss.

The switcher also needs proper markup: a real link, an accessible name, and a lang attribute on the language names so screen readers pronounce ไทย correctly. Our guide to website accessibility covers those details.

Translation, transcreation and Thai keywords

A literal translation keeps the words and loses the reader. Thai web copy that reads like a translated manual signals, correctly, that nobody wrote it for Thai customers.

Translation or transcreation?

  • Translation suits factual content where precision matters most: terms and conditions, privacy notices, specifications, opening hours.
  • Transcreation means rewriting the message for the audience: headlines, service descriptions, calls to action. A punchy English headline often needs a different idea in Thai, not the same words. Tone differs too; Thai business copy usually reads more formal and polite than casual English marketing.

Machine translation is a reasonable first draft for long factual text, but a fluent Thai writer should edit everything visitors will read, and write the key pages directly. The craft of clear, persuasive pages applies in both languages; our tips for website copywriting are a useful brief for either writer.

Research Thai keywords separately

Thai searchers do not type translated English phrases. They mix scripts, use Thai spellings of English words, and sometimes search in English for technical terms. Research the Thai side with Thai queries in your keyword tool and Google's own suggestions, then write Thai titles and meta descriptions from that research rather than translating the English ones.

Typography matters

Thai text needs a font with good Thai glyphs, a slightly larger size and more line height than English, or it looks cramped next to the English version. Choosing and loading Thai fonts for websites has its own guide, so here the one rule: decide the Thai type settings at design stage, not after launch.

Forms, emails and messages in both languages

Many bilingual sites stop at the page content. Then a Thai customer fills in a form and gets an English error message, an English confirmation email and a reply in English. The site spoke their language until the moment it mattered.

What to translate beyond the pages

  • Form labels, placeholders and error messages, including the ones generated by plugins, which are easy to miss.
  • Confirmation messages and thank-you pages for each language.
  • Automatic emails: enquiry acknowledgements, booking confirmations and, for shops, order and shipping emails.
  • Chat buttons: a WhatsApp link can carry prefilled text, so the Thai page opens a Thai message and the English page an English one. Do the same for any LINE button text.
  • Cookie consent and the privacy notice, which under PDPA should be understandable to the people giving consent.
  • Dates, prices and phone formats, for example whether you show Buddhist Era years on Thai pages.

Tell your team which language arrived

Add the page language to every enquiry, as a hidden field in the form or a tag in the email subject, so the person replying knows to answer in Thai or English. It sounds small, but replying in the customer's language is one of the easiest ways to keep a lead warm. For firms selling to other companies, the wider follow-up process is covered in our piece on B2B website lead generation.

Metadata and structured data per language

Each language version needs its own title, meta description, social sharing text and image alt text. Structured data such as your organisation and FAQ markup should be in the page's language and match what the visitor sees on that page.

Keeping two languages in sync

Launch is the easy part. The problem arrives six months later, when prices change on the English page and nobody updates the Thai one. Visitors then see two different offers, and the older one is usually the one they screenshot.

A simple routine

  1. Name an owner for each language, even in a small team. One person who reads Thai checks every Thai change.
  2. Change both or neither. Treat a content update as incomplete until both versions are published. A shared checklist in whatever tool your team already uses is enough.
  3. Keep facts in one place. Prices, opening hours, addresses and phone numbers should come from a single setting in the CMS and appear on both versions automatically, rather than being typed into each page.
  4. Review quarterly. Click through the Thai menu and the English menu, looking for missing pages, untranslated buttons and broken switcher links.
  5. Watch search data per language. Filter Search Console by the /th/ folder to see whether the Thai pages are being found.

Reusable components help too. When buttons, forms and cards are built once with a text field for each language, a new page cannot accidentally ship with English buttons on Thai content. That is the practical case for website design systems on bilingual builds, even small ones.

How much does a bilingual website cost, and how long does it take?

A second language adds work in three places: design and build (switcher, language settings, hreflang, forms and emails for both languages), content (writing or transcreating every page), and upkeep. The build part is fairly fixed. Content is where budgets vary most, because it depends on how many pages you have and whether you supply finished Thai copy.

Our Starter package, from THB 10,000, covers up to five pages; two languages are part of the next package up. The Business package, from THB 30,000, is built for this job: up to 15 pages in English and Thai, a custom WordPress theme with no page builder, forms and booking or enquiry flows, plus keyword mapping and schema markup. Both are indicative one-time starting prices; the final figure depends on scope and is set in a written quote. You can compare what each includes on our page of website prices in Thailand.

A typical project takes around 15 days, counted from the agreed brief to launch. Bilingual sites move fastest when the Thai and English copy for the main pages is agreed early, because waiting for translations easily holds up a two-language launch.

If you would like the decisions in this guide handled for you, from URL structure to translated confirmation emails, see our bilingual Thai-English website development service and tell us about your audiences.

Who reviewed this guide

Litesh Dhir, co-founder of Website Development Bangkok
Litesh Dhir, Co-founder, SEO and web development

Who builds your site

Litesh Dhir

Builds and ranks the websites: the systems behind the 17 client sites whose Search Console numbers we publish.

More about us

More on planning and building your site

Sources

Litesh Dhir, co-founder of Website Development Bangkok
Reviewed by Litesh DhirCo-founder, SEO and web development

More about us

Common questions

Should my Thai and English pages say exactly the same thing?

They should cover the same facts, such as services, prices, hours and policies, so no visitor gets a different offer. The wording, examples and emphasis can and often should differ, because Thai and English readers ask different questions. Some pages may exist in one language only, such as relocation notes for expats, as long as that is a deliberate choice and clearly labelled.

Is a subfolder or a subdomain better for the Thai version?

For most small and mid-sized businesses, a subfolder such as /th/ is the simpler choice: one site, one set of software and one place to manage settings. Subdomains make sense when the Thai version runs on separate software or is managed by a separate team. Google supports all of these structures; what matters most is a separate URL for each language and correct hreflang tags.

Do I need hreflang tags on a bilingual site?

Yes, if both language versions are meant to be found in search. hreflang tags tell Google which pages are translations of each other, so Thai searchers see the Thai page and English searchers the English one. Each page should list all versions including itself, the tags must point both ways, and an x-default entry covers visitors whose language matches neither.

Should my website redirect visitors by country?

No. Automatic redirects by IP address or browser language send many people to the wrong version: expats in Bangkok with English phones, Thai travellers overseas, tourists on hotel Wi-Fi. They can also stop search engines from crawling one of the languages. Let visitors choose with a clear switcher, remember their choice, and at most show a dismissible suggestion to change language.

Can I use machine translation for the Thai version?

As a starting draft for long factual content, yes. As the finished text, no. Machine translation often produces Thai that is grammatically acceptable but stiff, overly literal or in the wrong register, and readers notice. Have a fluent Thai writer edit everything, write the key pages such as home, services and calls to action directly in Thai, and research Thai keywords separately.

Tell us about your website

Send a few lines on WhatsApp or through the quote form. You get a written quote with the scope, timeline and price for your project.

Or WhatsApp or call +66 93 004 4098, every day, 10:00 to 19:00 ICT. service@websitedevelopmentbangkok.com

WhatsApp Call