Next.js Sitemap Hreflang für App Router und Static Export: @pas7/nextjs-sitemap-hreflang
Ein praxisnaher Leitfaden zu Next.js Sitemap Hreflang für App Router und Static Export: Hreflang-Alternativen und x-default generieren, sitemap.xml ergänzen oder korrigieren, Hreflang in CI validieren und gemischte Content-Pipelines unterstützen.

Die eigentliche Schwierigkeit ist meist nicht, eine mehrsprachige Sitemap einmal zu erzeugen. Die Schwierigkeit liegt darin, korrekte Alternate-Language-URLs beizubehalten, wenn die Site wächst. Statische Seiten folgen oft einem Locale-Muster, Content-Hubs einem anderen und Detailseiten einem dritten. In der Praxis mischt eine mehrsprachige Website häufig Homepage-Routing, lokalisierte Hubs und locale-segmentierte Detailseiten. [1][2]
Der Next.js App Router bietet mit MetadataRoute.Sitemap einen sauberen Weg, Sitemap-Einträge zu erzeugen, löst aber nicht jede Hreflang-Routing-Regel automatisch. Die offizielle Dokumentation erklärt Dateikonvention und Ausgabeformat der Sitemap, während ein Paket wie dieses die Lücke bei Alternate-Language-Verknüpfung und routingbewusster Validierung schließt. [1][4]
Auch Googles Hreflang-Empfehlungen erhöhen den Anspruch. Alternative URLs sollten vollständig qualifiziert sein, Seiten sollten auf sich selbst und auf ihre Alternativen verweisen, und x-default kann für sprachneutrale Fallback-Seiten sinnvoll sein. Bei kleinen Sites ist das noch überschaubar, bei URLs aus mehreren Pipelines aber schnell fehleranfällig. [5][6]
Der schnellste Einstieg ist die App-Router-Generierung mit einem Routing-Helper und withHreflangFromRouting.
Die Einträge mit Hreflang-Generierung erweitern
Im README-Quickstart wird withHreflangFromRouting(entries, routing, { baseUrl, ensureXDefault: true }) verwendet, sodass die Sitemap-Generierung nah an normalem App-Router-Code bleibt. [1]
Die Routing-Helper sind der Punkt, an dem das Paket mehr wird als nur ein kleiner Hreflang-Wrapper.
| Comparison point | Muster | Typischer Einsatz |
|---|---|---|
| Prefix as needed | Startseiten und einfache lokalisierte Routen wie /, /uk, /de | Sinnvoll, wenn die Default-Locale ohne Prefix bleiben soll und andere Locales einen Prefix brauchen |
| Suffix locale | Content-Hubs und statische Seiten wie /blog/uk oder /contact/uk | Sinnvoll, wenn Hub-Seiten einem Suffix-Locale-Muster statt eines prefixed Pfads folgen |
| Locale segment | Detailseiten wie /blog/en/slug oder /blog/uk/slug | Sinnvoll, wenn Content-Einträge ein stabiles locale-aware Detail-Routing brauchen |
| Mixed prefix pages | Optionale Ausnahmen wie /uk/about neben anderen Routing-Stilen | Sinnvoll, wenn eine Site mehrere Legacy- oder bereichsbasierte Routing-Regeln mischt |
Viele Teams erzeugen Sitemap-Einträge nicht direkt aus einem einzigen TypeScript-Array. Sie haben bereits Manifeste, Frontmatter-Exports oder CMS-normalisierte Daten.
Diese Bildunterstützung ist ein schönes Detail, weil sie gut dazu passt, wie moderne statische Sites Inhalte tatsächlich speichern. Ein Beitrag hat oft ein zentrales Cover und mehrere verschachtelte Screenshots. Die Dokumentation zeigt, wie sich beides in den Sitemap-Eintrag übernehmen lässt, statt nur die oberste URL zu behalten. [1]
Ein minimales Beispiel aus dem README sieht so aus:
import { createSitemapEntriesFromManifest } from "@pas7/nextjs-sitemap-hreflang";
const entries = createSitemapEntriesFromManifest(blogManifest, {
baseUrl: "https://pas7.com.ua",
sectionPath: "/blog",
defaultLocale: "en",
routeStyle: "locale-segment",
});Manifest-Helper
createSitemapEntriesFromManifest ist für Pipelines gedacht, die bereits Slug-, Locale- und Datumsfelder ausgeben. So bleibt die Sitemap-Generierung an bestehende Content-Manifeste gekoppelt, statt Routing-Logik zu duplizieren. [1]
Unterstützung gemischter Quellen
Das Paket unterstützt ausdrücklich .ts, .json, .md/.mdx und CMS-basierte Content-Pipelines, was den Einsatz über verschiedene Inhaltsquellen hinweg in einem Next.js-Projekt erleichtert. [1]
Bilder in Sitemap-Einträgen
Der Helper kann über imagesFor auch Bilder einbeziehen. Das ist nützlich, wenn Sitemap-Einträge Bild-URLs aus verschachtelten Content-Feldern wie Hero-Covern und Abschnitts-Screenshots enthalten sollen. [1]
Warum das wichtig ist
Das Paket passt besser in reale Content-Systeme, weil es von den Manifesten und Datenquellen ausgehen kann, die Teams bereits haben. [1]
Die CLI ist klein, aber die Trennung zwischen check und inject ist praktisch.
check verwenden
inject verwenden
Am besten, wenn die Site bereits eine Sitemap-Datei erzeugt und Sie Hreflang in generiertes XML direkt im Postbuild-Schritt einfügen oder korrigieren wollen. [1]
--prefer verwenden, wenn der Ort der Quelldatei wichtig ist
Die CLI kann public/sitemap.xml, out/sitemap.xml oder sitemap.xml automatisch erkennen, aber eine explizite Präferenz ist sicherer, wenn die Pipeline mehr als einen möglichen Output hat. [1]
Die Exit Codes und das JSON-Format machen das Paket leichter automatisierbar als Tools, die nur menschenlesbare Warnungen ausgeben.
Das ist eine der leiseren Stärken des Pakets. Die CLI sagt nicht nur, dass die Validierung fehlgeschlagen ist, sondern unterscheidet zwischen fehlender Eingabe, XML-Fehlern und Validierungsfehlern. Dadurch wird das Verhalten der Pipeline viel nachvollziehbarer. [1]
Auch das Report-Format ist praxisnah: ok, issues[], summary.byCode, inputPath und timingMs. Genau diese Art von Vertrag können CI-Jobs oder Dashboards ohne Rätselraten weiterverarbeiten. [1][3]
Das Paket ist direkt und klar, aber mehrsprachige Sitemap-Workflows scheitern trotzdem oft an bekannten Stellen.
Sitemap-Alternativen getrennt von der Content-Pipeline zu halten. Das führt oft zu veralteten Locale-Clustern oder fehlenden Einträgen. [1]
Diese offiziellen Quellen stützen das Verhalten des Pakets, den Next.js-Sitemap-Kontext und die in diesem Artikel verwendeten Hreflang-Empfehlungen.
Der schwierige Teil ist meist nicht, Hreflang einmal hinzuzufügen. Der schwierige Teil ist, Alternativen, Routing-Muster, XML-Output und CI-Checks beim Wachstum der Site konsistent zu halten.
PAS7 Studio kann dabei helfen, daraus eine wiederholbare mehrsprachige SEO-Pipeline mit klareren Routing-Regeln, sicherer Sitemap-Validierung und weniger Hreflang-Überraschungen nach dem Deployment zu machen.
Verwandte Artikel
AI SEO / GEO im Jahr 2026: Ihre nächsten Kunden sind nicht Menschen — sondern Agents
Suche verschiebt sich von Klicks zu Antworten. Bots und AI-Agents crawlen, zitieren, empfehlen — und kaufen zunehmend. Erfahren Sie, was AI SEO / GEO bedeutet, warum klassisches SEO nicht mehr reicht und wie PAS7 Studio Marken im agentischen Web sichtbar macht.
Der leistungsstärkste Chip von Apple? M5 Pro und M5 Max brechen Rekorde
Eine Analyse zu Apple M5 Pro und M5 Max im März 2026. Wir zeigen, warum diese Chips als die stärksten professionellen Laptop-SoCs von Apple gelten können, wie sie sich gegen M4 Pro, M4 Max, M1 Pro, M1 Max schlagen und was der Vergleich mit aktuellen Intel- und AMD-Chips zeigt.
Automatisches Tagging und Suche für gespeicherte Links
Integration mit GDrive/S3/Notion für automatisches Tagging und schnelle Suche über Such-APIs
Bot-Entwicklung und Automatisierungs-Dienste
Professionelle Telegram-Bot-Entwicklung und Automatisierung von Geschäftsprozessen: Chatbots, KI-Assistenten, CRM-Integrationen und Prozessautomatisierung.
Professionelle Entwicklung für Ihr Geschäft
Wir erstellen moderne Web-Lösungen und Bots für Unternehmen. Erfahren Sie, wie wir Ihnen helfen können, Ihre Ziele zu erreichen.