Kasel Creative

Multilingual Websites Done Right: hreflang, Structure and Localization

A multilingual site that is built as an afterthought tends to have the same problems: language versions competing with each other, visitors bounced to the wrong homepage, and translated pages that never rank. Getting the structure right first solves most of it. This is a subject we care about — our own site runs in three languages.

Give each language a stable, distinct URL

Every language version of a page needs its own permanent address. The common patterns are a subdirectory (/en/, /fr/), a subdomain, or a separate domain per country. Subdirectories are usually the simplest to run and consolidate authority on one domain. What you should not do is switch language based on a cookie or the visitor's IP without changing the URL — search engines cannot index a page that has no address.

Use localized slugs, not just a language prefix

/fr/a-propos is better than /fr/about. People search in their own language, and a URL in that language is a small but real relevance signal. It also just reads correctly to a French visitor.

Connect the versions with hreflang

Every page must tell search engines which URLs are its equivalents in other languages, using hreflang annotations:

  • Each page links to all language versions, including itself.
  • The annotations must be reciprocal — if the English page points to the French one, the French one must point back.
  • Add an x-default for users whose language you do not support.
  • List every alternate in your XML sitemap as well.

hreflang does not change rankings directly; it makes sure the right language version is shown to the right user, which reduces bounce and protects the rankings you have.

The language switcher should keep the reader on the same page

If a visitor is reading your pricing page in English and switches to French, they should land on the French pricing page — not the French homepage. This needs a real mapping between equivalent pages, which is exactly what hreflang encodes. Losing the reader's place is the single most common multilingual UX failure.

Translate, do not just convert

Machine translation is a starting point, not a finished page. Headlines, calls to action and examples often need to be rewritten rather than translated word for word. A page that reads like it was written by a person in that language will always outperform one that reads like a conversion.

Do not auto-redirect by location

Forcing a visitor — or a crawler — from one language to another based on IP causes indexing problems and frustrates people who deliberately chose a language. Offer the choice with a banner and remember it; do not impose it.

In short

Multilingual done right is: distinct URLs, localized slugs, reciprocal hreflang, a switcher that preserves the page, and real translation. It is part of how we build international sitestell us which markets you are targeting and we will design the structure around them.