La situazione è seria, ma non (ancora) Grav

Prendiamo in esame Grav come soluzione alternativa ai classici CMS e agli SSG per la realizzazione di siti web e blog.

Nel momento in cui sto scrivendo questo post, verolinux.com è ancora pubblicato con WordPress. Sottolineo ancora perché le cose stanno presumibilmente per cambiare.

Sono anni, infatti, che questo sito rimbalza tra WordPress e Ghost, passando a volte per generatori di siti statici (SSG – static site generators) come Hugo e Jekyll (RIP). Ma questa ormai è una storia trita e ritrita, un po’ come l’eterno dilemma tra Ruby e Python.

Cos’hanno in comune Ruby e Python?
La Y.

Una orrenda freddura di Gica78R

WordPress e un SSG rappresentano, se vogliamo, i due estremi delle soluzioni di pubblicazione di siti web, a meno di non voler considerare anche la soluzione “manuale” fatta di semplici file HTML.

WordPress

WordPress, da un lato, è un CMS completo, nato per il blogging e trasformatosi, nel corso degli anni, in un vero e proprio website builder. Con questo CMS ci si può fare praticamente di tutto, con plugin e temi già pronti che lo rendono flessibile e adattabile a qualsiasi esigenza. Tutto questo, però, ha un costo, soprattutto in termini di complessità gestionale, velocità e sicurezza. Plugin non aggiornati o sviluppati coi piedi possono, infatti, rendere il sito lento, malfunzionante o esporlo ad attacchi potenzialmente distruttivi.

Chi non vuole imbarcarsi nell’impresa di gestire aggiornamenti frequenti e monitorare la sicurezza del proprio sito, può optare per un generatore di siti statici.

Static Site Generators

Con un SSG le questioni sicurezza e aggiornamenti vengono saltate a piè pari. Il prodotto di un SSG è un insieme di file HTML, Javascript e CSS statici, senza componenti dinamici elaborati lato server. Il sito che ne esce fuori è, pertanto, privo di elementi in movimento che possono costituire rischi per il server che lo ospita. Non ci sono pagine di login e meccanismi di accesso, form in cui inserire dati arbitrari, database per ospitare dati sensibili. Il sito prodotto da un SSG è a prova di bomba. Ma questo ha anche i suoi limiti in termini, soprattutto, di interazione con i visitatori. I siti statici sono tuttavia la soluzione preferita da chi ama gestire tutto tramite file di testo e automatizzare la pubblicazione dei contenuti con script più o meno complessi, integrando il tutto con un sistema di controllo versione, tipicamente Git.

La via di mezzo

E se vi dicessi che, tra questi due estremi, c’è una soluzione intermedia che offre sia i benefici di un sito web dinamico che la potenza e la flessibilità della gestione basata su file di testo?

La soluzione in questione è Grav, un CMS sviluppato in PHP e basato completamente sul file system, senza la necessità di avere un database.

Il fatto di essere realizzato in PHP lo rende adatto alla maggior parte dei servizi di hosting condiviso, tipicamente disponibili a bassissimo costo, e il fatto di essere basato su file e non su database lo rende estremamente veloce.

Vantaggi

Sicuramente Grav non è l’unico CMS “flat file” in circolazione, ma ha delle peculiarità che lo rendono unico nel suo genere. Una delle caratteristiche più interessanti, a mio avviso, è che potete usarlo sia in maniera manuale che tramite un pannello di amministrazione opzionale: “chi lo vuole ce lo mette, chi non lo vuole non ce lo mette” (cit. Chef Ruffi).

Con il pannello di amministrazione potete gestire tutto il sito, la sua configurazione e i suoi contenuti, tramite una comoda interfaccia web. Senza, avete la libertà di configurare il sito tramite gli appositi file e di gestire e organizzare i contenuti direttamente con cartelle e file Markdown con front matter. Tutti questi file, ovviamente, possono essere messi sotto controllo versione con lo strumento che preferite.

Altro vantaggio innegabile di un CMS flat file è il backup, che consiste in una banale copia dei file e delle cartelle che compongono il sito; il ripristino è altrettanto semplice e immediato, come anche la migrazione ad un diverso server o hosting provider.

Svantaggi

Ovviamente, con la semplicità del sistema ci sono anche delle inevitabili limitazioni.

La possibilità di personalizzare il layout è legata alla capacità di lavorare sui template, scritti con il linguaggio Twig, mentre la disponibilità di temi già pronti è chiaramente limitata rispetto alla quantità dei temi WordPress. Lo stesso discorso vale per i plugin per aggiungere funzioni avanzate, tipiche dei CMS più complessi.

Verolinux passa a Grav?

Ci sto pensando seriamente. In realtà ero già pronto a fare il salto già da oggi, ma ho preferito fermarmi e darmi un po’ di tempo per sperimentare in locale. Come sempre, infatti, il problema non riguarda solo l’apparenza e la forma estetica del sito, quanto i contenuti che intendo pubblicare.

Un sito fatto col CMS più potente e il tema più figo del mondo non serve a niente se i suoi contenuti sono banali e di scarso valore.

È probabile che presto pubblicherò un nuovo articolo su Grav in cui mostro come lo sto configurando per adattarlo alle mie esigenze. Se i risultati saranno soddisfacenti, allora farò il grande passo.