Business guides

How do you set up SEO for a Thai and English website?

A bilingual website is two sets of pages that search engines have to find, read and tell apart. Most problems come from a few settings: one address serving both languages, language versions that do not point to each other, or Thai pages that are only half translated. This checklist goes through them in order.

O2 Design Studio

Give each language its own address

Google recommends a different URL for each language version of a page, rather than one address that changes language with a cookie or the browser's settings. A common pattern is English at the root and Thai under /th/, as on this site. Google also advises against redirecting visitors automatically to the language you think they speak. Let them choose, with a language switch that opens the same page in the other language.

Should the slug, the words at the end of the address, be Thai or English? Google suggests words in your audience's language, so a Thai slug can describe a Thai page, but it has to be percent-encoded in links, and each Thai letter becomes a long run of characters when the address is copied into a chat or a document. An English or transliterated slug stays short and readable everywhere. Either can be found; what matters more is that the words describe the page and that the address does not change once it is published. This site gives each Thai page the same English slug as its English version, under /th/.

Tell search engines which pages are translations

Hreflang annotations say that a Thai page and an English page are versions of each other. Each version must list itself and every other version, with full addresses, and the links must go both ways: Google ignores the annotations when two pages do not point to each other. Add x-default for the version to show when no language matches. They can be written in the page, in HTTP headers or in the sitemap, and Google treats the three as equivalent.

One main address per page, in its own language

Each page should name itself as its main address with a canonical link. A Thai page that names the English page as its main version tells search engines the Thai page is a copy, and it may not be shown to people searching in Thai. Check that the sitemap lists both languages, that no address in it redirects, and that both versions open normally.

Write each language for its readers

Google works out a page's language from its visible text, not from code such as the lang attribute, and warns against translating only the menus and buttons while the main content stays in one language. Keep each page in one language, with its own title and description. Write the Thai the way Thai customers describe what they need: a Thai owner searches for รับทำเว็บไซต์, not for a word-for-word translation of an English heading.

Links, the language switch and checking

Thai pages should link to Thai pages and English pages to English ones. The language switch is the exception, and it should open the same page in the other language, not the home page. Then check each language separately with URL Inspection in Search Console. A page that can be crawled and is in the sitemap is eligible to appear, not guaranteed to; once data arrives, review which searches show each version.

  • A separate address for each language.
  • Hreflang on both versions, pointing both ways, with x-default.
  • Each page canonical to itself.
  • One language per page, title and description included.
  • Both languages in the sitemap, with no redirects.

Explore the relevant services

SEO for your website, in Thai and English

Business websites in Thai and English

Free website audit

Sources and further reading

Google Search Central: managing multilingual sites

Google Search Central: localized versions of your pages

Google Search Central: URL structure

Bring us the part you want to improve.

Tell us how the work runs today. We can discuss a useful first step and what should stay with your existing tools.