Schweiz SEO Mehrsprachigkeit

Hallo zusammen

Wir betreiben unseren Shop unter www.misaki-knives.ch. Die Standardsprache ist Deutsch für die Schweiz, zusätzlich gibt es Sprachversionen auf Englisch (/en), Französisch (/fr) und Italienisch (/it). Weitere Domains (.de, .com usw.) möchten wir künftig über separate Shops und nicht über Shopify Markets betreiben.

Laut Google-Dokumentation müssen in jeder Sprachversion die eigene Version und alle anderen Sprachversionen mit hreflang-Tags ausgezeichnet sein. Shopify generiert diese Tags automatisch, aktuell sieht das bei uns so aus:

Nach meinem Verständnis der Google-Richtlinien müsste es jedoch eher so aussehen:

Meine Fragen:

  • Muss die Root-Domain (Deutsch) explizit mit de-CH ausgezeichnet werden oder reicht x-default? (Auch im Hinblick das wir zukünftig weitere Domains wie .de, .it betreiben werden)

  • Ziel ist, dass Google erkennt, dass es sich um einen Schweizer Shop handelt, mit Standardsprache Deutsch (de-CH). Gleichzeitig sollen EN, FR und IT als Sprachoptionen sichtbar sein.

  • Kann ich das mit Shopify im Standard umsetzen oder benötige ich dazu ein zusätzliches Tool/App?

  • Wenn wir künftig weitere Domains mit eigenen Shops hinzufügen (z. B. de-DE, de-AT, fr-FR), wie sollte dann die hreflang-Logik aussehen?

  • Wir betreiben aktuell SEO auf der .ch-Domain (Deutsch). Hätte eine Umstellung auf de-CH Auswirkungen auf unser bestehendes SEO?

Vielen Dank für eure Hilfe!

Viele Grüsse

Bernd

1 Like

Hey Bernd,

Thanks for posting your concern on Shopify community.

Hreflang is often misunderstood, especially when combining Shopify’s automatic with multilingual setups and plans for expansion into multiple domains. Let me break down this clearly for you.

  1. Does the root domain (German) need to be explicitly tagged with (de-Ch, or is x-default) sufficient?
  • Yes, you should explicitly tag the default domain as de-CH.
  • x-default is typically used for a language selector page or a neutral fallback, not for your main local site.
  • <link rel="alternate" hreflang="de-CH" href="https://www.misaki-knives.ch/" />
    
  • You can also include x-defaul if you want, but its shouldn’t replace de-CH.

Recommended action for now:

  1. Adjust your hreflang to explicitly include de-CH (instead of just de).
  2. Keep fr, it, and en as-is, unless you want to make them region-specific too (fr-CH, it-CH).
  3. Optional: add x-default pointing to the homepage or language selector.

By following the above steps I am ensure that your concerns should be removed.

If you still need more info the you can reach me out.

Thanks

1 Like

Hi The_ScriptFlowSorry to clarify once again but my HTML didn’t get posted in the question.Shopify currently generates this:

<link rel="alternate" hreflang="x-default" href="https://misaki-knives.ch/" />
<link rel="alternate" hreflang="it" href="https://misaki-knives.ch/it" />
<link rel="alternate" hreflang="fr" href="https://misaki-knives.ch/fr" />
<link rel="alternate" hreflang="en" href="https://misaki-knives.ch/en" />

But after reading the google guidelines I would expect I need this:

<link rel="alternate" hreflang="de-CH" href="https://www.misaki-knives.ch/" />
<link rel="alternate" hreflang="en-CH" href="https://www.misaki-knives.ch/en/" />
<link rel="alternate" hreflang="fr-CH" href="https://www.misaki-knives.ch/fr/" />
<link rel="alternate" hreflang="it-CH" href="https://www.misaki-knives.ch/it/" />
<link rel="alternate" hreflang="x-default" href="https://www.misaki-knives.ch/" />

Could you please answer again to this?

Thank you.

Best regards
Bernd

1 Like

Hi Bernd,

Great question hreflang can definitely get confusing, especially when mixing Shopify’s auto-tags with plans for future multi-domain setups. Let me break this down clearly for your situation:

1. Root domain (German) tag
Yes, it’s best practice to explicitly tag your main shop as de-CH.

  • x-default is mainly for a neutral language selector or fallback page.

  • For your case, having:

<link rel="alternate" hreflang="de-CH" href="https://www.misaki-knives.ch/" />

is the correct approach. You can still keep an x-default pointing to the homepage or selector, but it shouldn’t replace the de-CH tag.

2. Current setup with EN, FR, IT

  • Keeping them as en, fr, it is fine.

  • If you want to be very precise for Switzerland, you could also use en-CH, fr-CH, it-CH, but it’s optional unless you’re targeting those language regions specifically.

