jtakeit
Prova gratis

Next.js CMS per siti di clienti

Un CMS per Next.js per siti di clienti, scritti dal tuo agente

jtakeit è un CMS per Next.js basato su git: il tuo agente genera un export statico in un repository che hai tu, il titolare modifica toccando il testo sulla pagina e la piattaforma gestisce moduli, prenotazioni, hosting e dominio.

zsh — client-site
$ 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_build
Un export statico di Next.js organizzato secondo il contratto di jtakeit: una build, nella cartella che la piattaforma serve.

01/ cosa serve

Cosa serve a un Next.js CMS per siti di clienti

Un sito cliente costruito con Next.js ha bisogno di più di un posto dove tenere i testi. Il titolare deve poter cambiare i propri testi senza chiamarti, e il sito deve comunque ricevere richieste di contatto, accettare prenotazioni e permettere al cliente di andarsene con i suoi dati.

  • Modifiche che non rompono il design

    Il titolare tocca il testo sulla pagina e compila solo i campi che il catalogo dichiara. Nessun pulsante per aggiungere pagine o blocchi, per scelta.

  • Contenuti nel tuo repository

    I testi pubblicati sono JSON nel repository git che hai tu. Ogni salvataggio è un commit.

  • Moduli di contatto

    I moduli sono protetti dallo spam, e le richieste arrivano su Telegram, via email o nella casella del pannello.

  • Prenotazioni pagate

    Il modulo prenotazioni manda le prenotazioni pagate direttamente sullo Stripe dell’attività.

  • Un’anteprima prima di pagare

    Il cliente approva il sito vero, in anteprima, prima che vada online.

  • Una via d’uscita

    Richieste e prenotazioni si esportano in CSV e JSON. L’export non richiede mai un abbonamento attivo.

02/ git o api

Basato su git, o un headless CMS per Next.js?

Un headless CMS conserva i contenuti in un proprio database e li serve tramite un’API — adatto quando un team editoriale pubblica su un sito, un’app e altro ancora. Un sito cliente ha un solo titolare e un solo sito: per questo jtakeit tiene i testi nel repository, accanto al codice.

Dove vivono i contenuti: un tipico headless CMS, descritto in termini generali, a confronto con jtakeit. I singoli prodotti differiscono — verifica quello che stai valutando.
Un tipico headless CMSjtakeit
Contenuti pubblicatiNel database del CMS, letti tramite la sua APIJSON nel tuo repository
Come li ottiene la buildUna chiamata API dalla build o dal serverUn file che la piattaforma assembla per ogni build
Un salvataggioL’aggiornamento di un recordUn commit; le bozze restano nel database della piattaforma
Dove modifica il titolareUn’app di amministrazione separataSulla pagina stessa, toccandone il testo
Moduli, prenotazioni, hostingFuori dal CMS, da aggiungere a parteGestiti dalla piattaforma, con fatturazione, backup e dominio
Il sito com’era a marzoDipende dalla cronologia del CMSUn solo comando in git

03/ export statico

Export statico di Next.js su jtakeit

La piattaforma fa la build di ogni sito allo stesso modo: esegue la build del progetto, poi serve la cartella che la build scrive. Next.js si adatta come export statico — HTML scritto al momento della build, senza nessun server in esecuzione quando qualcuno visita il sito.

next.config.mjs · package.json · public/_meta.json
// 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/"] }
Un export statico scrive di default in una sua cartella, quindi lo script di build la copia in quella che la piattaforma serve.
lib/jtk.ts · app/page.tsx · app/robots.ts
// 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 };
}
Leggi i testi pubblicati al momento della build; aggiungi le annotazioni solo quando la piattaforma lo chiede.

Impostate a ogni build

  • SITE_URLl’indirizzo del sito: l’host per il canonical e la sitemap
  • PUBLIC_JTK_ANNOTATEse impostata, segna ogni campo che il titolare può modificare
  • JTK_CONTENT_FILEdove sono stati assemblati i contenuti pubblicati che questa build deve leggere

Cosa deve contenere la build

  • Una pagina propria per ogni indirizzo — ogni pagina nella sua cartella, non un file HTML sciolto accanto agli altri.
  • Asset che funzionano all’indirizzo dell’anteprima. Un’anteprima è servita sotto un percorso tutto suo, quindi il percorso di base si ricava dall’indirizzo del sito impostato dalla piattaforma.
  • Una pagina 404, che l’export statico scrive per te.
  • Un robots.txt che lascia entrare i crawler, e una sitemap sull’indirizzo del sito.
  • Un canonical su quell’host in ogni pagina, e nessun noindex da nessuna parte — la piattaforma rifiuta una build che ne contiene uno.
  • Una nota sulla cache che segna gli asset con hash di Next come immutabili, così restano in cache per sempre.
  • Il catalogo di ciò che il titolare può modificare, scritto a mano o con un tuo strumento e verificato dalla piattaforma. I moduli inviano le richieste alla piattaforma.

