Switzerland is one of the few markets where an SME must seriously consider four languages. It is also the area where we see the most technical mistakes, because multilingual work looks simple: "we translate the text". In reality, translation is the easy part.
One distinct URL per language, always
The non-negotiable rule: every language needs its own indexable URL.
/fr/services
/de/leistungen
/it/servizi
/en/services
What does not work:
- A session parameter (
?lang=de): Google indexes one version only. - JavaScript translation with no URL change: the translated content is never indexed.
- Automatic IP detection with a forced redirect: Google crawls from the United States and will only ever see English.
Detect the browser language to suggest, never to trap.
Translate the URL segments too
/de/leistungen beats /de/services. The keyword in the URL is still a signal, and more importantly a German-speaking visitor immediately recognises they are in the right place. Most Swiss sites skip this detail.
hreflang: the tag that forgives little
Every page must declare all of its language variants, including itself, and the declarations must be reciprocal.
<link rel="alternate" hreflang="fr-CH" href="https://example.ch/fr/services">
<link rel="alternate" hreflang="de-CH" href="https://example.ch/de/leistungen">
<link rel="alternate" hreflang="it-CH" href="https://example.ch/it/servizi">
<link rel="alternate" hreflang="en" href="https://example.ch/en/services">
<link rel="alternate" hreflang="x-default" href="https://example.ch/fr/services">
The most common errors: forgetting the self-reference, declaring a page that redirects, or pointing at a 404 because the translation does not exist yet. In that last case, it is better not to declare the variant at all.
Use the regional codes fr-CH, de-CH, it-CH: they separate you from French, German and Italian content that would otherwise outrank you on the same terms.
What translation alone does not solve
- Formats. A date reads
04.08.2026in German,4 August 2026in English. Amounts:CHF 1,250.00versus1 250,00 CHF. - Length. German runs 20-30% longer than French. A button designed to the pixel in French breaks in German: test every mockup in the longest language.
- Search intent. People do not search "Webagentur" the way they search "web agency". Each language deserves its own keyword research, not a translation of the French list.
- The sitemap. One sitemap listing all languages, with
xhtml:linkannotations per entry.
One single source of truth
Technically, the most common trap is duplication: four copy-pasted templates that drift apart over the months. A single template driven by translation files guarantees that one layout fix benefits all four languages.
That is what separates a genuinely multilingual site from a French site with three translations gathering dust.