WordPress senza testa: la guida completa
Pubblicato: 2023-03-01Come probabilmente già saprai, WordPress è una potente piattaforma per la creazione di siti web. Come sistema di gestione dei contenuti (CMS), WordPress offre funzionalità di pubblicazione facili da usare. E puoi espandere WordPress per fare quasi tutto ciò che vuoi fare. Ma hai sentito parlare di WordPress "senza testa"?
In questa guida imparerai esattamente cos'è WordPress headless. Capirai le situazioni che potrebbero portarti a usarlo e le volte in cui l'utilizzo di WordPress headless non è l'idea migliore. Oltre a ciò, esamineremo alcune delle soluzioni front-end e stack più popolari che vengono generalmente utilizzate con le distribuzioni headless di WordPress.
Prima di approfondire WordPress come CMS headless, è importante capire cos'è esattamente un CMS e i problemi per cui è stato progettato. Cosa renderebbe uno "senza testa" e perché potrebbe essere utile in alcuni casi? Chi potrebbe trovarlo utile?
Che cos'è un sistema di gestione dei contenuti (CMS)?
Un sistema di gestione dei contenuti lato server o CMS domina il "back-end" della stragrande maggioranza dei siti Web che navighi oggi. Agli albori di Internet, tutti i siti venivano creati direttamente da una pagina HTML statica. Per creare un nuovo post o articolo, dovresti creare un nuovo documento HTML. Quindi lo aggiungeresti al server insieme alle sue risorse, come immagini, altri media e file CSS. Quindi dovresti collegarti alla nuova pagina nella navigazione del tuo sito e da altre pagine che vi fanno riferimento.
La gestione dei contenuti prima dei sistemi di gestione dei contenuti
Lo sviluppo di siti Web dal 1995 al 2000 circa potrebbe essere incredibilmente inefficiente. Creare e caricare nuovi file ogni volta che avevi nuovi contenuti è stato relativamente facile. Ma inevitabilmente il nuovo contenuto richiedeva cambiamenti nel vecchio contenuto. E poiché i siti sono cresciuti fino a includere centinaia e migliaia di pagine, apportare modifiche rapidamente era impossibile come processo manuale. Anche con un po' di automazione, potrebbe essere lento.
Presentazione e contenuto erano misti
Un problema correlato era che il contenuto e la sua presentazione (ad esempio, layout e stili di design) erano poco flessibili e spesso mescolati insieme all'interno del documento HTML. I CSS dovevano entrare in proprio per risolvere veramente questo problema, ma era necessario un CMS per trarne vantaggio separando il design dal contenuto.
Flussi di lavoro e ruoli erano misti
La difficoltà di apportare modifiche globali al contenuto e al design attorno a parti funzionali e interattive di un sito web ha reso il processo di pubblicazione e manutenzione dei contenuti molto lento e impegnativo. Anche i team responsabili del contenuto, del design del front-end e dell'ingegneria del back-end non avevano confini chiari.
La soluzione CMS dinamica basata su database
Il sistema di gestione dei contenuti è nato attorno a questa idea: invece di creare file HTML completamente nuovi ogni volta che era necessaria una nuova pagina Web, tutto il contenuto di ogni pagina sarebbe stato archiviato in un database relazionale come MySQL. Un CMS scritto in un linguaggio di scripting lato server come PHP verrebbe quindi utilizzato per interrogare e includere parti variabili di contenuto dal database su pagine generate dinamicamente. Ogni richiesta di pagina da parte di un visitatore potrebbe causare la generazione di una nuova e unica versione del contenuto richiesto.
I limiti di un CMS dinamico
WordPress utilizza modelli di progettazione scritti in PHP mescolati con HTML per generare il documento HTML finale servito ai visitatori a ogni richiesta di pagina. Rispetto alla facilità di pubblicazione di pagine dinamiche con un CMS, è difficile credere che ci sia qualcosa di utile nella pubblicazione Web statica basata su file, finché non si considerano la sicurezza e le prestazioni su larga scala con e senza un database che viene interrogato su quasi ogni caricamento della pagina.
Senza testa come approccio ibrido: il meglio dei due mondi
Headless è un approccio ibrido per offrire pagine Web da risorse in gran parte statiche in un framework front-end. Questo front-end utilizza solo il CMS e il database sul back-end per recuperare contenuto dinamico o ricevere l'input dell'utente quando è assolutamente necessario. Ciò consente pagine che possono essere visualizzate "al volo" per i visitatori e memorizzate nella cache quando non è necessario modificarle spesso.
Headless WordPress e altri sistemi di gestione dei contenuti senza testa
Headless WordPress è un modo per distribuire WordPress con il back-end disaccoppiato dalle solite funzionalità front-end. Non viene utilizzato alcun tema. Il back-end è responsabile solo di:
- Gestione del database
- Gestione utenti
- Gestione dei contenuti
- Interazione con servizi esterni
Il livello di presentazione front-end in genere consiste in un framework React.js o altro front-end basato su JavaScript e HTML/CSS. Il contenuto viene raccolto dal back-end tramite un'API, come WP GraphQL (l'implementazione WordPress di GraphQL) o l'API REST principale di WordPress.
Potrebbero esserci anche più front-end che gestiscono canali diversi per i diversi dispositivi che i visitatori possono utilizzare. Inoltre, non è necessario che i front-end condividano lo stesso server del back-end. Questa è l'infrastruttura di cui hai bisogno per una pubblicazione omnicanale efficiente. Multicanale ti consente di offrire contenuti esclusivi alle app mobili e a tutti i tipi di dispositivi nell'Internet delle cose.
Esistono alcuni famosi generatori di siti statici open source per la creazione di siti Web headless, come Hugo e Jekyll. Si tratta di file system completamente flat senza il database e gli strumenti di gestione dei contenuti offerti da WordPress nelle distribuzioni headless o tradizionali. Gatsby e Next.js possono essere utilizzati anche per generare siti statici, ma offrono anche framework front-end avanzati che possono essere utilizzati nelle distribuzioni headless di WordPress. Ma tieni presente che la vera forza di WordPress headless non è che utilizza molto meno un database, ma che ottimizza l'utilizzo del database per molte più possibilità rispetto al tradizionale front-end monotematico e monouso del CMS. Con WordPress headless, puoi creare più front-end o supportare un'app Web progressiva (PWA) o un'app mobile nativa.
Perché Headless WordPress è il miglior CMS Headless
WordPress è una piattaforma così potente e ampiamente utilizzata, è in una posizione unica per avere successo come CMS headless.
Ecco cinque motivi per cui WordPress potrebbe essere la scelta migliore per il tuo CMS headless.
1. Stai già utilizzando WordPress e lo sono anche tutti gli altri
È probabile che tu usi già WordPress, quindi tagliargli la testa è un semplice passo avanti.
Poiché WordPress è indipendente dal front-end, i siti esistenti con database pieni di contenuti possono diventare senza testa in modo abbastanza indolore. Oppure, un sito WordPress senza testa può avere una "testa" ricollegata ad esso. Muoversi in entrambe le direzioni non è difficile con WordPress.
Molti dei tuoi dipendenti e futuri assunti hanno o avranno esperienza con WordPress. Puoi contare su un'esperienza di onboarding più semplice con una tecnologia familiare.
2. I tuoi sviluppatori front-end non devono toccare WordPress o PHP
Poiché PHP è considerato un linguaggio applicativo back-end, di solito non è una parte fondamentale della moderna formazione per lo sviluppo front-end. Tuttavia, la piattaforma WordPress è codificata in PHP. Lo sviluppo front-end tradizionale (senza testa) per WordPress si concentra sulla creazione di temi personalizzati che utilizzano le funzioni e il codice dell'API di WordPress che saranno familiari agli sviluppatori PHP ma non ad altri. Sebbene WordPress si stia evolvendo rapidamente e i nuovi temi compatibili con il suo editor di siti potrebbero utilizzare poco o nessun PHP, WordPress ha ancora molta strada da fare prima che PHP si ritiri completamente nel suo back-end. Attualmente, esiste un'ottima soluzione che puoi utilizzare per appoggiarti meno a PHP o aggirarlo completamente a favore dei moderni framework front-end. Quella soluzione è WordPress headless.
Se stai assumendo sviluppatori front-end per lavorare su un progetto WordPress standard (senza testa), potresti scoprire di avere un pool di manodopera più piccolo a cui attingere. Uno sviluppatore che non è radicato in PHP o in un linguaggio di scripting lato server simile potrebbe scoprire che la curva di apprendimento di WordPress è alta. Ma se eccellono nello sviluppo front-end con framework CSS e JavaScript complessi come React, questo è perfetto per un sito WordPress headless. Perché non giocare ai loro punti di forza? In un altro scenario, se non stai già utilizzando WordPress o un CMS simile ma hai sviluppatori front-end esperti, potresti non voler fargli imparare come lavorare con un CMS completamente nuovo. Questo è quando WordPress headless può essere un'ottima soluzione.
Gli sviluppatori non devono avere familiarità con WordPress per creare un front-end per un sito WordPress headless. Potresti assumere praticamente qualsiasi sviluppatore front-end capace. Puoi spendere poco o molto ma ottenere un front-end completamente personalizzato. Un design del sito completamente unico e su misura ti servirà quasi sempre al meglio se hai esigenze davvero uniche.
3. Gli host di classe enterprise supportano WordPress headless
Quasi tutte le piattaforme di hosting di siti Web offrono hosting WordPress. Potrebbero avere oltre un decennio di esperienza nel supportarlo. Gli host WordPress gestiti supportano i siti WordPress aziendali e molti dei principali host WordPress gestiti offrono hosting, strumenti e supporto headless specializzati. Rendono la sicurezza e le prestazioni del tuo sito la loro priorità.
4. WordPress senza testa è veloce
Ogni CMS pubblica tempi di caricamento più lenti per i visitatori rispetto a un sito statico. La generazione di pagine dinamiche richiede più risorse del server e un CMS pesantemente integrato può avere un notevole sovraccarico del server. Anche un sito WordPress altamente performante con un hosting solido e una memorizzazione nella cache efficiente sarà rallentato da carichi di traffico elevati e da molti utenti attivi che hanno effettuato l'accesso front o back-end. I siti WordPress senza testa ottengono ancora i vantaggi del CMS ma funzionano più come generatori di siti statici con un database. I visitatori ottengono per lo più file statici a caricamento rapido quando arrivano a un sito headless.
Un sito Web che impiega troppo tempo a caricarsi è uno dei maggiori problemi per i proprietari di siti. Con l'aumento esponenziale della navigazione sui siti per dispositivi mobili, la velocità è più importante che mai. Sui siti di e-commerce, il caricamento lento significa perdere le vendite. Un utente tipico non starà seduto ad aspettare che il tuo sito si carichi per più di qualche secondo. Se non si carica immediatamente, passeranno alla cosa successiva.
Diminuire i tempi di caricamento del tuo sito è fondamentale. Inoltre, Google tiene conto della velocità di caricamento della pagina quando classifica i siti per i risultati di ricerca. Se la SEO è una grande priorità per te, potrebbe essere intelligente considerare un front-end diverso per WordPress.
5. WordPress headless può aumentare la sicurezza
Una normale installazione di WordPress lascia esposta l'interfaccia di amministrazione back-end e non solo le schermate di accesso. Anche gli utenti non amministratori di basso livello possono potenzialmente accedere all'amministratore di back-end. A volte gli hacker possono sfruttarlo tramite un plug-in o un tema vulnerabile. I siti WordPress senza testa in genere non utilizzano affatto un tema e i siti senza testa incentrati sul contenuto possono limitare gli utenti a pochi utenti fidati. Il processo di accesso può essere strettamente bloccato in questo scenario e altri possibili bersagli per gli hacker potrebbero essere chiusi perché non sono necessari.
Puoi utilizzare un potente plug-in di sicurezza di WordPress come iThemes Security Pro per proteggere completamente un sito WordPress headless. È altrettanto utile su qualsiasi tipo di sito WordPress per proteggere il back-end, impostare i ruoli di accesso utente appropriati e applicare criteri di accesso sicuri.
Quando è una cattiva idea usare WordPress headless?
Sebbene WordPress headless sia uno strumento incredibilmente potente da avere nella cintura, presenta alcuni svantaggi.
Può essere complesso
Costruire un CMS senza testa non è per sviluppatori inesperti a meno che non siano preparati a fare un apprendimento significativo. A differenza di WordPress, che è plug-and-play al 100%, un CMS headless non lo è. Si inizia con una semplice installazione di WordPress e poi si disaccoppiano parti di essa, principalmente il front-end. Quindi dovrai sviluppare il tuo front-end. Se questo è un territorio sconosciuto, ci sarà una significativa curva di apprendimento. A differenza dei normali siti WordPress, WordPress senza testa non è così ampiamente compreso o ben documentato. Pagherà per connettersi e seguire il lavoro svolto dai principali esperti di hosting e sviluppo di WordPress headless.
Alcune cose non funzioneranno
Le funzionalità di modifica del sito più recenti in WordPress non saranno utili o utilizzabili su un sito senza testa. Far funzionare bene l'editor di blocchi all'interno dell'editor di post di Gutenberg con il tuo front-end senza testa pone anche alcune sfide. Molti plugin di WordPress potrebbero non funzionare bene o per niente in un ambiente headless. Gli host e gli sviluppatori di WordPress stanno lavorando per migliorare e supportare lo sviluppo headless di WordPress, quindi questa è un'area in continua evoluzione. Cerca attentamente lo stato attuale della tecnologia headless di WordPress e pianifica il tuo progetto di conseguenza.
La manutenzione è obbligatoria
Mantenere il proprio codice front-end può richiedere molto tempo. E poiché l'editor di post di Gutenberg risiede nel back-end di WordPress, se vuoi usarlo con il tuo sito headless, dovrai sincronizzare i suoi stili di back-end con il tuo framework di front-end disaccoppiato per una vera esperienza WYSIWYG. Anche quel framework front-end avrà bisogno di una manutenzione costante. Le distribuzioni headless richiedono un'attenta pianificazione anticipata per la manutenzione continua che va oltre un tradizionale sito Web basato su WordPress o CMS.
Iniziare con WordPress senza testa
Installa WordPress e taglia il front-end!
Come di solito accade in WordPress, alcuni plugin possono aiutarti a farlo. Uno è giustamente chiamato plug-in Headless CMS. Installalo e attivalo come qualsiasi altro plugin di WordPress.
Successivamente, inizia a lavorare sul front-end del tuo sito. Puoi adottare alcuni approcci diversi. Potresti decidere di scegliere un front-end o un framework già esistente su cui costruire, come Gatsby. Oppure, potresti prendere in considerazione la creazione di un'app Web progressiva.
Jamstack
Se non hai familiarità con Jamstack, è una piattaforma utilizzata di frequente per lo sviluppo web. Usarlo ti servirebbe bene come front-end per WordPress headless o qualsiasi altro CMS.
L'accoppiamento lento è uno dei maggiori punti di forza di Jamstack. Se hai mai seguito il processo di disaccoppiamento di WordPress, questa è una funzione che troverai molto utile.
Applicazioni Web progressive (PWA)
Una PWA è simile a un sito Web in molti modi. Ma a differenza dei siti Web, una PWA utilizzerà una vasta gamma di librerie Javascript che offrono agli utenti un'esperienza mobile nativa
Per questo, dovrai utilizzare un framework come React o Vue per sviluppare l'app.
Gatsby
Stai cercando di accelerare il tuo processo di sviluppo mantenendo la maggior parte della libertà che ottieni con un CMS headless?
Gatsby è una buona scelta e c'è un plugin per questo.
Headless WordPress fa per te?
WordPress è uno strumento incredibile da solo. Ma ci sono momenti in cui potresti richiedere il tuo front-end utilizzando un CMS headless.
In questa guida, hai imparato i metodi, i motivi e gli approcci da adottare quando imposti WordPress headless.
Se hai deciso che diventare headless è il modo migliore per soddisfare le esigenze di sviluppo del tuo sito, ora ne sai abbastanza per iniziare.
Il miglior plugin di sicurezza per WordPress per proteggere e proteggere WordPress
WordPress attualmente alimenta oltre il 40% di tutti i siti Web, quindi è diventato un facile bersaglio per gli hacker con intenti dannosi. Il plug-in iThemes Security Pro elimina le congetture dalla sicurezza di WordPress per semplificare la sicurezza e la protezione del tuo sito Web WordPress. È come avere un esperto di sicurezza a tempo pieno nello staff che monitora e protegge costantemente il tuo sito WordPress per te.
Dan Knauss è il Technical Content Generalist di StellarWP. È scrittore, insegnante e libero professionista che lavora nell'open source dalla fine degli anni '90 e con WordPress dal 2004.