ElementNode
Documentazione

Documentazione

Tutto quello che serve per installare, configurare e personalizzare Element Node.

Setup con un prompt

Hai Claude Code (o un altro coding agent)? Compila i campi qui sotto: il prompt si scrive da solo, già finito — copi, incolli, e l'agente fa tutto, dominio e database compresi.

1
ServerDove installare il CMS
2
ProgettoCosa deve costruire l’agente
3
ContenutiLingue, form e SEO
Il tuo promptSi aggiorna mentre scrivi
Da compilare: SSH, dominio, URL del sito, lingue, email form
claude code
Installa Element Node sul mio server e costruiscimi un sito, end-to-end.

SERVER
- SSH: <utente@host> (sudo ok) — qualsiasi Linux
- Rileva tu cosa c'è (Plesk, nginx, Apache, Docker, VPS nudo) e agisci di
  conseguenza: crea/configura ciò che serve — dominio o vhost, database
  MySQL/MariaDB, Node.js 20+, reverse proxy e SSL
- Dominio: <miosito.com> — se il DNS non lo gestisci tu, dimmi che record A
  serve e lo punto io
- Installa il CMS dal repo: https://github.com/LorenzArtik/element-node
  (install.sh è non-interattivo esportando DB_NAME, DB_USER, DB_PASS,
  SITE_URL; per Plesk c'è la guida dedicata PLESK_DEPLOY.md)

SKILL (sul mio computer)
- bash <(curl -fsSL https://elementnode.cloud/install-skill.sh)
- Crea l'utente admin e una API key (scope site.import + site.export)

PROGETTO — RESTYLE del sito attuale: <https://sito-attuale.com>
- Testi, immagini e contenuti: replica fedele, parola per parola
- Design: ammodernato — palette estratta dal logo, sezioni ariose,
  mobile impeccabile; confronta visivamente col sito originale

CONTENUTI
- Lingue: <principale + eventuali altre; le aggiuntive vivono sotto /xx>
- Form contatti → invia a: <email> (configura SMTP o Brevo)
- SEO: genera title e description per ogni pagina, nella lingua giusta

CONSEGNA
- Sito in modalità password finché non approvo
- Report finale: URL, password del sito, credenziali admin, cosa hai fatto

Quickstart

Installa il CMS in 5 minuti, in locale o su Plesk.

Element Node è un'app Next.js con database MySQL: gira ovunque giri Node 20+. L'installer guidato fa tutto — dipendenze, database, primo utente admin — ma anche l'installazione manuale sono cinque comandi.

Al primo login trovi un sito di esempio già popolato: puoi esplorare l'editor su contenuti veri e cancellarli quando parti col tuo progetto.

  • Requisiti: Node 20+, MySQL/MariaDB, 1 GB di RAM
  • L'AI è opzionale: senza API key Anthropic il CMS funziona in tutto, semplicemente senza assistente
  • Su Plesk usa la sezione "Deploy su Plesk" qui sotto per Passenger e build standalone

Aggiornamenti 1-click

Update dal pannello con backup automatico del database e fail-safe.

Con una licenza attiva il CMS controlla da solo le nuove versioni e le segnala nel pannello (Impostazioni → API). L'aggiornamento parte con un clic e gira in background: puoi seguire ogni passo dal pannello, col log completo.

Prima di toccare qualsiasi cosa viene salvato un backup compresso del database (teniamo le ultime 3 copie in tmp/). La versione in esecuzione resta attiva finché la nuova build non è completata: se qualcosa fallisce, il sito continua a girare sulla versione precedente.

  • Upload, .env e file di deploy non vengono mai toccati dall'updater
  • Lo schema del database viene migrato automaticamente, senza cancellazioni distruttive
  • A fine aggiornamento il pannello si ricarica da solo sulla nuova versione

Cookie banner e privacy

Consenso GDPR nativo con embed click-to-load. Impostazioni → Privacy.

Il banner cookie è integrato nel CMS: si attiva da Impostazioni → Privacy, eredita i colori del tema (con override opzionali) e supporta testi per lingua — sotto /en compaiono automaticamente le varianti inglesi.

I contenuti di terze parti (mappe, video, iframe) possono essere vincolati al consenso: il widget HTML ha l'opzione "richiedi consenso" che mostra un placeholder con pulsante di caricamento finché il visitatore non accetta. Nessuna richiesta esterna prima del sì.

  • Scelta ricordata sul dispositivo, revocabile in ogni momento
  • Link separati a privacy policy e cookie policy
  • Nessuno script esterno: il banner è parte del rendering del sito

Accesso al sito

Password, coming soon o manutenzione, con noindex automatico.

In Impostazioni → Sito scegli la modalità di accesso: Pubblico, Protetto da password o Manutenzione. In password il visitatore trova una schermata di sblocco personalizzabile e naviga tutto il sito dopo l'inserimento; in manutenzione solo gli admin loggati vedono il sito reale.

Quando il sito non è pubblico il CMS serve automaticamente robots.txt bloccante e meta noindex: niente indicizzazione accidentale dello staging. Lo sblocco è verificato lato server con un cookie firmato che dura 7 giorni.

Form e richieste

Ogni form ha un archivio invii; email via SMTP o Brevo.

I form disegnati nell'editor diventano automaticamente entità gestite: nel pannello Form vedi ogni modulo del sito con il suo archivio di richieste — mittente, campi, data, pagina di provenienza. L'invio viene salvato prima di spedire l'email, quindi non si perde mai.

Il provider email si configura nelle integrazioni: SMTP classico o Brevo. Ogni form supporta il checkbox di consenso privacy con link all'informativa e ha un honeypot antispam invisibile che scarta i bot senza CAPTCHA.

Multilingua

Header e footer per lingua con le condizioni di visualizzazione.

Le pagine di ogni lingua vivono sotto un prefisso (es. /en) e i blocchi tema usano le condizioni di visualizzazione: crei l'header inglese, gli assegni la condizione "prefisso URL /en" con priorità più alta, e il CMS sceglie da solo il blocco giusto per ogni pagina.

Lo stesso meccanismo funziona per pagina, homepage, ruolo o dispositivo. Non c'è un plugin traduzioni: è il motore di rendering standard con una condizione in più, quindi niente che possa rompersi con gli aggiornamenti.

Layout e responsive

Colonne che si impilano da sole sotto i 768px, con opt-out per colonna.

Il comportamento responsive vive nel motore di rendering: sotto i 768px le colonne si impilano nell'ordine di disposizione, i titoli scalano fluidi e le sezioni adattano il padding. Un sito costruito per desktop è già leggibile su telefono senza configurare nulla.

  • Larghezza mobile personalizzata per colonna (es. griglie che restano 2×2)
  • Nascondi su mobile / nascondi su desktop per singola colonna
  • Le immagini non escono mai dal contenitore

Widget API

51 widget nativi; definisci i tuoi in TypeScript con schema e default.

Il catalogo conta 51 widget — 33 tra base e tema, più 18 Pro — tutti descritti da uno schema TypeScript: campi, default, categorie. L'editor genera i pannelli proprietà dallo schema, e il renderer unico li disegna identici in editor e sito pubblico.

Aggiungere un widget significa dichiarare lo schema e scrivere la funzione di rendering: nessun markup duplicato tra editor e frontend.

typescript
// widgets-schema.ts (estratto)
counter: {
  label: 'Counter',
  category: 'pro',
  fields: {
    end: { type: 'number', default: 100 },
    suffix: { type: 'text', default: '+' },
    accentColor: { type: 'color', default: '' },
  },
}

Editor e pagine

Crea, pubblica, programma. Revisioni e undo persistenti.

L'editor è a sezioni e colonne: ogni sezione ha un solo contenitore flessibile, le colonne hanno larghezze percentuali e vanno a capo da sole quando la riga supera il 100%. Trascini i widget dalla sidebar, modifichi le proprietà nel pannello contestuale.

Ogni salvataggio crea una revisione; l'undo sopravvive al refresh. Le pagine hanno stato bozza/pubblicato e SEO per pagina (title, description, immagine social).

Pannello AI

Assistente che costruisce sezioni; usi la tua API key Anthropic.

L'assistente AI genera e modifica sezioni reali del sito: descrivi cosa vuoi e ottieni widget veri, non HTML da incollare. Configuri modello e system prompt dal pannello.

La chiave API è tua (Anthropic) e i costi sono i tuoi, tipicamente pochi euro al mese: nessun markup nostro sull'AI, disponibile su tutti i piani, Free incluso.

  • Genera la chiave su console.anthropic.com → Settings → API Keys → "Create key" (serve un metodo di pagamento attivo sull'account Anthropic)
  • Nel CMS incollala in Impostazioni → Integrazioni → card "AI Anthropic (Claude)" e salva
  • Da quel momento chat AI nell'editor e SEO one-click sono attivi; finché manca la chiave, la chat resta bloccata con le istruzioni a schermo

Utenti e ruoli

Admin, Editor, Author, Viewer. NextAuth v5 e JWT.

Quattro ruoli con permessi decrescenti: Admin (tutto, incluse impostazioni e aggiornamenti), Editor (contenuti e tema), Author (le proprie pagine), Viewer (sola lettura). L'autenticazione è NextAuth v5 con sessioni JWT.

Le chiavi API per l'automazione (import/export del sito via REST) si generano dal pannello con scope granulari e si revocano singolarmente.

Deploy su Plesk

Phusion Passenger, env vars, build standalone, restart.

Su Plesk il CMS gira con Phusion Passenger e la build standalone di Next.js: app.js come entry point, variabili d'ambiente in .env, restart con touch tmp/restart.txt. L'installer riconosce Plesk e configura tutto da solo.

Funziona anche su qualsiasi VPS con Node 20+ e un reverse proxy (nginx, Caddy): npm run build e npm start.

Licenze e piani

Attivazione con chiave, binding domini, chiavi cliente per le agenzie.

La licenza si attiva incollando la chiave in Impostazioni → API: il CMS la valida periodicamente e sblocca widget Pro, aggiornamenti 1-click e supporto. I widget Pro fuori dal tuo piano restano visibili e modificabili nell'editor con un avviso, ma non vengono renderizzati sul sito pubblico finché non attivi il piano giusto.

Il piano Agency include 100 chiavi cliente: dall'area clienti su elementnode.cloud generi una chiave etichettata per ogni sito, revocabile singolarmente, con una sola fattura.

  • Free: 33 widget base, per sempre
  • Essential: 38 widget (33 base + 5 Pro), aggiornamenti, backup pre-update e skill AI
  • Advanced/Expert/Agency: tutti i 51 widget, API key e utenti illimitati

Migrazione da WordPress

Import di pagine, media e utenti dal tuo sito WP.

Il tool di import legge l'export WordPress e ricrea pagine, media e utenti come entità native. I contenuti arrivano come sezioni modificabili nell'editor, non come HTML congelato.

Per migrazioni assistite (siti complessi, WooCommerce, multilingua) scrivici dal form contatti: le facciamo noi con te.