Pensi che Halloween sia l’occasione giusta per affrontare la questione degli “headless”? In realtà il futuro va in questa direzione, per cui sarà utile capire di cosa si tratta.
WordPress stesso sta mutando il suo volto in direzione headless. Ecco cosa significa, quali sono le conseguenze e i principali vantaggi.

Perché si dice che un CMS è head-less?



Un CMS è detto “senza testa” nel momento in cui si avvale esclusivamente dell’interfaccia di back-end. Questo significa che a venire meno è la parte speculare di front-end, che concerne l’aspetto di visualizzazione finale del contenuto: da qui l’espressione head-less.
Un “headless” CMS rende quindi possibile creare contenuti senza vincolarli a una specifica piattaforma separando le canoniche interfacce di back-end e front-end.
WordPress o qualunque altro CMS “senza faccia” tratta i contenuti meramente come dei dati, organizzati in blocchi – consentendo all’autore di crearli una volta soltanto per poi accedere a una moltitudine di canali. Stesso bacino da cui attingere, dunque, anche per output differenti.
La capacità di fornire un contenuto in modo generico, standard e non formattato (principalmente in formato JSON) dona ad autore ed editor una certa flessibilità: chiave di un mondo in cui è richiesta massima compatibilità con ogni media.

Perché i CMS headless sono la scelta del futuro?

Una delle ragioni principali che fanno credere sia questa la scelta che verrà maggiormente operata in futuro è proprio la volontà di semplificare la pubblicazione di contenuti multicanale. La possibilità di usare WordPress come CMS headless è un risultato dell’evoluzione dell’industria di sviluppo web, del modo in cui ci si è mossi nel cloud, e soprattutto di un numero sempre crescente di dispositivi dai quali si accede alla rete e di conseguenza ai contenuti.

Se la tendenza, allora, è di postare un contenuto su più piattaforme, non sarebbe infinitamente più comodo crearlo una volta soltanto, senza bisogno di riformattarlo a seconda del canale di destinazione?

Come funziona quindi un CMS “senza faccia”?

Senza layer di presentazione, si ricorre a strumenti per il recupero e la gestione dei contenuti, che avranno poi il compito di indirizzarli verso piattaforme esterne. WordPress mette a disposizione i contenuti attraverso REST API in grado di recuperare i dati (messaggi, utenti, tassonomie) necessari e poi mostrarli su pagina. Le differenti tipologie di applicazione necessitano di differenti formati di file. L’URI/URL nella REST non fa riferimento a un’unica risorsa in formato specifico, ma all’elemento in sé: i client, tramite Content Negotiation, possono così richiedere l’elemento nel formato desiderato. Le API – acronimo di Application Programming Interface – costituiscono il vero fulcro di tutti i sistemi headless, WordPress compreso.
Questo permette agli sviluppatori di interagire con i siti in modalità remota inviando e ricevendo oggetti JSON. Tramite le API WordPress è quindi possibile creare, leggere e aggiornare i contenuti WP da JavaScript lato client o da applicazioni esterne.

Usare un CMS headless ha delle controindicazioni?

Questo approccio pone però delle premesse. In primo luogo, un CMS realmente “head-less” determina una perdita di funzionalità, per cui è possibile scambiare contenuti in entrata e in uscita, ma limita la gestione del contenuto dinamico. Non è possibile personalizzarne presentazione o posizionamento, per il quale sarebbe necessario avere a disposizione la testa del CMS. Potrebbe anche risultare più costoso da implementare, poiché dovrai pagare separatamente per il CMS, lo sviluppatore, l’infrastruttura per eseguire il sito o app.

Quali sono invece i vantaggi di un CMS headless?


Della flessibilità ne abbiamo già accennato. Consente di pubblicare un unico contenuto indipendentemente dal canale su cui è destinato a essere visualizzato. I diversi media hanno accesso ai contenuti ma regolano individualmente il metodo di rappresentazione: la REST API fornisce i dati, e questi possono essere letti da qualsiasi front-end, indipendentemente dalla loro programmazione.

Si aggiungono però altri aspetti che possono rendere conveniente l’uso di un CMS headless.
In primo luogo la sua adozione comporta una maggiore velocità del sito, spostando la logica di visualizzazione su lato client e snellendo il back-end. Un’applicazione focalizzata sulla fornitura di contenuti può essere molto più reattiva di un’altra che assembla risposte formattate sulla base di regole complesse; poiché quindi l’implementazione dei dati è più rapida rispetto a un CMS tradizionale, minore sarà il tempo di caricamento della pagina, garantendo una migliore esperienza di navigazione all’utente.
Anche indipendenza e sicurezza ne costituiscono ulteriori fattori positivi. Il core di gestione dei dati è infatti meno esposto a rischi di vulnerabilità e attacchi, in quanto il front-end non è legato alla piattaforma di gestione dati ma è spesso all’interno di un server diverso. Infine optare per un CMS headless comporta anche una minore necessità di aggiornamento e manutenzione di temi, plugin e altre personalizzazioni: l’idea è di velocizzare la gestione e ridurre i tempi, incrementando così la produttività e il profitto.

All treats, no tricks.