Next.js CMS für Kundenwebsites
Ein Next.js CMS für Kundenwebsites, die Ihr Agent schreibt
jtakeit ist ein git-basiertes Next.js CMS für Kundenwebsites: Ihr Agent baut einen statischen Export in Ihr Repository, der Inhaber bearbeitet per Tippen auf den Text, und die Plattform betreibt Formulare, Buchungen, Hosting und Domain.
$ npx create-next-app@latest client-site --ts --app
$ cd client-site
# next.config.mjs: output 'export', basePath from SITE_URL
$ npm run build
$ ls dist
404.html _meta.json _next index.html robots.txt sitemap.xml
$ git push origin main
# then, over MCP: validate_catalogue → commit_and_build01/ was es braucht
Was ein Next.js CMS für Kundenwebsites braucht
Eine mit Next.js gebaute Kundenwebsite braucht mehr als einen Ort für Texte. Der Inhaber muss seine Texte selbst ändern können, ohne Sie anzurufen, und die Website muss trotzdem Anfragen und Buchungen annehmen und den Kunden mit seinen Daten gehen lassen.
Bearbeitung, die das Design nicht zerstört
Der Inhaber tippt auf den Text der Seite und füllt nur die Felder aus, die der Katalog deklariert. Einen Button zum Hinzufügen von Seiten oder Blöcken gibt es bewusst nicht.
Inhalte in Ihrem Repository
Die veröffentlichten Texte sind JSON in dem git-Repository, das bei Ihnen bleibt. Jedes Speichern ist ein Commit.
Anfrageformulare
Formulare sind gegen Spam geschützt, und Anfragen kommen in Telegram, per E-Mail oder im Admin-Posteingang an.
Bezahlte Buchungen
Das Buchungsmodul leitet bezahlte Buchungen direkt an das eigene Stripe-Konto des Unternehmens.
Eine Vorschau vor der Zahlung
Der Kunde gibt die echte Website in einer Vorschau frei, bevor sie live geht.
Ein Weg hinaus
Anfragen und Buchungen lassen sich als CSV und JSON exportieren. Der Export braucht nie ein aktives Abo.
02/ git oder API
Git-basiert oder ein Next.js Headless CMS?
Ein Headless CMS hält Inhalte in seiner eigenen Datenbank und liefert sie über eine API aus – gut geeignet, wenn ein Content-Team auf eine Website, eine App und mehr veröffentlicht. Eine Kundenwebsite hat einen Inhaber und eine Website, deshalb hält jtakeit ihre Texte im Repository neben dem Code.
| Ein typisches Headless CMS | jtakeit | |
|---|---|---|
| Veröffentlichte Inhalte | In der Datenbank des CMS, abgerufen über dessen API | JSON in Ihrem Repository |
| Wie der Build sie bekommt | Ein API-Aufruf aus dem Build oder vom Server | Eine Datei, die die Plattform für jeden Build zusammenstellt |
| Ein Speichern | Ein aktualisierter Datensatz | Ein Commit; Entwürfe bleiben in der Datenbank der Plattform |
| Wo der Inhaber bearbeitet | In einer separaten Admin-App | Direkt auf der Seite, per Tippen auf den Text |
| Formulare, Buchungen, Hosting | Außerhalb des CMS, separat ergänzt | Von der Plattform betrieben, mit Abrechnung, Backups und Domain |
| Die Website, wie sie im März war | Hängt von der Historie des CMS ab | Ein Befehl in git |
03/ statischer Export
Statischer Next.js-Export auf jtakeit
Die Plattform baut jede Website auf dieselbe Weise: Sie führt den Build des Projekts aus und liefert dann den Ordner aus, den der Build schreibt. Next.js passt als statischer Export – HTML, das beim Build geschrieben wird, ohne laufenden Server, wenn jemand die Seite besucht.
// next.config.mjs
const site = new URL(process.env.SITE_URL ?? 'http://localhost:3000/');
export default {
output: 'export', // static HTML, no server at request time
basePath: site.pathname.replace(/\/$/, ''), // '' live, '/p/<slug>' in preview
trailingSlash: true, // /about/index.html, not /about.html
images: { unoptimized: true },
};
// package.json — the platform runs `npm run build` and serves dist/
"scripts": { "build": "next build && rm -rf dist && cp -R out dist" }
// public/_meta.json — copied into dist/ with the rest of public/
{ "immutable": ["/_next/static/"] }// lib/jtk.ts — runs at build time, never in the browser
import { readFileSync } from 'node:fs';
const file = process.env.JTK_CONTENT_FILE;
export const published = file ? JSON.parse(readFileSync(file, 'utf8')) : null;
// data-jtk-path only when the platform asks for it
export const tap = (path: string) =>
process.env.PUBLIC_JTK_ANNOTATE ? { 'data-jtk-path': path } : {};
// app/page.tsx
<h1 {...tap('blocks[0].title')}>{hero.title}</h1>
// app/robots.ts
export const dynamic = 'force-static';
const site = process.env.SITE_URL!.replace(/\/?$/, '/');
export default function robots() {
return { rules: { userAgent: '*', allow: '/' },
sitemap: new URL('sitemap.xml', site).href };
}Bei jedem Build gesetzt
SITE_URLdie Adresse der Website: der Host für Canonical und SitemapPUBLIC_JTK_ANNOTATEwenn gesetzt, jedes Feld markieren, das der Inhaber bearbeiten darfJTK_CONTENT_FILEwo die veröffentlichten Inhalte für diesen Build zum Lesen zusammengestellt wurden
Was der Build enthalten muss
- Eine eigene Seite für jede Adresse – jede Seite in ihrem eigenen Ordner, keine lose HTML-Datei neben den anderen.
- Assets, die unter der Vorschau-Adresse funktionieren. Eine Vorschau wird unter einem eigenen Pfad ausgeliefert, deshalb kommt der Basispfad aus der Adresse der Website, die die Plattform setzt.
- Eine 404-Seite, die der statische Export für Sie schreibt.
- Eine robots.txt, die Crawler hereinlässt, und eine Sitemap auf der Adresse der Website.
- Ein Canonical auf diesem Host auf jeder Seite und nirgends ein noindex – die Plattform verweigert einen Build, der eines enthält.
- Ein Caching-Hinweis, der die gehashten Assets von Next als unveränderlich markiert, damit sie dauerhaft gecacht werden.
- Der Katalog dessen, was der Inhaber bearbeiten darf, von Hand oder mit Ihrem eigenen Tool geschrieben und von der Plattform geprüft. Formulare senden ihre Anfragen an die Plattform.
04/ von Ihrem Agenten geschrieben
Next.js – und Ihr Agent setzt die Vorgaben um
Astro ist das Scaffold, das jtakeit mitliefert. Für Next.js gibt es kein Starter-Projekt zum Klonen: Sie – oder Ihr KI-Agent, zum Beispiel Claude Code über den MCP-Server von jtakeit – richten das Projekt nach den dokumentierten Vorgaben ein, und die Plattform prüft es genauso wie jede andere Website.
| Astro-Scaffold | Statischer Next.js-Export | |
|---|---|---|
| Ausgangspunkt | Das Astro-Scaffold von jtakeit | Ihr eigenes Next.js-Projekt |
| Katalog | Generiert und geprüft vom Katalog-Tool des Scaffolds | Von Hand oder mit Ihrem eigenen Tool geschrieben |
| Formulare und Vorlagen | Enthalten | Bauen Sie selbst; Formulare senden Anfragen an die Plattform |
| Abhängigkeiten | Vorinstalliert | Von Ihrem Build installiert |
| Ein Build | Unter einer Minute | Etwa 90 Sekunden |
So funktioniert der Ablauf mit Claude Code →
Wie Bearbeitung im Astro-Scaffold deklariert wird →
05/ die Wahl
Das beste CMS für Next.js-Kundenwebsites wählen
Beginnen Sie damit, was die Website tun muss, wenn jemand sie besucht. Braucht sie zur Anfragezeit einen Server – Incremental Static Regeneration, API-Routen, Middleware, Server Actions oder pro Anfrage gerenderte Seiten –, ist jtakeit nicht das richtige Werkzeug: Es liefert ausschließlich statische Ausgabe aus, bei jedem Framework.
Lässt sich die Website vorab bauen, lautet die Frage, wer sie bearbeitet. jtakeit ist für Entwickler, deren Kunden ihre eigenen Texte ändern sollen – und sonst nichts –, ohne Sie anzurufen, und die Formulare, Buchungen, Abrechnung, Backups, Hosting und die Domain lieber nicht selbst betreiben.
Nicht auf Next.js festgelegt? Das Astro CMS für Kundenwebsites ist das mitgelieferte Scaffold und baut in unter einer Minute. Wie die git-basierte Bearbeitung mit jedem Generator funktioniert, steht auf der Seite Static CMS für Kundenwebsites.
06/ Fragen
Fragen zum Next.js CMS
- Unterstützt jtakeit Next.js?
- Ja, als statischer Export. Die Plattform führt den Build des Projekts aus und liefert den Ordner aus, den er schreibt; eine Next.js-Website passt also, wenn sie vorab als statischer Export gebaut und in diesen Ordner kopiert wird. Astro ist das Scaffold, das jtakeit mitliefert; bei Next.js richten Sie das Projekt selbst nach denselben dokumentierten Vorgaben ein.
- Kann ich den App Router verwenden?
- Der App Router kann einen statischen Export erzeugen, solange nichts auf der Website zur Anfragezeit einen Server braucht: keine Incremental Static Regeneration, keine Route Handler oder Server Actions, die pro Anfrage laufen, keine Middleware und kein Rendering, das von der Anfrage abhängt. Das ist eine Grenze des statischen Exports von Next.js selbst – prüfen Sie Ihre App anhand der Next.js-Dokumentation zum Static Export.
- Gibt es ein offizielles Next.js-Starter-Projekt?
- Nein. Es gibt kein Starter-Projekt, kein Plugin und kein SDK für Next.js. Das Scaffold von jtakeit ist Astro. Bei Next.js setzen Sie – oder Ihr KI-Agent – die dokumentierten Vorgaben um: Der Build schreibt in den Ordner, den die Plattform ausliefert, liest die veröffentlichten Texte aus einer Datei, die die Plattform vorbereitet, und der Katalog dessen, was der Inhaber bearbeiten darf, wird von Hand oder mit Ihrem eigenen Tool geschrieben und von der Plattform geprüft.
- Wie lange dauert ein Build?
- Etwa 90 Sekunden für eine Website, die nicht auf dem Astro-Scaffold basiert, weil der Build Ihre eigenen Abhängigkeiten installiert. Beim Astro-Scaffold sind die Abhängigkeiten vorinstalliert, und ein Build dauert unter einer Minute.
- Wie bearbeitet der Kunde eine Next.js-Website?
- Per Tippen auf den Text der Seite. Der Katalog der Website deklariert, welche Felder der Inhaber ausfüllen darf, und wenn die Plattform es verlangt, markieren Ihre Seiten diese Felder. Jedes Speichern ist ein Commit in Ihr Repository, und der nächste Build liest die veröffentlichten Texte aus der Datei, die die Plattform vorbereitet.
- Was kostet es?
- Registrieren, Bauen und Vorschau sind kostenlos. Sobald eine Website live geht, zahlen Sie einen Einkaufspreis pro Live-Website, monatlich oder jährlich, und berechnen Ihrem Kunden Ihren eigenen Preis – bei Next.js genauso wie bei Astro. Die Zahlen stehen auf der Preisseite.
07/ kostenlos testen
Testen Sie es an einer echten Kundenwebsite
Registrieren Sie sich im Panel und bauen Sie Ihre erste Kundenwebsite – mit dem Astro-Scaffold oder als statischen Next.js-Export. Einen Einkaufspreis zahlen Sie erst, wenn eine Website live geht.
Kostenlos testenadmin.jtakeit.com
- Kostenlos, bis eine Website live geht
- Danach ein Einkaufspreis pro Live-Website, ab €5 im Monat
- Der Code bleibt in Ihrem git-Repository