Warum sehen v0-Websites alle aus wie Standard-shadcn/ui?
v0 ist das KI-Tool von Vercel, das Weboberflächen generiert, und was herauskommt, ist meist React für Next.js, gestylt mit Tailwind und aus shadcn/ui-Komponenten gebaut. Das sind gute Voreinstellungen, und es sind die Voreinstellungen von allen. Eine v0-Landingpage, die so bleibt, wie sie generiert wurde, teilt deshalb Eckenradius, Farbpalette, Abstände und Abschnittsreihenfolge mit sehr vielen anderen, und ihr Text landet bei der durchschnittlichen SaaS-Stimme. Der Look steckt im Theme und im Prompt. IntentGrid kümmert sich um die Worte: Es schreibt sie für jeden Besucher neu und lässt die Komponenten in Ruhe.
Zuletzt aktualisiert am 2. Oktober 2026.
Woher der v0-Look kommt
Die Gleichheit ist kein Bug von v0. Sie ist das, was herauskommt, wenn eine sehr gute Komponentenbibliothek mit unveränderten Einstellungen benutzt wird.
- shadcn/ui als Basis. Die Komponenten werden in dein Projekt kopiert und über eine kleine Menge CSS-Variablen gestylt: Hintergrund, Vordergrund, Primärfarbe, gedämpfte Töne, Rahmen und Radius. Bleiben die auf ihren Standardwerten, bekommt jedes Projekt dieselbe neutrale Palette und dieselben Ecken.
- Die Standardskala von Tailwind. Abstände, Schriftgrößen und Schatten kommen in jedem Projekt aus derselben Skala, also wirken selbst eigene Abschnitte vertraut.
- Ein Briefing in Komponentenform. v0 ist sehr gut bei „ein Preisabschnitt mit drei Stufen“ und „ein Hero mit Handlungsaufforderung“, also werden Seiten aus genau diesen Blöcken zusammengesetzt, in der Reihenfolge, in der man danach fragt.
- Text als Platzhalter. Generierter Text soll zeigen, dass das Layout funktioniert. „Alles, was du zum Skalieren brauchst“ ist Füllmaterial, und es geht öfter live, als irgendwer vorhat.
Nichts davon ist schwer rückgängig zu machen. Das meiste steckt in einer CSS-Datei und einem Absatz Prompt.
Was IntentGrid auf einer v0-Seite ändert und was es lässt
IntentGrid schreibt den Text neu, den ein Besucher liest: Überschriften, Fließtext, Feature-Beschreibungen und Button-Beschriftungen, geschrieben dafür, wie diese Person gekommen ist (Traffic-Quelle, Kampagne, ungefähre Stadt, Gerät, Sprache, Ortszeit). Es geht von dem Text aus, der schon auf deiner Seite steht, und Markennamen, Preise, Daten und Zahlen stehen auf einer Nicht-anfassen-Liste.
Deine shadcn/ui-Komponenten, deine Theme-Variablen, deine Tailwind-Klassen und dein Layout lässt es genau so, wie sie sind. Dein v0-Projekt fasst es nicht an, und Standard-Styling lässt es nicht individuell aussehen: Das ist eine Theme-Änderung, und um die geht es weiter unten.
Der funktionierende Teil ist heute eine Demo, die eine neu geschriebene Kopie jeder öffentlichen URL in einer Sandbox auf intentgrid.ai rendert; die Anpassung auf deiner eigenen Domain ist Early Access und wird pro Seite von Hand eingerichtet. So funktioniert es erklärt den Unterschied.
Was die Demo von einer v0-Seite lesen kann
Ein v0-Projekt, das als Next.js-App deployt ist, rendert seine Seiten auf dem Server oder beim Build, und das gilt auch für Komponenten, die als Client-Komponenten markiert sind. Der Text steht also in der HTML-Antwort, und die Demo kann ihn neu schreiben. Füg die öffentliche URL der deployten Seite ein, nicht einen Link zum v0-Chat oder -Editor.
Die Ausnahmen sind dieselben wie in jeder React-App: Text, der im Browser nach dem Laden der Seite geholt wird, und Inhalte, die erst nach einem Klick gerendert werden, etwa ein ungeöffneter Tab, ein geschlossener Dialog oder eine spätere Karussell-Folie. Die Demo entfernt Scripts, sie sieht die Seite also so, wie sie zuerst ankommt.
Ein Vorher-Nachher zur Illustration
- Standard, für alle gleich
- Alles, was du für bessere Meetings brauchst
- Kam aus einem Newsletter über Remote-Arbeit, am Laptop, am Vormittag
- Notizen und Aufgaben aus jedem Call, ohne dass jemand mitschreiben muss
- Hat auf eine Suchanzeige für „Meeting-Transkription“ geklickt
- Ein Transkript jedes Meetings, die Aufgaben schon herausgezogen
Gleiche Komponenten, gleiche Preise, gleiche Aussagen. Jede Version nutzt nur, was die Originalseite ohnehin sagt: in diesem erfundenen Fall automatische Notizen, Transkripte und herausgezogene Aufgaben.
Was du in v0 und im Code reparieren kannst
Das meiste am v0-Look hängt an ein paar Dateien und einer Gewohnheit.
- Ändere die Theme-Variablen. Wähl deine eigene Primärfarbe, deinen Hintergrund, Rahmen und Radius in den CSS-Variablen, die shadcn/ui liest. Das ist die größte sichtbare Änderung für den kleinsten Eingriff.
- Ersetze die Standardschrift. Ein Import und eine Variable, und die Seite liest sich nicht mehr wie ein Starter.
- Bitte v0 um einen Abschnitt, der kein Kartenraster ist: ein einzelner großer Produkt-Screenshot, eine Vergleichsliste, ein Zitat eines echten Nutzers. Ein ungewöhnlicher Abschnitt lässt den Rest bewusst gewählt wirken.
- Gib dem Prompt einen Leser statt einer Komponentenliste. Sag, für wen die Seite ist und wovon diese Leute wechseln, und bitte um Text, der genau das benennt.
- Lösch das Füllmaterial. Durchsuch die Seite nach „alles, was du brauchst“, „nahtlos“, „leistungsstark“ und „skalierbar“, und schreib jeden Satz neu, in dem eins davon vorkommt.
Warum sich die Voreinstellungen über alle KI-Tools hinweg angleichen, und die übrigen Design-Lösungen, findest du unter warum vibe-gecodete Websites gleich aussehen.
Fragen zu v0
Kann die IntentGrid-Demo meine v0-Seite lesen?
Füg die URL der deployten, öffentlichen Seite ein. Die Demo holt Seiten so, wie ein anonymer Browser es tun würde, also ist alles außer Reichweite, was hinter einem Login liegt oder nur in einem Editor sichtbar ist. Eine deployte Next.js-Seite aus v0 hat ihren Text normalerweise im HTML, und genau das braucht die Demo.
Stylt IntentGrid meine shadcn/ui-Komponenten um?
Nein. Es ändert nur Text. Komponenten, Theme-Variablen, Tailwind-Klassen, Layout und Preise bleiben, wie sie sind. In der Demo legt es einen Willkommensstreifen, ein personalisiertes Overlay, eine Hervorhebung auf der Überschrift und ein kleines IntentGrid-Abzeichen über die Seite.
Ist eine v0-Seite schlecht fürs SEO?
Nicht von sich aus. Eine deployte Next.js-Seite liefert echtes HTML aus und kann pro Seite einen Titel und eine Beschreibung setzen. Was schadet, ist dasselbe wie überall: dünner, generischer Text, der zu tausend anderen Seiten passt, fehlende Metadaten und eine einzige Seite, die jede Frage beantworten will. IntentGrid ist kein SEO-Tool, und die Anpassung auf der eigenen Domain ist so gebaut, dass Crawler deine kanonische Seite bekommen.