Tag: Mondo WordPress 😃

  • 10 cose che ancora mancano in WordPress, secondo me

    10 cose che ancora mancano in WordPress, secondo me

    Se mi leggete da poco, non preoccupatevi: non voglio diventare monotematico con le liste top-10. So bene che questo genere di articoli tende a spopolare anche sui quotidiani e sui blog generalisti, ma è da qualche tempo che ho in mente quali potrebbero essere le 10 cose più importanti da integrare nel nostro amato/odiato WordPress. Open source e free da sempre, è uno dei CMS per blog più usati al mondo, con un considerevole insieme di API e funzioni native molto potente, quanto altrettanto poco conosciuto.

    Andiamo a vedere, quindi, senza ulteriori chiacchiere, quali potrebbero essere le 10 cose da integrare o aggiungere con urgenza in WP, che potrebbero essere utilissime ai vari blogger. Ovviamente il mio discorso vuole essere produttivo al massimo, per cui prendete queste considerazioni come suggerimenti di massima e spunti per eventuali vostri contributi al lavoro (e magari anche miei, se riuscirò a trovare tempo e modo per farlo).

    La gestione dei menù dal backend

    Ricordo con orrore quanto fosse primitivo e poco immediato il sistema di gestione del menù via backend anni fa (più o meno versione di WordPress dalla 2.0 alla 3.0); a volte capitava che non funzionasse più, e che facesse saltare i contenuti, non salvandoli o facendo solo in parte. Un incubo, insomma.

    Ad oggi per fortuna è migliorato parecchio, questo senza dubbio, ma a volte ancora tende a funzionicchiare (spesso dipende dal conflitto di plugin e theme con jQuery, specie se non fatti proprio a regola d’arte) e soprattutto è difficile, quasi impossibile da gestire se le voci di menù tendono ad aumentare e a diventare troppe. Questo è il punto cruciale, la vera criticità  che gli sviluppatori del core dovrebbero decidersi ad affrontare, e spero che lo facciano presto. E visto che ci siamo, sarebbe il caso di integrare nativamente le icone di categoria di WordPress o meglio ancora di Font Awesome, in modo da poterle affiancare nei menù senza doversi ammazzare ad integrare JS e CSS.

    Più visibilità  alle feature importanti (come la CDN gratuita)

    Una maggiore visibilità  alle feature importanti, come ad esempio la CDN gratuita di Jetpack: negli anni dell’esplosione delle CDN in pochi si sono guardati dal segnalare questa importante opportunità , a cui ho dedicato un articolo apposito e su cui non voglio dilungarmi troppo. Ci sono feature nascoste in WP che semplificano di molto la vita all’utente, ed è davvero un peccato non farne uso, secondo me: diversamente, è come usare una macchina col freno a mano mezzo tirato.

    Farsi capire meglio

    Farsi capire meglio dai “non addetti” ai lavori. WordPress lo usano tutti, ed è importante che riesca chiunque a farne uso, anche se non specificatamente del settore. In generale, a parte che molte caratteristiche andrebbero valorizzare prima di tutto dagli sviluppatori, e documentate meglio, gli stessi a volte nel trac (che consulto spesso durante le mie consulenze) pubblicano comunicazioni criptiche, a volte, e peccanodi comprensibilità  delle comunicazioni riservandolo troppo, ancora, ai coder nudi (ovviamente in senso figurato) e crudi. Piccola pecca che, con il massimo rispetto possibile, penso si possa e si debba correggere.

    Un editor e delle API chiare per personalizzare rapidamente il backend

    Un modo per modificare ed agire liberamente sul backend di WP – WordPress non supporta ancora troppo bene le modifiche al backend, che spesso sono richieste dai clienti finali e che non sempre sono fattibili. Di fatto, basterebbe estendere tutti gli hook del front-end (di cui il sistema è ricchissimo) con altrettanti del backend, ovviamente per le sezioni corrispondenti.

    Valorizzare meglio le REST API

    Una documentazione più esemplificativa delle REST API di WP, che al momento è ancora vaga e consiste in una documentazione molto formale e priva di esempi troppo pratici. Anche qui, questione di dettagli.

    Una documentazione più esemplificativa e chiara delle API di Woocommerce

    E vale lo stesso discorso per alcune funzioni ambigue di Woocommerce, che a volte a funzionano, altre no. Sono un autentica forza della natura ed evitano la scrittura di centinaia di righe di codice: in pochi attimi riuscirete ad editare, aggiungere e rimuovere prodotti dal vostro e-commerce, emettere ordini automatizzati e così via. Il problema, anche qui, è che gli esempi pratici di uso sono un po’ latitanti, e non è banalissimo farne uso se non si fanno dei test preventivi. Resta un mistero il motivo per cui installato sul mio Macbook non funzioni in alcun modo.

    Catalogare meglio i theme del repository ufficiale

    Nel repository ufficiale non sempre è facile trovare il theme che si desidera, e l’interfaccia di ricerca non è sempre all’altezza delle aspettative, è macchinosa per certi versi, anti-intuitiva in parte: per cui, mi sembrerebbe importante riuscire a renderla più amichevole per gli utenti, anche perchè così ridurremmo il numero di siti che usa theme dubbi o discutibili fuori dal repository ufficiale o piratati, peggio ancora.

    RIvedere il modello EAV per la memorizzazione dei dati

    Questo riguarda la memorizzazione dei dati in WP, per cui se non siete troppo addentrati nel settore potete saltare questo punto. Su questo ho scritto qualche giorno fa, è un modello di rappresentazione dei dati nel db basato su una tripletta come Entità , Valore e Attributo: rimango sostanzialmente favorevole alla sua introduzione ed uso, anche perchè per i programmatori è pratico e semplice realizzare qualsiasi cosa. Non fosse altro che in moltissimi casi ho dovuto gestire query MySQL con molte colonne, e l’idea di compattare il tutto in sole tre righe, con la possibilità  di ottimizzare periodicamente gli indici, mi sembra davvero allettante. Il problema è che questa cosa non è nota, e questo si ricollega direttamente al punto finale.

    Far capire meglio a cosa servano i framework

    I framework – Vanno quasi bene quelli attuali, pero’ deve anche essere chiaro il senso di quello che si fa: forse un po’ di riferimenti meno per specialisti nella documentazione di WP non guasterebbero. Sennò, ora come ora, chi usa i framework difficilmente riesce a rendersi conto di quello che stia facendo davvero, ed il più delle volte li usa senza rendersene conto (ad esempio perchè sono obbligatori per l’uso un theme)

    Usare WP in modo più efficente

    Tutti usano WordPress allo stesso modo: cambiamo le cose! – Nella maggioranza dei casi chi usa WP lo fa così: installa un theme gratuito o a pagamento, e per ogni funzione di cui ha bisogno installa un diverso plugin. Si tratta di una standardizzazione di comportamento dovuta a più fattori (tutti si credono webmarketer, tutti pensando in grande, quasi nessuno possiede un approccio progettuale al problema, le competenze poi… queste sconosciute).

    Può andare bene per carità , ma è sostanzialmente inefficente, della serie poi non lamentatevi che il sito è lento. L’approccio più essenziale che ho provato a sviluppare in questi anni, anche per Trovalost.it, alla fine, prevede che si snelliscano alcune cose del core ma questo può essere fatto 1) se siete sviluppatori full stack avanzati 2) se avete consapevolezza di ciò che non vi servirà  sicuramente (ad esempio è relativamente facile disabilitare i widget completamente per velocizzare il sito, ma bisogna vedere se poi non vi venga in mente in usarli in seguito). Insomma, anche qui un po’ di aiuto per l’utente finale sarebbe gradito.

     

  • WordPress più performante del 15% usando temi RESTful: la nuova frontiera?

    WordPress più performante del 15% usando temi RESTful: la nuova frontiera?

    Ci siamo chiesti in più occasioni quali tecniche utilizzare per velocizzare il nostro sito in WordPress: in questo articolo vedremo un aspetto molto recente legato a questa tecnologia, e che permette di velocizzare le prestazioni anche semplicemente installando un nuovo tema. L’utilizzo delle API RESTful si sta affermando in maniera sempre più pressante in numerosi ambiti del web, che vanno da Angular di Google fino allo sviluppo di app ibride in Ionic; anche WordPress non poteva rimanere indifferente a questa tendenza, ed è per questo che da circa un anno si sta affermando l’uso della propria libreria RESTful.

    La cosa interessante è che l’approccio REST offre nuove opportunità  in termini di prestazioni dei siti web in WordPress, e questo avviene in particolare se il theme che scarichiamo è sviluppato secondo questo metodo di progettazione. Bisognerà  vedere quanto sarà  seguito e supportato dalla community open source nei prossimi mesi, ma c’è da scommettere che possa diventare un rinnovato standard per progettare siti web in WP sempre più veloci.

    Vantaggi del RESTful per WordPress

    I potenziali benefici derivanti dall’uso dell’API REST di WP, ampiamente – lo ricordo – documentata sul sito wp-api.org, potrebbero non essere ovvi per gli sviluppatori di theme. Alcuni tra i più ovvi sono certamente i seguenti:

    • Design: diventa possibile abilitare transizioni “morbide” (o smooth, sfumate) tra una pagina e l’altra;
    • Velocità : mediante REST si possono memorizzare le pagine, gli articoli ed i menu di WP all’interno di un’area di memoria del browser detta localStorage, che permette di attivare pre-cariche piuttosto efficenti dei dati. Se i contenuti dei post vengono pre-caricato all’inizio della home, ad esempio, quando saranno cliccati sarà  questione di attimi per vederli, riducendo drasticamente il numero di chiamate HTTP(S);
    • Cache ottimizzata: L’uso di REST permette agli sviluppatori di theme di disporre di meccanismi di cache diversamente non disponibili in WP, e di potenziarne l’uso mediante appositi hook realizzati per l’occasione.

    Un test sul campo: REST vs AJAX

    Matt Shaw di deliciousbrains.com ha fatto un piccolo test (benchmark) per valutare i tempi di caricamento delle pagine con theme sviluppato in REST e theme realizzato con le classiche chiamate a  admin-ajax.php. Quello che è emerso è che l’uso delle nuove REST permette di ridurre fino al 15% i tempi di caricamento delle pagine, specialmente per quei siti molto ricchi di plugin. Questo ovviamente diventa possibile, nella pratica, sfruttando due opportunità :

    1. theme con tecnologia REST (quindi ad esempio temi Angular o ReactJS per WP);
    2. cache su WP-REST (il plugin sperimentale wp-rest-api-cache), per potenziare ulteriormente il caricamento ed i tempi di risposta.

    A livello pratico la prima cosa di cui è facile accorgersi è la modalità  più smooth, o morbida, con cui avviene la transazione sulle pagine singole dei post: piutosto che cambiare bruscamente, infatti, si vedrà  un effetto di caricamento che è, se non altro, più gradevole (ed un po’ più veloce, in media).

    Quelli che sono riportati di seguito sono alcuni dei theme che supportano REST che ho trovato fino ad oggi.

    Theme WordPress che supportano REST

    Non tutti i theme sono disponibili nel repository ufficiale di WP, e di alcuni è disponibile solo il codice GitHub da scaricare ed utilizzare manualmente.

    Ricordo che alcuni dei temi proposti sono sperimentali e che non tutti potrebbero fare al caso vostro, visto che non sempre garantiscono retrocompatibilità  con le funzionalità  richieste dal vostro sito. Ad oggi, quindi, la tecnologia è molto promettente ma ancora in sperimentazione, alcuni theme non sembrano funzionare perfettamente ed i temi free sviluppati con tecnologia REST o Angular non sono moltissimi. Discorso a parte andrebbe fatto per la compatibilità  dei vari plugin, da verificare caso per caso, e sull’eventualità  di conflitti di funzionamento con componenti pre-esistenti.