04/ scritto dal tuo agente

Next.js, con il tuo agente che imposta il contratto

Astro è lo scaffold che jtakeit fornisce. Su Next.js non c’è uno starter da clonare: tu — o il tuo agente AI, per esempio Claude Code tramite il server MCP di jtakeit — organizzi il progetto secondo il contratto documentato, e la piattaforma lo verifica come verifica qualsiasi altro sito.

Scaffold AstroExport statico Next.js
Punto di partenzaLo scaffold Astro di jtakeitIl tuo progetto Next.js
CatalogoGenerato e verificato dallo strumento del catalogo dello scaffoldScritto a mano o con un tuo strumento
Moduli e specimenInclusiDa costruire tu; i moduli inviano le richieste alla piattaforma
DipendenzePreinstallateInstallate dalla tua build
Una buildMeno di un minutoCirca 90 secondi

Come funziona il flusso con Claude Code →
Come si dichiarano le modifiche sullo scaffold Astro →

05/ scegliere

Scegliere il miglior CMS per siti Next.js di clienti

Parti da ciò che il sito deve fare quando qualcuno lo visita. Se ha bisogno del server al momento della richiesta — incremental static regeneration, API route, middleware, server action o pagine renderizzate a ogni richiesta — jtakeit non è lo strumento giusto: serve solo output statico, con qualsiasi framework.

Se il sito si può generare in anticipo, la domanda diventa chi lo modifica. jtakeit è per sviluppatori i cui clienti devono poter cambiare i propri testi — e nient’altro — senza chiamarti, e che preferiscono non gestire da soli moduli, prenotazioni, fatturazione, backup, hosting e dominio.

Non sei legato a Next.js? L’Astro CMS per siti di clienti è lo scaffold fornito e fa la build in meno di un minuto. Come funziona la modifica basata su git con qualsiasi generatore è spiegato nella pagina sul CMS statico per siti di clienti.

06/ domande

Domande sul Next.js CMS

jtakeit supporta Next.js?
Sì, come export statico. La piattaforma esegue la build del progetto e serve la cartella che la build scrive, quindi un sito Next.js funziona se viene generato in anticipo come export statico e copiato in quella cartella. Astro è lo scaffold che jtakeit fornisce; su Next.js organizzi tu il progetto secondo lo stesso contratto documentato.
Posso usare l’App Router?
L’App Router può produrre un export statico purché nulla nel sito abbia bisogno di un server al momento della richiesta: niente incremental static regeneration, niente route handler o server action eseguiti a ogni richiesta, niente middleware e nessun rendering che dipenda dalla richiesta. È un limite dello static export di Next.js stesso, quindi verifica la tua app con la documentazione di Next.js sullo static export.
Esiste uno starter ufficiale per Next.js?
No. Non esiste uno starter, un plugin o un SDK per Next.js. Lo scaffold che jtakeit fornisce è Astro. Su Next.js sei tu — o il tuo agente AI — a impostare il contratto documentato: la build scrive nella cartella che la piattaforma serve, legge i testi pubblicati da un file che la piattaforma prepara, e il catalogo di ciò che il titolare può modificare si scrive a mano o con un tuo strumento e viene verificato dalla piattaforma.
Quanto dura una build?
Circa 90 secondi per un sito che non usa lo scaffold Astro, perché la build installa le tue dipendenze. Lo scaffold Astro ha le dipendenze preinstallate e fa la build in meno di un minuto.
Come modifica il cliente un sito Next.js?
Toccando il testo sulla pagina. Il catalogo del sito dichiara quali campi può compilare il titolare, e quando la piattaforma lo richiede, le tue pagine segnano quei campi. Ogni salvataggio è un commit nel tuo repository, e la build successiva legge i testi pubblicati dal file che la piattaforma prepara.
Quanto costa?
Registrarsi, realizzare il sito e vederlo in anteprima è gratis. Quando un sito va online paghi un prezzo all’ingrosso per sito online, mensile o annuale, e al tuo cliente fai pagare il tuo prezzo — su Next.js come su Astro. Le cifre sono nella pagina dei prezzi.

07/ prova gratis

Provalo su un vero sito cliente

Registrati nel pannello e realizza il tuo primo sito cliente — sullo scaffold Astro o come export statico di Next.js. Paghi un prezzo all’ingrosso solo quando un sito va online.

Prova gratisadmin.jtakeit.com

  • Gratis finché un sito non va online
  • Poi un prezzo all’ingrosso per sito online, da €5 al mese
  • Il codice resta nel tuo repository git