Multilingual SEO: launching RU, UZ and EN versions without losing rankings
Business in Uzbekistan almost always operates beyond a single language: Russian for the local market and neighbouring countries, Uzbek for the audience inside the country, English for investors, partners and international clients. The problem is that adding a second and third language version is far easier than doing it without damaging your search positions.
Here's what most often goes wrong, and how to set a multilingual site up correctly on the technical side.
1. One page — one URL, one language
The most common mistake is switching language through JavaScript or a cookie without changing the page URL. To a user that looks convenient, but to a search engine such a page exists in exactly one version: whichever the crawler saw on its first visit.
What works is a separate URL per language: /ru/, /uz/, /en/ — or subdomains if the site's structure justifies it. The format matters less than the principle: every language version of a page has its own permanent address that can be indexed separately.
2. hreflang has to be reciprocal
The hreflang tag tells a search engine which pages are language versions of each other. A common technical error is declaring hreflang in one direction only: the Russian version points at the English one, and the English one doesn't point back. Google simply ignores the markup in that case.
Checking it isn't hard: if a page has hreflang to another language, that version must link back. And only link to pages that genuinely exist and return a 200 — not placeholders or URLs that redirect.
Set x-default separately — the version shown to a user whose browser language matches none of yours.
3. Translation isn't only the visible text
Page title, meta description, Open Graph tags, breadcrumbs, button labels, structured data (Schema.org) — all of it needs translating too. A site whose body copy is translated but whose meta tags stayed in Russian loses part of its meaning in exactly the place the search engine displays in results.
A literal translation isn't the same as localisation. Currency, examples, units and calls to action have to read naturally to that specific audience — "Ariza qoldirish" and "So'rov yuborish" don't land the same way — rather than being traced word for word from the source language.
4. What to do about missing translations
If an article or service page hasn't been translated into Uzbek yet, don't hide it behind a redirect to the Russian version or serve an empty error page. The right approach is to show what exists — in the default language, say — but honestly, without trying to pass it off to a search engine as a fully localised page.
5. The language switcher must preserve context
If someone is reading a specific blog post and switches language, it makes sense to take them to the translation of that post rather than to the other language's homepage. A small thing that has a large effect on behavioural metrics and on whether the person stays at all.
Checklist before launching a multilingual version
-
Every language version has its own permanent URL.
-
hreflang is declared reciprocally and points at pages that really exist.
-
x-default is set.
-
Not just visible text but meta tags, Schema.org and image alt text are translated.
-
The language switcher keeps the current page instead of dropping to the homepage.
At Code Nova Evolution we went through this on our own site — it now runs in eight languages: Russian, Uzbek, English, Kazakh, Tajik, Kyrgyz, Korean and Chinese. If you need multilingual set up correctly from the start, or need to work out why your language versions are competing with each other in search, get in touch and we'll look at your situation.
