Perché si dice che un CMS è headless?
In una piattaforma di gestione di un sito, si parla di headless CMS se il front-end (o “head”) – che nella maggior parte dei casi è un modello o un tema – viene “scollegato e rimosso”, lasciando solo il back-end.
Gli sviluppatori possono quindi utilizzare le API per distribuire cose come prodotti, articoli del blog o recensioni dei clienti su qualsiasi schermo o dispositivo, mentre gli sviluppatori front-end possono lavorare su come presentare quel contenuto utilizzando qualsiasi framework desiderino.
Il futuro va in questa direzione: in uno studio del maggio 2023 di Storyblock, l’82,9% delle aziende consultate ha riferito che il passaggio ad un CMS headless ha migliorato la produttività ed il rispetto di tempistiche, budget e KPI.
Lo stesso WordPress sta mutando il suo volto in direzione headless, per cui é utile capire di cosa si tratta.
Cos’è un CMS headless
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 headless CMS è 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.
Perché WordPress sta diventando una soluzione sempre più headless
Trattando i contenuti come semplici blocchi di dati accessibili tramite API REST, WordPress in modalità headless semplifica notevolmente la gestione e la distribuzione di contenuti su molteplici piattaforme e dispositivi.
Il vantaggio quindi sta nell’agilità che quest’approccio offre nello sviluppo web.
Gli sviluppatori back-end possono infatti concentrarsi sulla logica di business e sulla gestione dei dati, mentre quelli front-end hanno la libertà di utilizzare i framework più adatti per costruire esperienze utente coinvolgenti.
Va notato, tuttavia, che scegliere WordPress come piattaforma headless è una decisione da valutare bene. Se da un lato si guadagna in flessibilità e agilità, dall’altro si perdono alcune delle funzionalità che hanno reso questa piattaforma un CMS tanto popolare, come la vasta gamma di temi e plugin più o meno facili da usare e pronti all’uso.
Eppure, il gioco potrebbe valere la candela.
Un esempio concreto?
Vue è un’applicazione web progressiva e si può integrare con qualsiasi piattaforma di e-Commerce: Shopify, Magento, BigCommerce, WooCommerce, ecc., con un sistema di gestione dei contenuti (CMS) che funziona in tandem. Un altro plus di quest’applicazione è che funziona con servizi di pagamento come Stripe, PayPal e Klarna, il che faciliterà il tuo lavoro sotto tutti i punti di vista.
Anche Magento sta seguendo la tendenza dei CMS headless
Il potenziale di scalabilità e personalizzazione che questi sistemi offrono è interessante specialmente nel campo dell’e-commerce.
Separando il back-end dal front-end, Magento in modalità “senza testa” concede agli sviluppatori di lavorare con una flessibilità senza precedenti. Gli sviluppatori possono dunque impiegare API RESTful o GraphQL per gestire e distribuire dati come cataloghi prodotto, prezzi e recensioni su diversi touchpoints, garantendo un’esperienza d’acquisto omogenea su dispositivi mobili, desktop e addirittura Internet of Things (IoT).
Con funzionalità come il PWA (Progressive Web Apps) Studio, Magento è in grado di offrire un’esperienza utente altamente responsiva su qualsiasi dispositivo, un fattore cruciale per il successo nell’attuale panorama retail. Allo stesso tempo, la sua robusta architettura API-first consente un’integrazione fluida con sistemi ERP, CRM e PIM, rendendo la gestione dei dati un processo snello e centralizzato.
Magento offre quindi un ambiente estremamente fertile per gli sviluppatori che vogliono costruire applicazioni headless avanzate, con una gestione del catalogo prodotti e una personalizzazione della UX che vanno ben oltre la media del settore.
Nonostante questi vantaggi, è essenziale considerare le implicazioni della scelta di un modello headless in Magento. Per esempio, mentre la piattaforma offre strumenti dedicati per la gestione delle transazioni e dei pagamenti in un contesto headless, è fondamentale assicurarsi che tali strumenti siano implementati correttamente per evitare problemi di sicurezza o compliance. A confermare l’importanza di una gestione attenta in questo contesto, uno studio del 2023 ha sottolineato che le aziende che hanno saputo sfruttare al meglio le potenzialità di un CMS headless hanno registrato miglioramenti notevoli non solo in termini di agilità e scalabilità, ma anche di ROI e soddisfazione del cliente.
Per l’e-Commerce una soluzione CMS headless che si sta facendo strada è Contentful: utilizzata da marchi come Bang & Olufsen o Costa Coffee. Contentful è progettato appositamente per le imprese e permette ai team che si occupano dei contenuti di concentrarsi sulla creazione piuttosto che lavorare con più silos CMS. Mentre un CMS tradizionale è progettato per costruire siti web, Contentful si rivolge al settore omnicanale, permettendo di modificare i contenuti in un unico luogo.
Il case study di Atlassian, che ha optato per questa opzione, ne mostra le performance:
- 5 minuti di time to market rispetto ai 3 mesi precedentemente impiegati;
- 3 mesi per creare un aiuto all’utente interno alla scheda prodotto per Jira;
- 5 minuti per pubblicare le modifiche ai contenuti contro le 2 settimane precedenti.
Usare un headless CMS ha delle controindicazioni?
Questo approccio pone però delle premesse.
In primo luogo, un CMS realmente “headless” 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 headless CMS:
- 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 headless CMS 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.
Ricapitolando.
Vantaggi di un CMS headless
- Flessibilità nella presentazione dei contenuti: Con un headless CMS, il back-end che gestisce i contenuti è separato dal front-end che li presenta. Questo consente di utilizzare qualsiasi tecnologia o framework per sviluppare l’interfaccia utente, consentendo una maggiore flessibilità nella presentazione dei contenuti.
- Prestazioni migliorate: Essendo separato dal front-end, il back-end di un headless CMS può essere ottimizzato per fornire prestazioni migliori. Ciò significa che i tempi di risposta possono essere ridotti e i siti web possono essere più veloci e reattivi.
- Migliore scalabilità: Poiché il back-end e il front-end sono separati, un headless CMS può gestire carichi di lavoro più pesanti e scalare in modo più efficiente. Ciò rende possibile gestire grandi quantità di traffico e fornire esperienze utente di alta qualità anche in situazioni ad alta intensità di utilizzo.
- Supporto per l’Internet of Things (IoT): Un CMS headless può essere utilizzato per alimentare contenuti su una varietà di dispositivi IoT, come schermi intelligenti, orologi intelligenti o assistenti vocali. Questo consente di creare esperienze utente omogenee su diversi dispositivi.
Svantaggi di un headless CMS
- Complessità dello sviluppo: La separazione tra il back-end e il front-end può aumentare la complessità dello sviluppo. È necessario gestire due sistemi separati e garantire che le comunicazioni tra di essi siano corrette. Ciò richiede competenze tecniche più avanzate e può richiedere più tempo per lo sviluppo.
- Costi aggiuntivi: L’utilizzo di un CMS headless può comportare costi aggiuntivi rispetto a un CMS tradizionale. La separazione tra back-end e front-end richiede l’implementazione di una struttura di comunicazione, che può richiedere investimenti aggiuntivi in termini di sviluppo o utilizzo di servizi di terze parti.
- Complessità dell’amministrazione dei contenuti: Poiché il back-end e il front-end sono separati, la gestione dei contenuti può diventare più complessa. Gli amministratori devono avere familiarità con entrambe le parti e gestire i contenuti attraverso interfacce separate.
- Mancanza di funzionalità integrate: Alcuni CMS tradizionali offrono funzionalità integrate, come la gestione dei flussi di lavoro, la personalizzazione dei contenuti o strumenti di analisi. In un CMS headless, potrebbe essere necessario sviluppare o integrare manualmente queste funzionalità aggiuntive, aumentando la complessità e i costi complessivi del sistema.
È importante considerare attentamente vantaggi e svantaggi prima di scegliere di sviluppare il proprio CMS in ottica headless, valutando le esigenze specifiche del progetto e le competenze disponibili per lo sviluppo e la gestione del sistema.