Il mondo oltre WordPress

Sono passati più di anni ormai dall'ultimo post, due anni decisamente frenetici per Evolve, che hanno portato progetti sempre più di alto livello anche al di fuori del mondo WordPress, motivo per cui ho pensato fosse arrivato il momento giusto per ripensare il mio blog cercando sperimentare qualcosa di nuovo.

Con un paio di requisiti in testa, ovvero poter scrivere direttamente in markdown senza editor "visuale" (bello e potente il Block Editor di WordPress, ma è incredibilmente pesante e secondo me inutile se si vuole scrivere solo scrivere un articolo) e non utilizzare WordPress, ho iniziato a sperimentare diversi approcci grafici e sopratutto a cercare una soluzione tecnica che fosse soddisfacente per le mie esigenze.

Headless CMS

Il mondo al di fuori di WordPress è incredibilmente variegato ed esistono soluzioni bene o male per tutte le esigenze, venendone da WordPress ho pensato che la scelta più logica fosse quella di orientarmi verso un CMS e dopo averne analizzati diversi (sempre open source) ho scelto Craft CMS.

Craft è un CMS Headless molto versatile e completo, per certi versi comparabile a WordPress avendo un ecosistema di plug-in e funzionalità e-commerce, l'unica grossa differenza diciamo è che per un progetto non personale il sistema di licenze (tra plugins e CMS) diventa abbastanza costoso, rendendolo di fatto applicabile principalmente a progetti più di alto profilo.

Dovendo sviluppare il mio blog non me ne sono preoccupato (visto che è gratuito per progetti personali) e ho iniziato seguendo il tutorial sul loro sito di documentazione e devo dire che in pochissimo tempo sono riuscito a replicare bene o male la stessa struttura logica che avevo su WordPress.

Nel momento in cui ho provato ad installare tutto online mi sono reso conto dell'inadeguatezza tecnica del mio hosting (molto, molto economico) che ha reso incredibilmente difficile (a tratti impossibile) il processo di installazione e mantenimento (banalmente far girare il sistema di update di plugin/core).

Grazie però a questo problema tecnico ho iniziato a pormi qualche domanda in più sulla necessità di avere un vero CMS per gestire un semplice blog e questo mi ha portato ad esplorare altre soluzioni tecniche.

Static site generator

In tempi non sospetti il mio socio aveva rifatto il suo sito utilizzando un static site generator, nello specifico Jekyll e sulle prime mi era sembrato troppo "tecnico" e "spartano" come approccio, chiaramente sbagliandomi di lungo.

Ho iniziato quindi ad esplorare il panorama degli static site generator e casualmente proprio in quel periodo Andy Bell aveva appena reso gratuito il suo corso su Eleventy, quindi diciamo che la scelta è stata anche abbastanza semplice, vista anche la continua crescita in popolarità di Eleventy (o 11ty).

Facciamo un piccolo passo indietro però, potreste chiedervi, cosa sono gli static site generator?

Gli static site generators sono delle applicazioni che vi permettono di generare un sito statico partendo da dei contenuti testuali, per esempio in markdown.

Quali sono i principali vantaggi?

Sicuramente la velocità, in quanto producendo dei file statici si va ad eliminare la necessità di interrogare un database per generare dei contenuti dinamici e di riflesso anche la sicurezza.

Chiaramente di contro c'è il fatto che richiedono un minimo di competenza tecnica per essere configurati in tutti i loro aspetti, ovvero il vero punto di forza di WordPress che bene o male (essendo incluso ormai in ogni hosting) di fatto solo la necessità di scegliere un tema e scrivere del contenuto.

Pubblicazione

Una volta completato lo sviluppo si è posto il problema di dove caricare il tutto e qui è emerso subito un grosso vantaggio dell'approccio statico, ovvero la possibilità di pubblicarlo a costo 0 in termini di hosting (chiaramente dovrete sempre pagare un dominio).

Esistono diverse piattaforme pensate per la pubblicazioni di progetti web diciamo, le più popolari sono Netlify e Vercel ed entrambe queste piattaforme offrono un piano gratuito per progetti personali.

La mia scelta è ricaduta su Vercel giusto perché l'abbiamo usata per un progetto che abbiamo sviluppato di recente (sempre su 11ty) con i nostri amici di Avanade per l'evento di quest'anno del WUD Milan.

Workflow

Una volta scritto un nuovo articolo, non essendoci un CMS di mezzo, la pubblicazione è interamente gestita tramite Github, che essendo collegato a Vercel ogni volta che viene effettuato un commit sul branch Production (chiaramente sono tutti processi configurabili a seconda delle proprie esigenze) lancia il processo di build su 11ty e pubblica tutto direttamente sul nostro environment di Vercel, il tutto in poco più di 30 secondi.

Conclusioni

Chiaramente gli static site generator (o gli headless CMS) non vanno necessariamente bene a tutti e chi magari vuole crearsi un blog velocemente senza avere particolari competenze tecniche potrebbe preferire l'immediatezza di WordPress.

In conclusione credo che l'importante sia sperimentare sempre soluzioni nuove perché il mercato cambia sempre più rapidamente e WordPress non è sempre la soluzione giusta (nella maggior parte dei casi è la soluzione di comodo), come in questo caso per esempio, dove avrebbe creato solo complicazioni (aggiornamenti, sicurezza, performance, ecc.) dove in fin dei conti non è necessario.

Blog