Usi WordPress? Scopri cinque cose che Drupal fa in modo diverso: Content Types, Views, entità, gestione delle configurazioni e applicazioni web. Una riflessione su come ampliare le competenze nell’era dell’intelligenza artificiale.Se conosci WordPress, probabilmente sai già costruire un sito web. Ma cosa succede quando inizi a ragionare con Drupal?WordPress e Drupal sono due CMS open source che permettono di realizzare siti web, gestire contenuti e sviluppare applicazioni.Entrambi utilizzano PHP, possono lavorare con MySQL e dispongono di un ecosistema di estensioni.Eppure, quando cominci a utilizzarli, scopri che dietro alcune funzionalità apparentemente simili ci sono filosofie di progettazione differenti.Lavoro con Drupal da molti anni, ma conosco anche WordPress e WooCommerce. Non voglio convincerti che un CMS sia sempre migliore dell'altro. Voglio mostrarti cinque differenze che, se provieni dal mondo WordPress, potrebbero cambiare il tuo modo di pensare allo sviluppo web.In questo articolo01Content Types: strutturare i contenuti02Views: oltre la ricerca dei plugin03Entità e campi personalizzati04Configuration Management05Drupal e applicazioni web06Intelligenza artificiale e professione07Conclusioni e formazione Drupal1. I Content Types: i contenuti diventano strutture↑ Torna al menuImmagina di dover realizzare un sito per un'agenzia immobiliare.Ogni immobile deve avere un titolo, una descrizione, un prezzo, una superficie, una località, alcune fotografie e magari una classe energetica. In WordPress puoi creare un Custom Post Type e aggiungere campi personalizzati, ad esempio utilizzando ACF. In Drupal, invece, la creazione di tipi di contenuto e campi è parte integrante del sistema.Puoi creare un tipo di contenuto chiamato Immobile, aggiungere i campi necessari e definirne il comportamento direttamente dall'interfaccia amministrativa. Non stai semplicemente aggiungendo pagine a un sito.Stai progettando una struttura di dati.È un cambiamento di prospettiva importante, soprattutto quando il progetto cresce.2. Views: quando smetti di cercare il plugin giusto e inizi a costruire↑ Torna al menuImmagina di aver creato il tuo tipo di contenuto Immobile.Adesso il cliente ti chiede una pagina che mostri soltanto gli appartamenti in vendita a Roma, sotto i 250.000 euro, ordinati dal più recente. Poi aggiunge un'altra richiesta: vuole che i visitatori possano scegliere la città, impostare un prezzo massimo e filtrare gli immobili per tipologia. E magari vuole anche un blocco nella homepage che mostri automaticamente gli ultimi sei immobili disponibili.Se lavori con WordPress, probabilmente inizi a valutare diverse possibilità: WP_Query, un plugin per i filtri, un page builder con funzionalità avanzate oppure del codice personalizzato. Sono tutte strade valide.Ma con Drupal puoi affrontare buona parte di questo lavoro attraverso uno strumento già presente nel suo ecosistema di base: Views.Views è un sistema visuale che permette di interrogare, filtrare, ordinare e presentare i contenuti senza dover scrivere manualmente ogni query.Attraverso la sua interfaccia puoi:Selezionare i tipi di contenuto da visualizzare.Scegliere quali campi mostrare.Applicare filtri su prezzi, località e categorie.Creare filtri esposti che il visitatore può utilizzare.Ordinare i risultati secondo criteri differenti.Costruire pagine, blocchi e visualizzazioni riutilizzabili.Collegare dati attraverso relazioni tra entità.E non finisce qui.La stessa View può avere più visualizzazioni, ciascuna con impostazioni specifiche. Puoi utilizzare una pagina per il catalogo completo degli immobili e un blocco per mostrarne una selezione in homepage.Tutto questo si integra con i tipi di contenuto, i campi e le tassonomie che hai già configurato.Naturalmente Views non sostituisce ogni esigenza di programmazione. Per funzionalità particolari possono servire moduli aggiuntivi o codice personalizzato.Ma il vantaggio è evidente: molte funzionalità che in altri contesti richiedono la ricerca e la combinazione di strumenti differenti, in Drupal possono nascere da un unico sistema coerente. 3. I campi non appartengono soltanto agli articoli↑ Torna al menuIn WordPress siamo abituati a ragionare soprattutto in termini di articoli, pagine, utenti e Custom Post Types. Drupal introduce un concetto più generale: le entità.Un contenuto, un utente, un termine di tassonomia e altri oggetti del sistema possono essere gestiti attraverso strutture ben definite. Molte entità possono avere campi personalizzati. Per esempio, puoi aggiungere a un utente informazioni professionali, competenze, fotografie o riferimenti ad altri contenuti.Questi dati possono poi essere utilizzati nelle visualizzazioni, nei filtri e nelle relazioni tra entità.Questo approccio rende Drupal particolarmente interessante quando un sito deve gestire informazioni articolate e collegate tra loro.4. La configurazione può diventare parte del progetto↑ Torna al menuImmagina di sviluppare un sito sul tuo computer. Crei tipi di contenuto, campi, viste, ruoli e permessi.Quando arriva il momento di pubblicare il progetto, come trasferisci tutte queste configurazioni?Drupal dispone di un sistema di Configuration Management che consente di esportare molte configurazioni in file YAML.Questi file possono essere conservati in Git e trasferiti tra ambienti di sviluppo, test e produzione.Naturalmente bisogna distinguere tra configurazione e contenuti: non tutto viene esportato attraverso questo sistema. Ma il principio è interessante.La struttura del sito può essere gestita come parte del codice del progetto.Per chi lavora con Composer, Git e ambienti di sviluppo locali, questa possibilità merita attenzione.5. Drupal può essere anche una base per applicazioni web↑ Torna al menuArriviamo alla differenza che personalmente trovo più stimolante. Un CMS non deve necessariamente limitarsi alla pubblicazione di articoli, fotografie e pagine istituzionali. Immagina una guida digitale per un castello.Il visitatore inquadra un QR code, seleziona una sala e visualizza informazioni, immagini e contenuti dedicati. Oppure un'applicazione per un B&B, con itinerari, luoghi da visitare e informazioni personalizzate. Queste applicazioni possono essere sviluppate anche senza CMS, oppure utilizzando WordPress.Ma Drupal offre strumenti interessanti quando servono contenuti strutturati, relazioni, permessi, API e un'interfaccia amministrativa per gestire le informazioni. In alcuni casi può essere eccessivo. In altri può rappresentare una buona base per costruire un'applicazione destinata a evolversi.Il punto non è utilizzare Drupal ovunque.Il punto è conoscere strumenti diversi per poter scegliere quello più adatto al progetto.L'intelligenza artificiale sta cambiando il nostro lavoro. E tu, come stai cambiando?↑ Torna al menuC'è un altro motivo per cui oggi credo sia importante allargare le proprie conoscenze.L'intelligenza artificiale sta rendendo accessibili attività che fino a poco tempo fa richiedevano competenze tecniche specifiche. Oggi è possibile chiedere a un assistente AI di generare codice PHP, scrivere CSS, configurare funzionalità, suggerire plugin e persino contribuire alla realizzazione di un intero sito web.Questo non significa che tutti siano diventati sviluppatori.Ma significa che il semplice fatto di saper costruire un sito non rappresenta più, da solo, lo stesso vantaggio competitivo di qualche anno fa.Pensiamo al mondo WordPress. Per anni una parte importante del lavoro ha ruotato intorno alla scelta del tema, alla ricerca del plugin giusto, alla configurazione del page builder e all'integrazione di strumenti differenti.È un lavoro che richiede ancora competenze, soprattutto quando entrano in gioco sicurezza, prestazioni, compatibilità e manutenzione.Ma dobbiamo porci una domanda.Se l'intelligenza artificiale rende sempre più semplice assemblare un sito, quale sarà domani il valore aggiunto del professionista?Secondo me, la risposta non può essere cercare ancora più velocemente il prossimo plugin. Dobbiamo imparare a progettare meglio. Comprendere come sono organizzati i dati, come comunicano i diversi componenti di un'applicazione, come si costruiscono funzionalità riutilizzabili e come si sceglie una tecnologia in base alle reali necessità.In altre parole, dobbiamo uscire dalla logica del semplice assemblaggio e ampliare la nostra visione dello sviluppo web.E qui entra in gioco la formazione.Non necessariamente per abbandonare WordPress, che continua a essere uno strumento valido e adatto a moltissimi progetti. Ma per andare oltre ciò che già conosciamo.Drupal può rappresentare una di queste opportunità.Studiare i suoi Content Types, Views, il sistema delle entità, la gestione della configurazione e le sue API significa entrare in contatto con un modo differente di organizzare e sviluppare applicazioni web. Anche se continuerai a lavorare prevalentemente con WordPress, queste conoscenze potranno aiutarti a ragionare in modo più ampio.Perché l'intelligenza artificiale può aiutarti a scrivere codice, ma resta fondamentale sapere cosa costruire, perché costruirlo e come verificarne il funzionamento.La vera sfida non è competere con l'intelligenza artificiale nella velocità di esecuzione. È diventare professionisti capaci di utilizzarla con maggiore consapevolezza, competenza e visione.Devi abbandonare WordPress per imparare Drupal?↑ Torna al menuAssolutamente no. Anzi, credo che conoscere WordPress possa essere un vantaggio quando inizi a studiare Drupal.Hai già familiarità con PHP, database, temi, plugin, amministrazione dei contenuti e sviluppo web.Quello che cambia è il modo in cui questi elementi vengono organizzati.Imparare Drupal può aiutarti a vedere problemi che già conosci da una prospettiva differente. E questa è una buona ragione per studiarlo, anche se continuerai a utilizzare WordPress per molti dei tuoi progetti.Non si tratta di scegliere una bandiera. Si tratta di ampliare le proprie competenze prima che sia il mercato a costringerci a farlo.
/* Indice dell'articolo: stili limitati a questa pagina */
.drupal-article-index{margin:32px 0 42px;padding:24px;background:#edf7fc;border:1px solid #cbe4f2;border-left:5px solid #0879b9;border-radius:12px;font-family:inherit}
.drupal-article-index .index-heading{margin:0 0 15px;font-size:1.3rem;font-weight:700;color:#143c56}
.drupal-article-index ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.drupal-article-index li{margin:0;padding:0}
.drupal-article-index a{display:flex;align-items:center;gap:12px;height:100%;padding:12px 14px;background:#fff;border:1px solid #d9e8f1;border-radius:8px;color:#17465f;text-decoration:none;line-height:1.4;transition:background .2s,border-color .2s}
.drupal-article-index a:hover,.drupal-article-index a:focus-visible{background:#d9effb;border-color:#0879b9;text-decoration:underline}
.drupal-article-index .index-num{font-weight:800;color:#0879b9;flex-shrink:0}
.drupal-article-return{text-align:left;margin:2px 0 20px;font-size:.8rem;line-height:1.4}
.drupal-article-return a{color:#0879b9;text-decoration:none;font-weight:600}
.drupal-article-return a:hover,.drupal-article-return a:focus-visible{text-decoration:underline}
.drupal-article-section{scroll-margin-top:110px}
@media(max-width:640px){.drupal-article-index{padding:18px 14px}.drupal-article-index ol{grid-template-columns:1fr}.drupal-article-index a{padding:11px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
/* =========================================
PROGETTIMULTIMEDIALI
CTA FORMAZIONE DRUPAL - FULL WIDTH
========================================= */
.pm-drupal-cta {
--pm-accent: #176b82;
--pm-dark: #173f50;
width: 100vw;
max-width: none;
margin: 45px 0 30px;
margin-left: calc(50% - 50vw);
padding: 55px max(24px, calc((100vw - 960px) / 2));
background: linear-gradient(
145deg,
#eef7fa,
#f8fafc
);
border-top: 3px solid #b8d7e2;
border-bottom: 3px solid #b8d7e2;
border-left: none;
border-right: none;
border-radius: 0;
box-shadow: none;
font-family: inherit;
color: #344d5b;
box-sizing: border-box;
}
.pm-drupal-cta * {
box-sizing: border-box;
}
/* Etichetta superiore */
.pm-drupal-cta .pm-eyebrow {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 17px;
color: var(--pm-accent);
font-size: 12px;
font-weight: 700;
letter-spacing: 1.6px;
text-transform: uppercase;
}
.pm-drupal-cta .pm-eyebrow::before {
content: "";
width: 26px;
height: 3px;
background: var(--pm-accent);
border-radius: 3px;
}
/* Titolo */
.pm-drupal-cta h2 {
margin: 0 0 20px;
font-size: clamp(26px, 3.2vw, 38px);
line-height: 1.2;
font-weight: 750;
color: var(--pm-dark);
}
/* Paragrafi */
.pm-drupal-cta p {
margin: 0 0 18px;
font-size: 16px;
line-height: 1.8;
}
/* Elenco percorsi */
.pm-drupal-cta .pm-course-list {
display: grid;
gap: 12px;
margin: 25px 0;
padding: 22px;
list-style: none;
background: #fff;
border: 1px solid #dce6eb;
border-radius: 14px;
}
.pm-drupal-cta .pm-course-list li {
display: flex;
align-items: flex-start;
gap: 12px;
margin: 0;
padding: 0;
font-size: 15px;
line-height: 1.6;
list-style: none;
}
.pm-drupal-cta .pm-course-list li::before {
content: "✓";
flex: 0 0 23px;
display: grid;
place-items: center;
width: 23px;
height: 23px;
margin-top: 1px;
border-radius: 50%;
background: #e4f3f7;
color: var(--pm-accent);
font-size: 14px;
font-weight: 800;
}
/* Pulsante */
.pm-drupal-cta .pm-button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 12px;
margin-top: 8px;
padding: 15px 27px;
background: var(--pm-accent);
color: #fff !important;
border-radius: 11px;
font-size: 16px;
font-weight: 700;
line-height: 1.4;
text-align: center;
text-decoration: none !important;
box-shadow: 0 7px 18px rgba(23,107,130,.18);
transition: background .2s, transform .2s;
}
.pm-drupal-cta .pm-button:hover {
background: #105267;
color: #fff !important;
transform: translateY(-2px);
}
.pm-drupal-cta .pm-button:focus-visible {
outline: 3px solid #173f50;
outline-offset: 3px;
}
/* =========================================
INVITO AI COMMENTI
========================================= */
.pm-drupal-discuss {
max-width: 960px;
margin: 30px auto 40px;
padding: 20px 25px;
border-left: 4px solid #176b82;
background: #f8fafc;
border-radius: 0 12px 12px 0;
}
.pm-drupal-discuss h3 {
margin: 0 0 9px;
color: #173f50;
font-size: 21px;
}
.pm-drupal-discuss p {
margin: 0;
color: #344d5b;
line-height: 1.7;
}
/* =========================================
SMARTPHONE
========================================= */
@media (max-width: 600px) {
.pm-drupal-cta {
padding: 35px 20px;
margin-top: 30px;
margin-bottom: 25px;
}
.pm-drupal-cta h2 {
font-size: 27px;
}
.pm-drupal-cta .pm-course-list {
padding: 18px 15px;
}
.pm-drupal-cta .pm-button {
display: flex;
width: 100%;
}
.pm-drupal-discuss {
padding: 18px;
}
}
/* Accessibilità */
@media (prefers-reduced-motion: reduce) {
.pm-drupal-cta .pm-button {
transition: none;
transform: none;
}
}
Formazione Live · DrupalUsi WordPress? È il momento di scoprire Drupal.Conoscere WordPress è già un buon punto di partenza per avvicinarsi a Drupal. Se le differenze che abbiamo esplorato in questo articolo ti hanno incuriosito, puoi approfondirle attraverso i miei percorsi di Formazione Live dedicati a Drupal.Installazione di Drupal in locale con DDEV e ComposerInstallazione e pubblicazione su hosting condivisoProgettazione di siti professionali con Content Types, Fields, Views e funzionalità avanzateLa formazione si svolge online e individualmente, con esempi concreti e contenuti adattabili alle tue conoscenze e ai tuoi obiettivi.Scopri i percorsi Drupal → E tu, cosa ne pensi?Utilizzi WordPress? Hai già provato Drupal? Quali differenze trovi più interessanti o più difficili da affrontare? Racconta la tua esperienza nei commenti.