# Next.js vs Vite for a marketing site: the HTML is the criterion

Next.js when every page must be HTML before JavaScript; Vite when the site is one page and the build stays fast. Numbers and a test.

> Page: https://ui.eneawork.it/blog/nextjs-vs-vite-sito-marketing
> Markdown: https://ui.eneawork.it/blog/nextjs-vs-vite-sito-marketing.md

*2026-11-01*

Per un sito marketing Next.js conviene quando le pagine devono esistere come HTML prima che il browser esegua JavaScript; Vite conviene quando il sito è una pagina sola con poche rotte e il build deve restare veloce. Il criterio è quante pagine devono essere indicizzabili, non quale framework è più moderno.

Il volume delle domande descrive la complessità che ciascuno strumento porta con sé: al 1 novembre 2026 il tag `next.js` conta 41.492 domande su Stack Overflow e `vite` 6.809, sei volte meno. Il catalogo EneUI conta 1.556 blocchi pronti: 1.459 dichiarano «see source» come licenza e 97 dichiarano MIT.

## Cosa deve fare un sito marketing

Il 1 novembre 2026 la Stack Exchange API, interrogata con `/2.3/tags/next.js;vite/info`, riporta 41.492 domande con tag `next.js` e 6.809 con `vite`. Lo stesso giorno `/api/stats` conta 111.985 componenti, 1.556 blocchi e 1.472 librerie; i blocchi sono stati letti da `data/blocks.json`, che dichiara 1.459 record con licenza «see source» e 97 con licenza MIT.

## Le rotte che decidono

## Dove Next.js paga il conto

Next.js aggiunge un server, una cache e il confine tra server component e client component. Sono tre concetti che il team deve conoscere, e sono la ragione per cui il tag `next.js` ha 41.492 domande: la maggior parte degli errori nasce da quel confine, non dal CSS.

Se il sito è una landing con un form, quel costo non produce nulla. Se invece hai dieci pagine prodotto e un blog, la generazione statica per rotta e la gestione dei metadati si ripagano nella prima settimana.

## Dove Vite paga il conto

Vite produce un bundle e un `index.html` con un contenitore vuoto. Il contenuto arriva dopo l’esecuzione del JavaScript, quindi crawler lenti e anteprime social vedono una pagina senza testo. La soluzione è un passo di prerender, che va configurato e mantenuto.

## Il test in mezz’ora

# il sito marketing minimo con Vite npm create vite@latest sito-marketing -- --template react-ts cd sito-marketing && npm install && npm run build # quello che il crawler riceve davvero node -e "console.log(require('fs').readFileSync('dist/index.html','utf8').length)"

Se il numero è sotto i duemila byte, l’HTML contiene solo lo scheletro: il testo della landing è nel bundle. Lo stesso controllo su Next.js mostra l’HTML della pagina, perché è stato generato prima della richiesta.

## Il limite da mettere per iscritto

Limite dichiarato di Vite: non è un meta-framework. Non ha routing, generazione statica per rotta né rendering sul server: chi ha bisogno di HTML per ogni URL aggiunge un plugin o cambia strumento. Per un sito marketing con una sola pagina il limite non si vede; con dieci pagine indicizzabili diventa il costo principale.

## Licenze e costi

Next.js è MIT e Vite è MIT, quindi la licenza non decide. Decide l’hosting: file statici costano meno di un runtime Node che deve restare acceso. I blocchi copiati sono un secondo controllo: 1.459 dei 1.556 dichiarano «see source», quindi la licenza va verificata record per record prima di pubblicare.

Le hero si cercano in /blocks/category/hero, le sezioni prezzi in /blocks/category/pricing e i componenti di pagina in /components/cat/hero. Per il routing e i confini del framework leggi la struttura di Next.js App Router, per capire cosa deve contenere la pagina a cosa serve un sito web; il confronto tra basi possibili è in WordPress, Wix o componenti React.

## FAQ

### Next.js è obbligatorio per un sito marketing?

No. Serve quando le pagine devono essere HTML prima del JavaScript. Un sito a pagina singola funziona con Vite e un passo di prerender.

### Vite può generare HTML statico per ogni rotta?

Sì, con un plugin di prerender o un meta-framework costruito sopra Vite. Non fa parte della configurazione base.

### Quale dei due è più veloce in sviluppo?

Vite avvia più in fretta un progetto piccolo. Next.js aggiunge compilazione del server, cache e confine tra componenti.

### Next.js costa di più?

Dipende dall’hosting: un runtime Node costa più di file statici. Il codice è MIT in entrambi i casi.

### Posso passare da Vite a Next.js dopo?

Sì, se le rotte sono poche e i componenti non dipendono dal router. Il costo è nel routing e nel caricamento dei dati.