3. Future domains (like .de or .fr)

  • Each domain should reference its own locale (e.g. de-DE for Germany, fr-FR for France).

  • They should also cross-reference your Swiss versions (de-CH, fr-CH, etc.) so Google clearly understands the relationship between local and international shops.

4. SEO impact
Switching from de to de-CH will not hurt your existing SEO if the hreflang is implemented correctly. In fact, it helps Google better understand your audience targeting (Switzerland, German speakers).

:backhand_index_pointing_right: Recommended next step:
Update your current hreflang tags to explicitly include de-CH for the root domain, keep your other language versions as they are (or localize further if you prefer), and plan to add specific hreflang references when you expand into .de or .fr shops.

This setup keeps you compliant with Google’s best practices and future-proofs your SEO.

Hope this clears it up! Does that approach align with how you want to expand the different markets?

1 Like

Hi Kathrine

Thank you for your reply.Is it possible to achieve this via Shopify markets? It seems that Shopify is doing this wrong, the default language never gets a tag.

If I add subfolders for the Swiss market it, creates additional tags for each language “de-CH” but the URL is .ch/de-ch and the other tags are still there and I end up with this:

<link rel="alternate" hreflang="x-default" href="https://misaki-knives.ch/" /> <link rel="alternate" hreflang="it" href="https://misaki-knives.ch/it" /> <link rel="alternate" hreflang="fr" href="https://misaki-knives.ch/fr" /> <link rel="alternate" hreflang="en" href="https://misaki-knives.ch/en" /> <link rel="alternate" hreflang="de-CH" href="https://misaki-knives.ch/de-ch" /> <link rel="alternate" hreflang="en-CH" href="https://misaki-knives.ch/en-ch" /> <link rel="alternate" hreflang="fr-CH" href="https://misaki-knives.ch/fr-ch" /> <link rel="alternate" hreflang="it-CH" href="https://misaki-knives.ch/it-ch" />

Shouldn’t this be a standard behavior of Shopify to create the tags correctly?

Best regards
Bernd

1 Like

Hi Bernd,

You’re absolutely right, Shopify’s default hreflang behavior through Markets can feel counterintuitive. By design, Shopify outputs both the generic language tags (en, fr, it, de) and the market-specific tags (en-CH, fr-CH, de-CH, etc.) whenever you add subfolders via Markets.

:backhand_index_pointing_right: Why Shopify does this:

  • The generic versions (e.g., /en, /fr) are Shopify’s “fallback” language handles.

  • The market versions (e.g., /en-ch, /fr-ch, /de-ch) are tied to the Market settings you configure.
    So technically, both sets exist because Shopify wants to serve content to “any English speaker” and to “English speakers in Switzerland.”

:backhand_index_pointing_right: The issue (as you noticed):

  • It can look redundant and messy.

  • Google sometimes prefers cleaner hreflang without duplicate overlaps.

Workarounds you can try today:

  1. If you want to enforce only regional tags (like de-CH, fr-CH, etc.), you’d need to adjust your Markets setup and disable the generic language subfolders. Unfortunately, Shopify doesn’t give fine-grained control in the admin.

  2. Some merchants solve this with a lightweight app or custom Liquid filter to override the default hreflang output and only print the locales they want. (Example: apps like “Langify” or custom theme edits where the <link rel="alternate"> loop is modified).

  3. If SEO clarity is your top priority, the custom override is the cleaner solution — but it does mean stepping outside of Shopify’s defaults.

So to your question — yes, ideally Shopify would handle this more elegantly by default, but as of now it’s “working as intended.” To get a precise setup (only de-CH for root, and only regional versions for subfolders), you’ll need either an app or a code adjustment.

:backhand_index_pointing_right: Recommended next step:
If you’re comfortable with a lightweight code override, I can share an example snippet you can drop into theme.liquid to control exactly which hreflang tags render. Would you like me to post that here?

1 Like

Hi Kathrine

Thank you for the answers.

The main issue is the behavior from Shopify that when you have 1 domain .ch and 4 languages (DE (standard), IT, FR, EN) it only creates tags for “x-default”, “it”, “fr” and “en” and NO tag for “de”? Or am I doing somehing wrong in Shopify markets?

And if yes do I need to add the “de” tag manually to theme.liquid?

The market versions are not really an option for us because they create a four-letter language code like .ch/fr-ch instead of a two-letter language code like .ch/fr.

