Tip 22 SEO & Findability If applicable

Is your multilingual site set up correctly with hreflang?

Translating your site opens it to new markets, but only if it's built right. Done badly, multiple languages serve the wrong version to the wrong people and quietly waste the translation you paid for. The tool that helps is hreflang — it identifies the equivalent language/region versions of a page for search engines. Think of it as a localization signal: it complements canonicalization, and cures no unrelated duplicate-content problems.

Give each language a real, stable URL

Give each language version its own crawlable URL if you want it indexed, linked, bookmarked, and shared separately. Pick one pattern and stick to it:

example.com/en/pricing        (subdirectory — usually easiest)
example.com/fr/pricing
fr.example.com/pricing        (subdomain)
example.fr/pricing            (country domain)

Cookie- or JavaScript-only switching on one URL changes the interface, but leaves search engines a single document to index and visitors nothing distinct to share. And give each localized page its own same-language canonical — canonicalizing every translation to one master-language page tells search engines to prefer that one, defeating the whole exercise.

Connect the versions with hreflang

hreflang identifies which language/region each URL targets, so supporting search engines can show a searcher the more appropriate version. For a complete implementation, list every version on every version, including a self-reference — at minimum, every relationship you declare must be reciprocal, or it may be ignored. The tags live in the HTML <head> with absolute URLs:

<link rel="alternate" hreflang="en" href="https://example.com/en/pricing">
<link rel="alternate" hreflang="fr" href="https://example.com/fr/pricing">
<link rel="alternate" hreflang="nl" href="https://example.com/nl/pricing">
<link rel="alternate" hreflang="x-default" href="https://example.com/en/pricing">

Use a language code (en), optionally with a region (en-GB, fr-BE) — never a country code alone (BE names no language). Publishing several regional variants? A generic language version (en) makes a good catchall. Add x-default when you have a genuine fallback for unmatched visitors — a language selector or default landing page — rather than mechanically. And verify every target actually resolves to the intended indexable page, not an error or a redirect elsewhere.

Translate properly, and completely

  • Human-reviewed quality. Machine output riddled with errors damages credibility as much as any typo — have a competent, fluent reviewer check meaning, terminology, tone, and local conventions before publishing.
  • Localize what users and crawlers actually read: navigation, titles, meta descriptions, buttons, error messages, and informative alt text. Proper names stay; decorative images keep alt="".
  • Set the page language for browsers and assistive technology — <html lang="fr">, with separate lang on substantial passages in other languages. (This serves accessibility; search engines detect page language mainly from the visible text, so it doesn't replace hreflang.)
  • Don't auto-redirect by IP and trap people; location inference is imperfect. Offer ordinary, crawlable links to the corresponding language versions, and never let detection or a remembered preference override an explicit choice.

Structure translations this way and hreflang helps supporting search engines match searchers with the appropriate version — turning extra languages into extra reach instead of wasted effort.

What to do

  1. Give every language a distinct, stable URL under one consistent pattern, each with a same-language canonical.
  2. Add reciprocal hreflang in the head with self-references and absolute URLs; use x-default where a real fallback exists.
  3. Set the correct lang attribute on each page (and on foreign-language passages).
  4. Use reviewed, localized translation for all meaningful visible and meta text.
  5. Link the versions with ordinary crawlable links, and skip forced IP redirects.

Frequently asked questions

Can I switch language with cookies or JavaScript on one URL?
You can switch the interface that way, but one unchanged URL doesn't give each language a separately indexable, bookmarkable, shareable address. Use distinct crawlable URLs — subdirectory, subdomain, or country domain — whenever each version should appear in search and be linked directly.
What does hreflang need to work correctly?
Each page should reference itself and the localized alternatives you want associated with it, in the HTML head with absolute URLs — and every declared relationship must be reciprocal: if English references French, French must reference English, or that relationship may be ignored. Add x-default when you have a genuine unmatched-language fallback like a language selector.
Is machine translation good enough for a multilingual site?
Not unreviewed on pages that matter. Have a competent, fluent reviewer check meaning, terminology, tone and local conventions. Localize the meaningful user-facing text — navigation, titles, meta descriptions, controls, informative alt text — while keeping proper names as they are and decorative images at alt="".

Was this helpful?

Questions about your own site? Get in touch — we read every message.

Source: “Is your multilingual site set up correctly with hreflang?” — https://www.siteadvice.be/tips/multilingual-and-hreflang/ · © 2026 EUREGIO.NET AG. All rights reserved.