Tema WordPress per siti grandi! Mezzo milione di utenti.

Durante gli ultimi mesi ho avuto modo di creare il nuovo tema WordPress per la testata giornalistica Bikeitalia.it, il più grande portale italiano dedicato al mondo della bicicletta!

Il sito è veramente enorme! Contiene quasi 10.000 articoli, suddivisi in centinaia di categorie, più una serie di sezioni separate quali ebook scaricabili gratuitamente, pagine relative agli hotel convenzionati, itinerari visibili sulle mappe google e molto altro.

Non è il classico sitarello vetrina di 4 pagine più un semplice blog.

Quali erano le richieste?

La richiesta era la realizzazione di un nuovo tema per il loro sito in WordPress. Sebbene non fossi un grandissmo fan di questa piattaforma sapevo creare temi e plugin da zero, quindi mi sono messo all’opera. Devo dire che dopo aver utilizzato WordPress per un progetto così grande ho avuto modo di scoprire a fondo le funzionalità di questo CMS, che anche se da un lato sono sicuramente limitanti, dall’altra me lo hanno fatto apprezzare sempre più.

Questo tema avrebbe dovuto seguire i mockup del loro designer che prevedevano un layout differente fra desktop e mobile (non il classico “display:block” e voilà, era più complesso) e inoltre dovevo implementare la possibilità per la redazione di poter modificare il layout delle varie parti del sito inserendo le categorie che volevano dove volevano in qualsiasi momento, in modo da poterle modificare a piacere a seconda del periodo dell’anno.

Per ultimo il sito doveva essere veloce, avere il minor numero di plugin possibile ed essere bello performante.

Come ho realizzato il tema per Bikeitalia.it

Innanzitutto sono partito dal mio starter theme: Orange Starter Theme, uno dei miei progetti open source scaricabile gratuitamente.

Da qua ho iniziato a creare il nuovo sito.

Per le personalizzazione ho utilizzato wp_customize, la funzionalità che permette di modificare il front-end di WordPress tramite la sezione “Aspetto / Personalizza” del backend. Qua ho creato una serie infinita di personalizzazioni, alcune anche molto complesse.

Ho strutturato l’architettura dei file del tema con un modello simil MVC, cercando di suddividere e isolare i vari pezzi di codice in modo che siano facilmente ritrovabili e modificabili. Ho utilizzato molto di ciò che ho imparato con Laravel anche in questo tema.

Il tema è costituito da più di 15.000 file

Il tema è diviso in varie sezioni, sono presenti diversi Custom Post Type e anche Woocommerce.

La gestione di Custom Post Type e Custom Fields è molto buona in WordPress. Devo dire che ho scoperto piacevolmente quanto sia semplice creare sezioni nuove e campi particolari, specialmente grazie al plugin Advanced Custom Fields!

Ho utilizzato il minor numero possibile di plugin. Non ho potuto fare a meno di Woocommerce e tutti i vari plugin per avere i campi di fatturazione italiani, di cloudflare e di un plugin associato al CRM dell’azienda, ma tutto il resto è stato implementato da zero.

Non posso andare più nel dettaglio di così anche per questione di sicurezza.

Cosa mi è piaciuto di WordPress?

Velocità

La rapidità con cui si crea qualcosa in WordPress è sorprendente! Se si devono fare cose seplici ci si mette veramente poco!

Anche le custom query sono semplici da capire e da utilizzare!

Insomma è molto semplice e veloce!

Plugins

Da un lato bisogna cercare di utilizzarne pochi per non appesantire il sito inutilmente, ma ne esistono alcuni veramente molto ben sviluppati e che possono aiutare a risparmiare moltissimo tempo!

Alcuni esempi:

  • Advanced Custom Fields
  • Woocommerce
  • Yoast
  • WordFence

… e ce ne sono molti altri validi e ben siluppati!

Community

La community è veramente molto molto vasta! Per qualsiasi problema c’è una soluzione su qualche forum, e questo è veramente di molto aiuto!

Ovviamente occorre sempre sapere cosa cercare e conoscere un pochino di inglese, ma si può trovare veramente di tutto!

Insomma, WordPress è proprio GRANDE!

Cosa non mi è piaciuto di WordPress?

Database

Per prima cosa è mancato lavorare con il database. WordPress ti obbliga a creare e gestire i campi in un determinato modo, e le classiche query SQL non servono a granché… Ho piacevolmente utilizzato wp_query, che funziona molto bene, ma il database del progetto è veramente un casino…. Non c’è niente di bello, ben ordinato e strutturato…

Woocommerce

Se da un lato questo plugin consente di avere un e-commerce perfettamente funzionante in breve tempo, dall’altra utilizzarlo in un tema custom non è una delle cose più semplici…

Non è come per il resto di WordPress… Non esiste una funziona the_price(); per visualizzare il prezzo, è tutto leggermente più incasinato, e questa differenza con il core di WordPress, seppur capibile e penso difficilmente superabile, rende più complicato il suo utilizzo.

Se invece si usa con un tema già pronto o si adatta il tema di Woocommerce base allora è tutta un’altra storia! Ma partire da zero mi ha fatto tribolare un pochino…

Performance

Nonostante abbia ottimizzato il codice in ogni modo, caricando solo i CSS e JS necessari ad ogni sezione in quella sezione e seguendo tutte le best pratcice, WordPress si porta dietro una certa lentezza

A mio avviso anche il server su cui gira il sito non è il massimo, inoltre il sito prevede adsene, pixel facebook e una serie di altri script di cui non può fare a meno e che vanno a rallentare il tutto…

In ogni caso utilizzando Laravel probabilmente si sarebbe arrivati a un risultato molto più perfermante, ma a un costo direi triplo e tempi di sviluppo molto più lunghi!

Conclusione

Alla fine WordPress è un buon compromesso! Permette di partire da un backend solido e ben debuggato, con un buon pagebuilder per l’utente (alcuni odiano Gutenberg, ma a me non dispiace). Da qua ci si può sbizzarrire e creare veramente qualsiasi cosa in pochissimo tempo! Certo ci sono dei limiti, ma per freelance è veramente una buona base!

In questi mesi ho potuto entrare veramente a fondo nel CMS e ho scoperto un sacco di cose interessanti, di cui tratterò nei miei prossimi podcast!

Sono meno critico nei confronti di WordPress, ma penso sempre che non sia la soluzione a tutto! Avere un semplice sito vetrina statico in WordPress continua a non avere senso per me, ci sono altre soluzioni più performanti e altre ancora più veloci da sviluppare.

In ogni caso sono veramente felice di aver ralizzato un sito che viene visto da mezzo milione di persone al mese! In giorno del lancio online ero veramente emozionato!

Dopo questo lavoro posso ormai dire che conosco praticamente tutto di WordPress, sono diventato uno Specialista WP!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *