Fork me on GitHub
con Valerio Galano

Il podcast dove si ragiona da informatici

Un informatico risolve problemi, a volte anche usando il computer

Riflessioni e idee dal mondo del software

Episodio del podcast

Consigli per sviluppare soluzioni in WordPress

3 ottobre 2021 Podcast Episodio 68 Stagione 2
Consigli per sviluppare soluzioni in WordPress

Descrizione

WordPress può sembrare un CMS di banale utilizzo, ma ciò non è affatto vero. Nell’episodio di oggi parliamo di qualche regola di base da seguire quando si avvia un progetto.

I link dell’episodio di oggi:
Il sito fai-da-te? Sicuri che conviene? - https://www.spreaker.com/episode/17277876
La filosofia della programmazione in WordPress - https://www.spreaker.com/episode/40074897
Da WordPress a Hugo: cronache di una conversione - https://www.spreaker.com/episode/21723629

Attrezzatura:
Shure Microfono Podcast USB MV7 - https://amzn.to/3862ZRf
Neewer NW-5 Pannello fonoassorbente - https://amzn.to/3rysTFP

Utilizzando i link affiliati, il costo di un qualsiasi acquisto non sarà maggiore per te, ma una piccola parte del ricavato servirà per sostenere il progetto.

Produttori:
Alex Ghibellini

Sostieni il progetto

Sostieni tramite Satispay
Sostieni tramite Revolut
Sostieni tramite PayPal
Sostieni utilizzando i link affiliati di Pensieri in codice: Amazon, Todoist, ProtonMail, ProtonVPN, Satispay

Partner

GrUSP (Codice sconto per tutti gli eventi: community_PIC)
Schrödinger Hat

Crediti

Sound design - Alex Raccuglia
Voce intro - Maria Chiara Virgili
Voce intro - Spad
Musiche - Kubbi - Up In My Jam, Light-foot - Moldy Lotion, Creativity, Old time memories
Suoni - Zapsplat.com
Cover e trascrizione - Francesco Zubani

Mostra testo dell'episodio

Nascondi

Quella che segue è una trascrizione automatica dell'episodio.

