Nuxt.js
Was ist Nuxt.js?
Nuxt.js ist ein auf Vue basierendes Open-Source-Framework für Webanwendungen. Es ergänzt Vue um Dateirouting, serverseitiges Rendering, statische Seitengenerierung, Datenabrufe und eine Server-Engine. Dadurch eignet sich Nuxt.js besonders für Websites, Portale, Headless-CMS-Projekte und Shops, deren Inhalte schnell, strukturiert und suchmaschinenfreundlich ausgeliefert werden sollen.
Nuxt.js, häufig kurz Nuxt genannt, erweitert Vue um eine feste Anwendungsstruktur und Funktionen, die Entwickler sonst einzeln konfigurieren müssten. Dazu gehören das Routing zwischen URLs, die Steuerung von Meta-Daten, verschiedene Rendering-Verfahren und serverseitige Schnittstellen. Vue bleibt dabei die Grundlage für Komponenten, Zustände und Interaktionen.
Wie funktioniert Nuxt.js?
Nuxt.js erzeugt Routen anhand der Dateien im Verzeichnis pages. Eine Datei wie pages/produkte.vue wird dadurch zur URL /produkte. Dynamische Dateinamen ermöglichen URLs für Kategorien, Produkte oder redaktionelle Beiträge. Diese Konvention reduziert manuelle Router-Konfigurationen und sorgt für eine nachvollziehbare Verbindung zwischen Projektstruktur und Website-Architektur.
Die Server-Engine Nitro verarbeitet serverseitige Routen, API-Endpunkte und verschiedene Bereitstellungsziele. Eine Anwendung kann auf einem Node.js-Server, in einer Serverless-Umgebung, auf Edge-Infrastruktur oder als vorab erzeugte statische Website bereitgestellt werden. Welche Variante passt, hängt davon ab, wie häufig Inhalte wechseln und ob eine Seite bei jedem Aufruf individuelle Daten benötigt.
Rendering mit Nuxt.js
| Verfahren | Erzeugung des HTML | Geeigneter Einsatz |
|---|---|---|
| Server-Side-Rendering | Bei der Anfrage auf dem Server | Dynamische Websites, Portale und Shops |
| Static Site Generation | Beim Build vor der Veröffentlichung | Dokumentationen, Landingpages und redaktionelle Inhalte |
| Client-Side-Rendering | Im Browser des Nutzers | Interne Anwendungen und stark interaktive Bereiche |
| Hybrides Rendering | Je nach Route statisch oder serverseitig | Große Websites mit unterschiedlichen Seitentypen |
Hybrides Rendering erlaubt eine getrennte Behandlung einzelner URL-Gruppen. Ein Ratgeber kann statisch erzeugt werden, während Produktpreise oder Verfügbarkeiten bei jeder Anfrage vom Server kommen. Die Auswahl sollte deshalb pro Seitentyp erfolgen und nicht pauschal für die gesamte Domain.
Nuxt.js im CMS- und Shop-Kontext 2026
Nuxt.js ist weder ein Content-Management-System noch ein Shopsystem. Das Framework übernimmt in einem Headless-Aufbau das Frontend, während Inhalte, Produkte, Preise oder Bestellungen aus einem separaten Backend über eine API kommen. Redakteure arbeiten weiterhin im CMS, Händler verwalten ihr Sortiment weiterhin im Commerce-System.
Ein Headless-CMS mit Nuxt.js trennt Inhaltsverwaltung und Darstellung. Ein Beitrag wird im CMS gespeichert, über REST oder GraphQL abgerufen und anschließend durch Nuxt.js als HTML-Seite ausgegeben. Diese Architektur ermöglicht ein individuelles Frontend, verlangt aber klare Prozesse für Vorschauen, Veröffentlichungen, Weiterleitungen und die Aktualisierung zwischengespeicherter Seiten.
Bei einem Headless-Shop verarbeitet das Commerce-Backend Warenkorb, Preise, Kundenkonten und Bestellungen. Nuxt.js stellt Kategorien, Produktseiten und den Kaufprozess dar. Für umfangreiche Sortimente müssen Produktvarianten, Filter-URLs, Canonical-Tags und nicht verfügbare Artikel bereits in der technischen Konzeption berücksichtigt werden. Weitere Anforderungen erklärt die Übersicht zu SEO für Onlineshops.
Warum Nuxt.js für SEO geeignet ist
Nuxt.js kann den vollständigen Hauptinhalt einer Seite bereits in der ersten HTML-Antwort ausliefern. Suchmaschinen müssen dann nicht erst JavaScript ausführen, um Überschriften, Texte und interne Links zu erkennen. Das erleichtert Crawling und Indexierung, garantiert aber weder eine Aufnahme in den Index noch ein bestimmtes Ranking.
Meta-Daten lassen sich in Nuxt.js unter anderem mit useSeoMeta und useHead definieren. Jede indexierbare URL benötigt einen eindeutigen Title, eine passende Meta-Description und bei mehreren URL-Versionen eine konsistente Canonical-Angabe. Dynamische Produkt- oder Beitragsseiten müssen diese Werte aus ihren jeweiligen Datensätzen beziehen.
Der verbreitete Denkfehler lautet, dass Server-Side-Rendering eine Nuxt.js-Seite automatisch suchmaschinenoptimiert macht. Der Server kann auch leere Inhalte, falsche Statuscodes oder widersprüchliche Canonical-Tags ausgeben. Eine nicht gefundene Produktseite darf beispielsweise nicht mit HTTP-Status 200 antworten, wenn fachlich eine 404-Seite vorliegt. Prüfe deshalb immer den ausgelieferten HTML-Code und den tatsächlichen HTTP-Status.
Technische SEO-Prüfung
Messbar ist die technische Qualität einer Nuxt.js-Website durch einen Crawl aller erreichbaren URLs, die Kontrolle der gerenderten HTML-Antworten und die Auswertung der Indexierung. Prüfe dabei insbesondere Statuscodes, Canonicals, robots-Anweisungen, XML-Sitemaps, interne Links und strukturierte Daten. Ein technisches SEO-Audit sollte außerdem vergleichen, ob Browser und Server denselben zentralen Inhalt anzeigen.
Ein kostenloser Check liefert einen ersten Überblick über technische Auffälligkeiten, Meta-Daten und erreichbare Unterseiten:
Ladezeit und Hydration
Nach der serverseitigen HTML-Ausgabe lädt Nuxt.js das benötigte JavaScript und verbindet es mit der sichtbaren Seite. Dieser Vorgang heißt Hydration. Unterscheiden sich Server-Ausgabe und Browser-Zustand, können Hydration-Fehler entstehen. Typische Ursachen sind zufällige Werte, Zeitangaben oder browserabhängige Bedingungen, die auf Server und Client verschiedene Ergebnisse erzeugen.
Server-Side-Rendering verbessert die Ladezeit nicht automatisch. Große JavaScript-Bundles, unkomprimierte Bilder, Webfonts und Drittanbieter-Skripte können den Largest Contentful Paint und die Reaktionsgeschwindigkeit weiterhin belasten. Prüfe deshalb, welche Komponenten tatsächlich clientseitige Interaktivität benötigen, und lade schwere Funktionen erst bei Bedarf.
Mit dem kostenlosen Ladezeiten-Check lassen sich zentrale Performance-Werte einer veröffentlichten Nuxt.js-Seite untersuchen. Für belastbare Ergebnisse sollten Startseite, Kategorie, Produktseite und redaktioneller Inhalt getrennt getestet werden, da jeder Seitentyp andere Daten und Komponenten lädt.
Nuxt.js, Vue und Next.js
Der Unterschied zwischen Nuxt.js und Vue liegt im Umfang. Vue stellt das Komponentenmodell und die reaktive Benutzeroberfläche bereit. Nuxt.js ergänzt diese Basis um Routing, Rendering, Serverfunktionen, Datenabrufe und Projektkonventionen. Eine kleine eingebettete Oberfläche kann direkt mit Vue umgesetzt werden, während eine vollständige Website meist von der Nuxt.js-Struktur profitiert.
Der Unterschied zwischen Nuxt.js und Next.js liegt vor allem im zugrunde liegenden Frontend-Ökosystem. Nuxt.js basiert auf Vue, Next.js auf React. Beide Frameworks unterstützen serverseitiges, statisches und hybrides Rendering. Die Auswahl sollte sich an vorhandenen Entwicklerkenntnissen, benötigten Integrationen und der langfristigen Wartbarkeit orientieren.
Nuxt.js für GEO und SEA
Für GEO, also Generative Engine Optimization, kann Nuxt.js verständliche HTML-Inhalte, strukturierte Daten und stabile URLs bereitstellen. KI-Systeme erhalten dadurch klar zuordenbare Informationen über Unternehmen, Produkte und Themen. Eine technisch erreichbare Seite erhöht jedoch nicht automatisch die Wahrscheinlichkeit einer Nennung, weil auch Inhaltstiefe, Quellenvertrauen und externe Bestätigung zählen.
Bei SEA beeinflusst Nuxt.js vor allem die Qualität der Landingpage. Schnelle Serverantworten, ein stabiler sichtbarer Seiteninhalt und eine fehlerfreie Weitergabe von Kampagnenparametern unterstützen die Messung von Conversions. Tracking-Skripte und Consent-Logik müssen nach der Navigation weiterhin korrekt ausgelöst werden, besonders wenn Seitenwechsel ohne vollständiges Neuladen stattfinden.
Nuxt.js sauber einführen
Vor der Entwicklung sollten Seitentypen, Datenquellen und Rendering-Verfahren dokumentiert werden. Für jede Vorlage ist festzulegen, wo Title, Canonical, strukturierte Daten, Statuscode und interne Links erzeugt werden. Bei einem Relaunch gehören außerdem bestehende URLs und ihre Weiterleitungen in den technischen Plan. Die SEO-Checkliste für den Website-Relaunch zeigt, welche Kontrollen vor und nach dem Livegang erforderlich sind.
Wenn du ein Nuxt.js-Projekt technisch und inhaltlich bewerten lassen möchtest, kann ein Potenzialcheck die wichtigsten URL-Typen, Rendering-Probleme und SEO-Anforderungen einordnen.
Häufige Fragen zu Nuxt.js
Wofür wird Nuxt.js verwendet?
Nuxt.js wird für Websites, Portale, Webanwendungen, Headless-CMS-Frontends und Shop-Oberflächen eingesetzt. Das Framework eignet sich besonders, wenn Vue mit serverseitigem, statischem oder hybridem Rendering kombiniert werden soll.
Ist Nuxt.js ein CMS?
Nuxt.js ist kein CMS. Das Framework stellt die Website dar und kann Inhalte über eine API aus einem Headless-CMS abrufen. Redaktion, Medienverwaltung und Freigaben bleiben Aufgaben des angebundenen CMS.
Braucht man für Nuxt.js einen Server?
Ein Server ist erforderlich, wenn Seiten bei einer Anfrage dynamisch erzeugt oder serverseitige API-Routen genutzt werden. Eine vollständig statisch generierte Nuxt.js-Website kann dagegen auf statischem Hosting oder über ein CDN veröffentlicht werden.
Ist Nuxt.js für Onlineshops geeignet?
Nuxt.js kann das Frontend eines Headless-Shops bilden. Produktdaten, Preise, Warenkorb und Bestellungen stammen dabei aus einem separaten Commerce-Backend. Für große Sortimente müssen Caching, Filter-URLs und Varianten technisch geplant werden.
Kann Google Nuxt.js-Seiten indexieren?
Google kann Nuxt.js-Seiten indexieren, wenn die URLs erreichbar sind und indexierbare Inhalte liefern. Serverseitig oder statisch erzeugtes HTML erleichtert die Verarbeitung. Robots-Anweisungen, Canonicals, Statuscodes und interne Links müssen trotzdem korrekt sein.
Welche Programmiersprache nutzt Nuxt.js?
Nuxt.js wird mit JavaScript oder TypeScript entwickelt und basiert auf Vue. Komponenten kombinieren üblicherweise Template, Programmlogik und Styles. TypeScript ist optional, erleichtert aber bei größeren Projekten die Prüfung von Datentypen und Schnittstellen.
Sie haben noch Fragen?







