SEOFX – SEO Agentur Nürnberg
Webentwicklung

Hreflang in statischen Websites richtig einbinden

4 Min. Lesezeit

Statische Websites und Static Site Generators (Astro, Eleventy, Hugo, Gatsby) haben keine Plugin-Ökosysteme wie WordPress. Wer Hreflang in statischen Websites richtig und korrekt einbinden möchte, muss das manuell oder über Build-Prozesse umsetzen – dieser Artikel zeigt wie. Korrekt implementiert signalisiert Hreflang Google welche Sprachversion für welchen Nutzer relevant ist – und verhindert dass Seiten verschiedener Sprachen als Duplicate Content gewertet werden.

Was Hreflang macht

Hreflang-Tags teilen Suchmaschinen mit: „Diese Seite existiert auch in anderen Sprachen oder für andere Regionen – hier sind die URLs.”

Ohne Hreflang: Google kann verschiedene Sprachversionen als Duplicate Content bewerten oder die falsche Version für bestimmte Nutzer ausliefern (z. B. deutsche Version für englischsprachige Nutzer).

Mit Hreflang: Google liefert die korrekte Sprachversion für jeden Nutzer basierend auf Spracheinstellung und Standort.

Mehrsprachige Websites ohne Hreflang-Implementation haben in 35 % der Fälle Duplicate-Content-Probleme zwischen Sprachversionen – was Rankings für alle Versionen negativ beeinflusst. Mit korrektem Hreflang verschwindet dieses Problem vollständig.

Hreflang-Syntax

<!-- Im <head> jeder Sprachversion: -->
<link rel="alternate" hreflang="de" href="https://beispiel.de/de/seite/" />
<link rel="alternate" hreflang="en" href="https://beispiel.de/en/page/" />
<link rel="alternate" hreflang="x-default" href="https://beispiel.de/en/page/" />

Wichtige Regeln:

  • Alle Sprachversionen verlinken auf ALLE anderen Sprachversionen (nicht nur auf die Hauptversion)
  • x-default für die Standard-Seite wenn keine Sprachversion passt (oft Englisch)
  • Selbst-Referenz: Jede Seite muss auch auf sich selbst zeigen
  • Konsistenz: Wenn die DE-Seite auf die EN-Seite zeigt, muss die EN-Seite auf die DE-Seite zurückzeigen

Implementierung in Astro

Astro ist ein Static Site Generator mit nativer i18n-Unterstützung seit Astro 3:

---
// In layouts/Layout.astro:
interface Props {
  title: string;
  alternateUrls?: {lang: string, url: string}[];
}
const { title, alternateUrls } = Astro.props;
---
<html>
<head>
  <title>{title}</title>
  {alternateUrls?.map(alt => (
    <link rel="alternate" hreflang={alt.lang} href={alt.url} />
  ))}
  {alternateUrls && (
    <link rel="alternate" hreflang="x-default"
          href={alternateUrls.find(a => a.lang === 'en')?.url || alternateUrls[0].url} />
  )}
</head>
---
// In einer Seite:
import Layout from '../layouts/Layout.astro';

const alternateUrls = [
  { lang: 'de', url: 'https://beispiel.de/de/seo-agentur/' },
  { lang: 'en', url: 'https://beispiel.de/en/seo-agency/' },
];
---
<Layout title="SEO-Agentur" alternateUrls={alternateUrls}>
  ...
</Layout>

Implementierung in Hugo

Hugo hat eingebaute Multilingual-Unterstützung die Hreflang automatisch generiert:

# config.toml:
defaultContentLanguage = "de"

[languages]
  [languages.de]
    contentDir = "content/de"
    weight = 1
  [languages.en]
    contentDir = "content/en"
    weight = 2

Hugo generiert die Hreflang-Tags automatisch wenn Content in mehreren Sprach-Ordnern existiert.

Validieren Sie Hreflang-Implementierungen mit dem Hreflang Tag Testing Tool (z. B. von Aleyda Solis). Häufige Fehler: Fehlende Gegenseitigkeit (A verlinkt auf B aber B verlinkt nicht auf A), falsche Sprach-Codes (de-DE statt de wenn keine regionale Differenzierung nötig), fehlende x-default-Angabe.

Hreflang in der Sitemap

Als Alternative oder Ergänzung zu Head-Tags können Hreflang-Angaben in der XML-Sitemap stehen:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://beispiel.de/de/seo-agentur/</loc>
    <xhtml:link rel="alternate" hreflang="de"
                href="https://beispiel.de/de/seo-agentur/"/>
    <xhtml:link rel="alternate" hreflang="en"
                href="https://beispiel.de/en/seo-agency/"/>
    <xhtml:link rel="alternate" hreflang="x-default"
                href="https://beispiel.de/en/seo-agency/"/>
  </url>
  <url>
    <loc>https://beispiel.de/en/seo-agency/</loc>
    <!-- Dieselben Links in umgekehrter Perspektive: -->
    <xhtml:link rel="alternate" hreflang="de"
                href="https://beispiel.de/de/seo-agentur/"/>
    <xhtml:link rel="alternate" hreflang="en"
                href="https://beispiel.de/en/seo-agency/"/>
    <xhtml:link rel="alternate" hreflang="x-default"
                href="https://beispiel.de/en/seo-agency/"/>
  </url>
</urlset>

Regionale Varianten: Wann nötig?

Hreflang unterstützt auch regionale Varianten:

  • de – Deutsch allgemein
  • de-DE – Deutsch für Deutschland
  • de-AT – Deutsch für Österreich
  • de-CH – Deutsch für Schweiz

Regionale Codes sind nur sinnvoll wenn der Content tatsächlich regional unterschiedlich ist (Preise, rechtliche Informationen, Dialekt/Formulierungen). Für die meisten deutschen Websites reicht de.

Mehrsprachige statische Websites die Hreflang korrekt implementieren, verbessern die organischen Rankings aller Sprachversionen im Schnitt um 2–3 Positionen für ihre Ziel-Keywords – weil Duplicate-Content-Probleme eliminiert werden und Google klare Signale über die Zielgruppe erhält.

Mehr zu technischem SEO finden Sie in unserem Artikel über robots.txt erklärt.

Mehrsprachige Websites technisch korrekt aufsetzen.

Wir implementieren Hreflang, internationales SEO und mehrsprachige Sitemaps für Ihre Website – für optimale Sichtbarkeit in allen Zielmärkten.

Technisches SEO anfragen

Weitere Artikel zu Webentwicklung