Per quanto alcuni sviluppatori delle ultime generazioni possano ritenerlo superato, WordPress resta uno degli strumenti più utilizzati per lo sviluppo di soluzioni web per privati, professionisti e piccole aziende. Complice la sempre maggiore semplificazione e diffusione di servizi hosting e cloud, questo CMS è anche quasi sempre disponibile in pochi click ed è ampiamente supportato da tantissimi provider e gestori di servizi. Questo fatto lo rende la soluzione ideale per progetti non troppo grandi e complessi, che poi nella realtà sono la stragrande maggioranza. Ma che si parli di progetti personali, professionali o aziendali, realizzati in autonomia o affidati a professionisti, secondo me vale sempre la pena di tenere a mente qualche piccola regola di base in modo da poter essere un po’ più sicuri di cosa si sta realizzando o acquistando. In questo episodio, quindi, ho pensato di raccogliere qualche piccolo consiglio su quali valutazioni effettuare quando si avvia un progetto basato su WordPress. La sigla, e poi ne parliamo un po’. Benvenuti su Pensieri in Codice, il podcast dove si ragiona da informatici, con Valerio Galano. Innanzitutto ci tengo a dirti che quelle che sto per raccontarti sono opinioni personali ed è importante che tu le prenda come tali, quindi non considerarle oro colato, ma fa le tue e adattale al tuo particolare contesto, ovviamente sempre usando la testa. Le osservazioni che sto per fare sono il frutto della mia esperienza professionale, che sviluppando soluzioni per lo più in PHP, mi ha portato a interagire molto spesso e anche attualmente con questo particolare CMS. Nel corso degli anni ho utilizzato WordPress per sviluppare siti vetrina, siti e-commerce, ho implementato personalizzazioni anche molto verticali, integrazioni con altri software, sia open source che proprietari, processi automatizzati e molto altro. Quello che ti dirò oggi ti potrà servire come una lista di cose da tenere a mente nel momento in cui deciderai di tirare su un sito web con WordPress. E questo sia che tu lo voglia fare personalmente o affidandoti a un professionista o un’azienda, sono consigli che valgono in ogni caso. Ma attenzione, se sai di non averne le competenze, non prendere questo episodio come un incitamento a realizzare da solo il tuo sito web. Il fatto che WordPress ti permetta di fare alcune cose in modo molto semplice non vuol dire che il risultato sarà necessariamente apprezzabile e di valore. In questi casi è fondamentale valutare quanto è importante il progetto per te o per la tua azienda. E nel caso in cui questa valutazione vada oltre il livello amatoriale, diventa saggio rivolgersi a dei professionisti, perché il modo in cui viene realizzato il sito web può decretare il successo o il fallimento della attività che rappresenta. Se non l’hai già fatto ti consiglio di recuperare, credo, il quarto episodio di Pensieri in Codice nel quale si parlava del sito fai-da-te, giusto anche solo per scoprire quante figure sono necessarie per realizzare un sito fatto come si deve. Detto ciò, spero di aver esaurito le dovute premesse e passiamo a parlare di WordPress. La prima riflessione da fare quando si decide di sviluppare un progetto in WordPress può sembrare un po’ strana, ma per quella che è la mia esperienza, le persone raramente si soffirmano su questo punto. Ed in particolare sto parlando di dare una risposta alla domanda… mi conviene effettivamente utilizzare WordPress per il mio progetto? Sì, perché indubbiamente stiamo parlando di un CMS molto flessibile e pensato per soddisfare moltissime necessità. Ma ciò non vuol dire che esso possa soddisfare qualsiasi necessità. Ad esempio, se hai bisogno di un sito molto semplice, magari statico, o che varia molto poco nel corso del tempo, magari potresti usare una tecnologia diversa da WordPress. Io ad esempio per il mio sito personale ho utilizzato Yugo, e a questo proposito puoi trovare un episodio di Pensieri in Codice proprio sulla cronaca della migrazione del mio sito personale da WordPress a Yugo, magari te lo linko in descrizione se lo vuoi recuperare. Per quanto infatti possa sembrare semplice, WordPress resta comunque un CMS, e cioè un software con un database delle dipendenze e degli aggiornamenti. Questo significa che ha bisogno di un certo grado di manutenzione. E se da un’analisi preliminare ti rendi conto che magari accederai più spesso al backoffice di questo WordPress per fare gli aggiornamenti piuttosto che per modificare i contenuti, allora forse può risultare più conveniente utilizzare una tecnologia che di aggiornamenti non ne ha bisogno, come un sito statico. Un altro esempio nel quale potrebbe non convenire utilizzare questo CMS è quello diametralmente opposto, cioè nel caso in cui tu debba realizzare un software molto complesso o che in generale si discosta molto dalla struttura base di WordPress. Se ad esempio ti occorre un CRM o un ERP o comunque una soluzione che sia fortemente personalizzata sul tuo business model, allora è probabile che WordPress non sia il punto di partenza corretto. A quel punto ti potrebbe convenire utilizzare altri framework o addirittura altre tecnologie, questo dipende dalle tue necessità. Infine, ho un terzo esempio nel quale credo che valga la pena evitare WordPress, e questo viene proprio dalla mia esperienza personale. Sto parlando del caso in cui abbiamo bisogno di un sito di e-commerce particolarmente complesso. Ora, seguimi un attimo con attenzione perché complesso può significare molte cose, e io mi riferisco in particolare ad una complessità sui listini per utente. Se sai di dover tirare su un sito di e-commerce dove ci sono molte tipologie di utenti di diversi, i quali magari hanno per gruppi o addirittura per singolo utente listini diversi quindi prezzi diversi per gli stessi prodotti o sconti diversi sugli stessi prodotti, potresti incappare in vari problemi. Nel momento in cui hai necessità di un tale tipo di complessità, forse una soluzione basata su Magento, pur meno economica dal punto di vista della realizzazione e della manutenzione potrebbe venire meglio incontro ai tuoi bisogni. Esclusi quindi questi casi specifici, hai deciso che la tua soluzione va implementata tramite WordPress. Una cosa importante che devi valutare già prima di iniziare è che avrai bisogno di un hosting performante. Ora, come consulente freelance ho visto installare WordPress su tantissime tipologie di server differenti, dagli hosting di Aruba o Register fino alle cloud come AWS o Azure, il tutto passando per server privati sia molto professionali che di fortuna. Qualunque sia la tua scelta, quello che devi sapere è che nonostante tutti gli aggiornamenti che nell’ultimo periodo stanno migliorando la situazione, né il PHP né WordPress sono famosi per essere gentili con le risorse di sistema. Quindi, se conti di avere almeno 10 visite al giorno e stai pensando di acquistare il servizio più economico con mezzo core e 256 MB di RAM, beh, inizia già a ricrederti perché ti troverai in difficoltà in un secondo momento. In particolare, se parliamo di volumi di traffico seri, la presenza di varie cache potrebbe essere enormemente d’aiuto e mi riferisco ad una web cache per la presentazione dei contenuti e magari anche ad una cache per il database, magari qualcosa come Redis. Quello che devi tenere sempre bene a mente è che scegliere in maniera oculata questi servizi avrà un enorme impatto sull’esperienza utente. Sempre parlando di server, ma questa volta più da un punto di vista della gestione, è importante che il servizio che scegliamo abbia un sistema di backup e che sia anche relativamente efficiente dal punto di vista della sicurezza. Per il backup è necessario verificare che il servizio che stiamo andando ad acquistare lo comprenda in maniera nativa oppure ci permetta, magari con un sovrapprezzo, di acquistarlo separatamente. Il fatto che il nostro codice e il nostro database siano in cloud non li rende indistruttibili, essi possono essere soggetti ad attacchi o comunque anche il provider può perdere i nostri dati per errore o chiudere il nostro account per una violazione. Per il problema sicurezza invece è innanzitutto necessario eseguire le cosiddette operazioni di hardening sul nostro WordPress che servono appunto a renderlo meno attaccabile, ma è anche buona norma, questo in realtà soprattutto quando si parla di server autogestiti, assicurarsi che i permessi di file e utenti siano correttamente configurati e che il server stesso li gestisca nel modo corretto. Questo te lo dico perché mi è successo più di una volta che qualche cliente gestisse internamente il proprio server e al momento dell’installazione o dell’aggiornamento dei siti già una discrepanza tra l’utente ftp con il quale venivano caricati i file e l’utente di Apache con il quale veniva eseguito il sito mi ha creato varie difficoltà, quindi da allora me ne assicuro prima di iniziare. Deciso quindi di utilizzare WordPress e dove installarlo, il passo successivo è quello di conoscerlo più a fondo possibile. E’ vero che di base stiamo parlando di un software non troppo complicato, ma in ogni caso va esplorato, vanno provate le varie funzionalità, soprattutto il nuovo editor Gutenberg che è molto più potente di quello che c’era in precedenza, conviene poi studiare le varie novità ogni volta che viene rilasciata una nuova versione, cosa che accade molto di frequente e tutto questo ha lo scopo di non fare lavoro o di installare componenti superflui. Capita infatti spesso che alcuni sviluppatori installino il WordPress base e poi subito partano ad aggiungere i plugin che usano da tempi in memory, ma con il passare del tempo molte funzionalità sono state portate da plugin esterni verso il core e la stessa cosa vale anche per i plugin più importanti, penso a WooCommerce o a BuddyPress. A poco a poco le funzionalità più interessanti e importanti vengono inglobate da questi grossi software fino al punto di rendere a volte superflua l’installazione di determinati plugin che magari eravamo abituati a usare un paio di anni fa. In generale, e questo vale in qualsiasi caso nello sviluppo software quando si parte da una base preesistente, conviene conoscerla al meglio possibile. Conoscere il framework, conoscere la tecnologia, in questo modo si evita di svolgere lavoro in più andando a includere o addirittura a sviluppare righe di codice che in realtà non sono necessarie. Un altro momento critico nella vita di un progetto WordPress si verifica quando c’è necessità di installare nuovi componenti. Quando infatti selezioniamo il tema o i plugin da includere nel nostro progetto dobbiamo innanzitutto restringere la rosa dei candidati a quelli più votati e più utilizzati, nonché i più aggiornati. E questo perché dobbiamo considerare che probabilmente faremo uso di questi componenti almeno per i prossimi due o tre anni. E’ importante che essi siano stabili, che funzionino correttamente, ma soprattutto che siano manutenuti nel tempo. Installare già oggi un plugin il cui ultimo aggiornamento risale a più di un anno fa potrebbe rivelarsi un problema in futuro. Metti che dovesse venire fuori un problema di sicurezza nel codice, se l’autore ha abbandonato il progetto è improbabile che si adoperi per correggerlo. In quel caso il problema resterà a te, sarai tu a dover correggere il bug di sicurezza oppure a dover cambiare il plugin con tutto quello che ciò comporta in termini di costi di migrazione. Quindi una volta ristretta questa rosa dei candidati converrebbe fra essi scegliere i plugin minimali e eventualmente un tema starter. Ovviamente qui la selezione va fatta in base alle necessità del progetto, però in linea generale conviene sempre selezionare quei componenti che soddisfano i requisiti ma che non hanno troppe funzionalità superflue. E questo evidentemente perché l’aggiunta di codice è sempre un possibile vettore di bug o di problemi di sicurezza, quindi evitare di aggiungere codice superfluo è sempre una buona idea. In definitiva quando sei alla ricerca dei tuoi componenti spendi un po’ di tempo a leggere le recensioni o a provarli addirittura, magari se ne sei in grado a guardare il codice, vedere se è scritto in modo pulito, se è ben documentato e se utilizza gli hook. E anche qui se non sai cos’è un hook potresti recuperare l’episodio sulla filosofia dello sviluppo in WordPress, lo trovi sempre in descrizione o nel feed del podcast. In ultimo se hai fatto tutto il possibile con WordPress e i componenti disponibili e hai ancora necessità di alcune funzionalità è probabile che tu debba sviluppare delle cosiddette personalizzazioni. Che le sviluppi tu in prima persona o lo faccia fare a dei programmatori è importante che questo codice segua alcune regole di base e questo per far sì che se in un secondo momento un secondo team di sviluppo debba subentrare, questo possa farlo nel modo più indolore possibile e a ciò possono contribuire alcuni piccoli accorgimenti. Ad esempio, nello scrivere il codice è importante seguire gli standard codes e mi riferisco sia a quelli del PHP sia a quelli di WordPress o addirittura a quelli dell’HTML e CSS se si stanno implementando modifiche grafiche. In secondo luogo è molto molto importante utilizzare il concetto del tema figlio, lo trovi sempre spiegato nell’episodio sulla filosofia dello sviluppo in WordPress ed è importante perché permette di eseguire tutti gli aggiornamenti senza rischiare problemi di sovrascrittura del codice personalizzato. Poi, quando possibile, conviene sempre sviluppare in modo minimale, realizzare le funzionalità scrivendo meno codice possibile e intaccando il meno possibile la logica di base. Un buon sviluppatore WordPress dovrebbe preferire sempre l’utilizzo degli hook sia per i plugin sia per il tema, in questo modo potrà sviluppare la propria logica mantenendosi il più possibile consistente con la logica di base, correndo così meno rischi di sovrascrivere altre funzionalità e di avere problemi in caso di aggiornamenti futuri. Bene, direi che per questo episodio mi posso fermare qui. So di averti dato un sacco di informazioni e forse questo è uno di quegli episodi che vanno ascoltati più di una volta, ma ci tengo a ribadire un concetto che per me è molto importante. Il fatto di applicare questi pochi consigli che ti ho dato non fanno di te automaticamente un buon programmatore WordPress, per quello serve studio ed esperienza. Quindi quando ti troverai a decidere come realizzare i tuoi progetti, sii sempre onesto con te stesso e misura sempre le tue capacità. Nessuno qui sta insinuando che tu sia un cattivo sviluppatore ma tieni sempre presente che un cattivo sviluppatore può far fallire un progetto. Bene, direi che per oggi è proprio tutto, anzi no. Riguardo l’episodio scorso, il numero 64, mi hanno fatto giustamente notare che cracker in realtà si pronuncia cracker, tuttavia data l’eccessiva assonanza con i famosi snack io preferisco la pronuncia all’italiana, quindi cracker, così come pronuncio hacker invece di hacker. Però la pronuncia corretta sarebbe cracker. Detto questo, spero che l’episodio ti sia piaciuto e ti ricordo che se io posso produrre questi contenuti è solo grazie a te che li ascolti e alla community di Pensieri in Codice che sostiene il progetto. Scopri come partecipare e dare una mano anche tu collegandoti al sito pensieriincodice.it con due i. Puoi ascoltare tutti gli episodi sulle maggiori piattaforme e app di podcast o riceverli direttamente su tuo smartphone iscrivendoti al canale telegram. Se Pensieri in Codice ti piace e come al solito se sei arrivato fin qui do per scontato che ti piaccia, puoi condividerlo con un amico e farglielo conoscere, farai un favore ad entrambi. Per oggi quindi è proprio tutto, io ti do appuntamento al prossimo episodio e ti ricordo che un informatico risolve problemi, a volte, anche usando il computer.

Nascondi