So how do I get in a first step all the tags for all languages including the x-default?
And how would I get them to the “*-CH” format without the need of a four letter code like .ch/*-ch in the URL?

Thank you so much.

Best regards
Bernd

Hi @MISAKI_KNIVES,

You’re correct — Shopify Markets handles default languages a bit differently, which is why you’re seeing no de tag automatically. Here’s how it works and how to address it:

  1. x-default & Language Tags

    • Shopify automatically generates x-default and tags for non-default languages. The store’s default language (in your case DE) doesn’t get a separate tag by default.
  2. Adding DE Manually

    • Yes, if you need de explicitly, you’ll need to add it manually in your theme.liquid (or the relevant head snippet) using something like:
    <link rel="alternate" hreflang="de" href="{{ shop.url }}/">
    
    
  3. *Customizing URLs to -CH Format

    • Shopify Markets uses four-letter codes (like fr-ch) automatically for region-specific languages.

    • To keep URLs in a two-letter format (/fr instead of /fr-ch), you’ll need a custom URL rewrite solution or a third-party translation app that allows custom path mapping.

  4. Recommended Approach

    • Manually include de for your default language.

    • For other languages, decide if you need *-CH or standard two-letter paths. If you need *-CH, consider using Shopify’s Market URLs as-is; if not, a translation app with path customization is safest.

Have you tried manually adding the de tag yet, or do you want a ready-to-use snippet for all languages including x-default?

1 Like

Hi EmixtarDigital

Thank you for clarifying.

A snippet would be nice. I only need to add it into the head of theme.liquid thats it?

Best regards
Bernd

1 Like

Hallo @MISAKI_KNIVES

sehr gute und wichtige Fragen – hreflang ist oft ein unterschätztes, aber entscheidendes Signal für internationales SEO. Ich gehe das einmal strukturiert durch:

1. Root-Domain mit de-CH oder x-default?

Wenn deine Hauptsprache Deutsch für die Schweiz ist, sollte die Root-Version (www.misaki-knives.ch) tatsächlich mit hreflang=“de-CH” ausgezeichnet werden.

x-default wird nur genutzt, wenn es eine neutrale oder automatische Weiterleitungsseite gibt (z. B. eine Sprachauswahlseite oder Geo-Redirect).

Empfehlung:

Verwende de-CH für die Hauptversion, nicht x-default.

Damit versteht Google klar, dass es sich um deutschsprachigen Content für die Schweiz handelt – wichtig, falls du später noch eine .de oder .at Domain betreibst.

2. Ziel: Schweizer Shop mit weiteren Sprachen

Deine Zielstruktur ist völlig richtig. Google soll verstehen:

Deutsch = Hauptsprache Schweiz (de-CH)

Englisch = international (en)

Französisch = Schweiz (fr-CH)

Italienisch = Schweiz (it-CH)

Das lässt sich mit Shopify im Standard (ab OS 2.0) grundsätzlich umsetzen, solange du die Lokalisierungen korrekt zuweist.

Aber: Shopify generiert die hreflang-Tags automatisch aus den Market-Einstellungen. Wenn du kein Shopify Markets nutzt, sondern alles manuell steuerst, kann es sein, dass Shopify nicht alle Sprach-Region-Kombinationen korrekt setzt.

3. Shopify Standard oder App nötig?

Im Standard erzeugt Shopify hreflang-Tags pro aktivierter Sprache, aber ohne Region (z. B. nur de, fr, it, en).

Willst du regionale Codes (de-CH, fr-CH, etc.), brauchst du:

Entweder einen kleinen Theme-Eingriff über theme.liquid (Custom Code im mit Liquid und request.locale.iso_code),

oder eine App wie “Langify”, “Hreflang Manager” oder “Transcy”, die regionenspezifische hreflang-Tags unterstützt.

4. Zukünftige zusätzliche Domains (.de, .it etc.)

Wenn du mehrere Länder- und Sprachshops planst, ist die ideale Logik so:

Land/Domain Sprache hreflang

Misaki-knives.ch Deutsch (Schweiz) de-CH

misaki-knives.ch/fr Französisch (Schweiz) fr-CH

misaki-knives.ch/it Italienisch (Schweiz) it-CH

misaki-knives.ch/en Englisch (international) en

misaki-knives.de Deutsch (Deutschland) de-DE

misaki-knives.at Deutsch (Österreich) de-AT

misaki-knives.it Italienisch (Italien) it-IT

Jede Seite sollte alle anderen Varianten mit rel=“alternate” + hreflang verlinken.

Wenn du also mehrere Shops betreibst, muss jeder Shop die hreflang-Verweise auf die anderen Domains enthalten – das geht in Shopify nur manuell oder per App, da Shopify von Haus aus Domains nicht miteinander synchronisiert.

5. Auswirkungen auf SEO

Wenn du den hreflang-Code von de auf de-CH änderst, verlierst du keine Rankings, sofern die URLs gleich bleiben.

Google interpretiert de-CH lediglich präziser – das ist also sogar eine Verbesserung.

Wichtig:

Lass beide Varianten (z. B. de und de-CH) nicht gleichzeitig in hreflang auftauchen.

Nach der Umstellung kann es kurzzeitig leichte Ranking-Schwankungen geben, bis Google neu indiziert hat.

Viele Grüße

Rafael von Muthwerk

:sparkles: E-Commerce Solutions & Shopify Optimization