Vai al contenuto

Siti web

One Mind Agency

Sito bilingue per un'agenzia creativa: front end statico in Next.js, WordPress headless per i case study e una pipeline di lead in EspoCRM.

TipologiaSiti web
Linkonemindagency.uk

Il problema

One Mind Agency è un’agenzia creativa a cui serviva un sito bilingue, in inglese e in italiano, per mostrare i suoi lavori e conquistare nuovi clienti. Il team voleva pubblicare i case study da una bacheca familiare, e ogni richiesta di contatto doveva finire in una pipeline commerciale, non in una casella di posta. L’hosting era condiviso: Node poteva eseguire le build, ma non un server sempre acceso.

Cosa ho costruito

Ho costruito tre parti che convivono sullo stesso dominio.

  • Front end statico in Next.js: home, lavori, singolo case study, chi siamo e contatti, esportati come semplici file sotto /en/ e /it/. Veloci da servire, niente da tenere acceso.
  • WordPress headless sotto /cms: un plugin su misura registra il tipo di contenuto Case Study e i suoi campi (cliente, anno, categoria, colore di accento, sintesi, crediti) e li espone, con le loro traduzioni, tramite la REST API. Le pagine pubbliche di WordPress reindirizzano al sito vero.
  • Ricostruzioni automatiche: quando un redattore salva un contenuto, WordPress alza un segnale. Un processo sul server lo raccoglie entro circa 5 minuti, ricostruisce il sito e sostituisce i file, con un blocco che impedisce a due build di sovrapporsi.
  • Dal modulo di contatto al CRM: un piccolo ponte in PHP trasforma ogni richiesta in un Lead in EspoCRM, con fascia di budget e lingua. La chiave del CRM resta sul server e non arriva mai al browser.
  • Protezione da spam e abusi: un campo honeypot nascosto, una richiesta ogni 30 secondi per indirizzo IP, un elenco delle origini consentite e una validazione rigorosa di ogni campo.
  • Nessuna immagine rotta: se un case study punta a un file immagine che non esiste più, l’API non restituisce nulla e la pagina mostra al suo posto un riquadro colorato.

Con cosa è fatto

Next.js 15 con esportazione statica, React 19, Tailwind CSS, Framer Motion e Lenis. WordPress con ACF e Polylang. EspoCRM. PHP 8.2 e MariaDB 10.11 su Hetzner.

Perché è fatto così

Il server consente Node solo per le build, senza processi sempre attivi. Per questo il sito viene generato in fase di build e servito come file statici, mentre WordPress e il CRM girano sul PHP che il server aveva già. I redattori hanno una bacheca normale, e i visitatori ricevono semplice HTML.

Un'idea?
Parliamone.

Che sia un sito, un'app, un video, una canzone o un progetto più grande, sono pronto ad aiutarti a realizzarla.

Contattami ora
  • Napoli
  • Idee
  • Progetti
  • Persone
  • Sempre avanti