← back to blog

6 min read#websites#seo#marketing

Multilingual website for Moldova: RO, RU and EN done right

How to build a multilingual website for Moldova in Romanian, Russian and English — URL structure, hreflang, language switcher and translation quality explained.

A multilingual website for Moldova usually needs Romanian and Russian, often English too — and doing it right means more than a flag switcher in the header. Each language needs its own URL, properly translated (not just machine-translated) content, hreflang tags so Google shows the right version to the right person, and a language switcher that doesn't trap anyone. Get these basics right and every language version can bring its own search traffic and leads.

This guide covers which languages to choose, how to structure URLs, how hreflang works in plain words, why translation quality matters for sales and SEO, and a checklist to avoid the usual mistakes on local sites.

Which languages does a Moldovan business need?

Moldova is a genuinely bilingual market, with a third language on top for export and tourism:

LanguageWho it's forPriority
Romanian (RO)The official language; clients across Moldova and RomaniaAlmost always
Russian (RU)A large Russian-speaking audience in Moldova and clients from neighboring countriesUsually
English (EN)Foreign clients, partners, investors, tourists, EU marketsIf you sell beyond the region

If you're a local service business — a clinic, a repair service, a restaurant — RO and RU are the core. If you export, work with EU clients or sell IT services, English becomes just as important. Start with the languages your customers actually search in; you can add more later if the structure allows it.

URL structure: give every language its own address

Search engines need a separate, stable URL for each language version. The common options:

  • Subdirectories: example.md/ro/, example.md/ru/, example.md/en/ — simplest to maintain, all versions share the domain's authority. The usual best choice for small and medium businesses.
  • Subdomains: ro.example.md, ru.example.md — workable, but more setup and usually no real benefit for a single-country business.
  • Separate domains: example.md and example.ro — makes sense only if you run truly separate businesses per country.

What to avoid: switching the language with cookies or JavaScript on the same URL. Google recommends a separate URL for each language version, because otherwise its crawler may see only one of them. Parameters like ?lang=ru technically give separate URLs, but Google doesn't recommend them either.

This site uses subdirectories: English at the root, Russian under /ru/, Romanian under /ro/.

Hreflang explained in plain words

hreflang is a small tag that tells Google: "this page exists in these other languages, and here are the addresses". It helps Google show the Romanian page to someone searching in Romanian and the Russian page to someone searching in Russian, instead of mixing them up.

On every page you list all its language versions — including the page itself — plus an x-default for everyone else:

<link rel="alternate" hreflang="ro" href="https://example.md/ro/services" />
<link rel="alternate" hreflang="ru" href="https://example.md/ru/services" />
<link rel="alternate" hreflang="en" href="https://example.md/en/services" />
<link rel="alternate" hreflang="x-default" href="https://example.md/en/services" />

Rules that matter:

  • Tags must be reciprocal. If the RO page points to the RU page, the RU page must point back. One-way links get ignored.
  • Use correct codes. ro, ru, en — or with a region, like ro-MD, ru-MD. md is a country code, not a language, and won't work on its own.
  • Link to the equivalent page, not to the home page of the other language.
  • Each version has its own canonical pointing to itself, not to another language.
  • Pick one method. The same information can live in the page <head>, in HTTP headers or in the sitemap — Google treats them as equivalent, so one is enough.

Also set the lang attribute on the <html> tag (lang="ro", lang="ru") — it helps screen readers and browsers. Google's full guide is here: Tell Google about localized versions of your page.

Translation quality: the part that actually sells

A technically perfect setup won't help if the text reads like a machine translation. Visitors notice immediately, and it hurts trust — especially in a market where people speak both languages and can compare.

Translate for meaning, not word for word

Headlines, calls to action and benefits often need to be rewritten, not translated. A catchy English phrase can sound odd in Romanian; a formal Russian phrasing can feel cold. A native speaker should at least review every version.

Do keyword research per language

People search differently in each language. The Russian-speaking customer and the Romanian-speaking customer may use completely different words for the same service. Check what people actually type in each language and use those words in titles, headings and descriptions. More on SEO basics in why SEO matters.

Localize the details

Phone formats, addresses, prices and currencies, delivery terms, holidays, even examples and photos. Correct Romanian diacritics (ș, ț, ă, î, â) are part of quality too — texts without them look careless.

Keep versions in sync

When you update prices or services in one language, update the others. Outdated versions confuse customers and create support work. A CMS with per-language fields makes this much easier.

The language switcher: small detail, big impact

  • Put it where people expect it: the header, and ideally the footer too.
  • Label languages by their own names — "Română", "Русский", "English" — or short codes; flags are ambiguous, since languages aren't countries.
  • Switching should keep the user on the same page in the other language, not throw them to the home page.
  • Don't force automatic redirects by IP or browser language. You can suggest a language, but let people choose and remember their choice. Forced redirects annoy users and can stop search engines from seeing all versions.

Multilingual website checklist

  • Separate URL for every language (subdirectories are usually best)
  • hreflang on every page, reciprocal, with x-default
  • Self-referencing canonical per language
  • lang attribute on <html>
  • Translated titles, meta descriptions and image alt texts
  • Keyword research done per language
  • Native-speaker review of every version
  • Switcher that keeps the current page
  • No forced redirects by location
  • Sitemap that includes all language versions

For the rest of the pre-launch technical list, see the SEO checklist before launch. If you also rely on local search, local SEO and Google Business Profile is the next step.

FAQ

Is Google Translate enough for a multilingual site?

As a first draft — maybe. As the final text — no. Machine translation can get the meaning roughly right but often misses tone, local terms and search keywords. Always have a native speaker edit it.

Will a multilingual site hurt my SEO because of duplicate content?

No, not when set up correctly. Translated pages aren't treated as duplicates, and with hreflang each version can rank in its own language.

Should I start with all three languages at once?

Not necessarily. Launch with the languages that bring customers now — often RO and RU in Moldova — but build the structure so adding English later is easy.

How much extra work does each language add?

Every language means more content to write or translate, extra SEO work and more testing. The code side is usually the smaller part when the site is built multilingual from the start; adding languages to a site that wasn't designed for it is harder.

Build it multilingual from day one

A multilingual website isn't three copies of one site — it's one site that speaks to each customer in their language. If you're planning one, enable "Multilingual" in the builder, sketch the structure, see a rough estimate and send it over — I'll suggest the right setup for RO, RU and EN. You can also check what's included in website development.