Skip to content
KoishiAI
ไทย
← Contents

Chapter 5 of 5 · SEO for Thai Websites — Getting Google to Find, Understand and Choose Your Pages

Bilingual sites and measuring: hreflang, Search Console and targets you can hit

Make the Thai and English versions of a page point at each other correctly, the traps that make Google ignore the whole set, how to read the Performance report to know what to fix, and how to pick searches a small site can win.

The last chapter of the series has two parts. The first is for sites in more than one language: how to tell Google which page is which version. The second applies to every site: reading the numbers so you know what to do next.

5.1 What hreflang is for

If the same article exists in Thai and English, hreflang tells Google the two pages are the same content in different languages, so it can show the version that matches the searcher.

A single-language site does not need hreflang.

5.2 The rules to get right

hreflang can go in three places: <link> tags in <head>, an HTTP header, or the sitemap. Tags in <head> are the most common.

<!-- the same set on both the Thai and the English page -->
<link rel="alternate" hreflang="th" href="https://example.com/th/menu">
<link rel="alternate" hreflang="en" href="https://example.com/en/menu">
<link rel="alternate" hreflang="x-default" href="https://example.com/th/menu">
RuleIf you miss it
Every version lists itself and every other versionGoogle may ignore the annotations
If page A points to page B, B must point back to AGoogle may ignore that pair
Codes are an ISO 639-1 language with an optional ISO 3166-1 region: th, th-TH, en-GBWrong codes such as en-UK or th_TH do not work
URLs are fully qualified: https://example.com/th/menu/th/menu or //example.com/th/menu do not work
Tags sit inside a well-formed <head>Google says they must be in <head>; tags that slipped into <body> risk not counting
Each version’s canonical is the page in the same languageGoogle says to specify a canonical in the same language, or the best possible substitute language if none exists; point across languages when a same-language page exists and Google may pick the other language’s page as the main one

x-default is optional: it names the page to show when the searcher’s language matches none.

A common misunderstanding: Google says it does not use html lang or hreflang to detect a page’s language; it reads the language from the content. hreflang describes the relationship between pages, not the language.

th or th-TH: if the Thai content is not aimed at one country, th is enough. Use th-TH when you have country versions — one page for readers in Thailand and a separate one elsewhere.

A lesson from KoishiAI: hreflang pointing at noindex pages

The site has tag pages in both languages, and tags with few articles are set to noindex. The count was done per language, so the same tag was often indexable on one side and noindex on the other. The indexable page’s hreflang then pointed at a partner we had ourselves told Google not to keep, and the pair was useless on both sides.

We fixed it by deciding indexing per pair: index both languages or neither. The rule we have followed since is that hreflang points only at pages that are canonical and indexable.

5.3 Reading the Performance report for answers

The Performance report in Search Console has filters that answer sharper questions than the totals do.

QuestionHow to lookIf you find this
People see but do not clickSort by impressions and look at each page’s CTRLow CTR: rewrite the title and description (chapter 3)
Which searches almost reach page oneLook at queries whose average position is just below the first pageMake that page answer the query more directly; add internal links to it
Did the change workCompare date ranges before and after the changeLook at the page you changed, not the whole site
Thailand or abroadFilter by countryIf most readers are abroad, your language or keywords may not fit your audience
Mobile or desktopFilter by deviceIf mobile CTR is lower than desktop, check whether titles get cut to nonsense on small screens

Remember that average position is your topmost position for each query, averaged. If a page ranks at the top for one query and very deep for another, the average may match no real query at all. Look query by query.

5.4 Targets a small site can win

A new site competing for broad terms that big sites own has almost no chance. What works better is choosing more specific searches that your site genuinely answers better than anyone.

A lesson from KoishiAI: narrower to win

“AI news” in English is owned by the big international tech outlets; a young domain gains nothing by competing there. We narrowed the target to AI news in Thailand and AI news that matters to Thai readers, which the big foreign sites do not cover, and wrote titles and descriptions to match.

The same idea works for your site:

  • a restaurant: “chicken rice restaurant” is too broad; “khao man gai Sukhumvit” or your signature dish is winnable;
  • a knowledge blog: choose specific questions people really ask, and answer them more completely than the pages ranking now;
  • a service business: terms that combine the service with the area you really serve.

5.5 The whole series as a checklist

ChapterCheck
1Site verified in Search Console; statuses in Page indexing reviewed; key pages inspected with URL Inspection
2robots.txt not used to hide pages; noindex pages readable; canonical clear; sitemap clean; no links to noindex pages
3Titles and descriptions use searchers’ words and are unique; URLs stable; images have alt text
4JSON-LD matches the content and passes the Rich Results Test; share cards have a real image of adequate size
5hreflang complete in every language and reciprocal; Performance read query by query; targets specific enough to win

Work one chapter at a time, note the date of each change, and look at results over a long window — as chapter 1 said, some changes take months to show.

Sources