WordPress: analizziamo pro e contro. Quando utilizzarlo?

Consigli e suggerimenti, Web Development 1297 Leggi in circa 8 minuti

Più di un quinto di internet utilizza Wordpress, il 26% dei siti internet è stato realizzato con esso. Il suo punto di forza è la facilità di utilizzo: il suo successo è dovuto sicuramente al fatto di aver dato a tutti la possibilità di aprire il proprio sito web o blog amatoriale. Ma quando si inizia a parlare di Marketing e di siti web professionali, entrano in gioco le agenzie web. La maggior parte di esse utilizza Wordpress (per svariati motivi), ma non è tutto oro quel che luccica: esistono dei vantaggi ma anche degli svantaggi ed è importante saperli valutare ed analizzare durante la fase iniziale di un progetto.

Requisiti base

Prima di iniziare la mia analisi, vorrei definire i requisiti base che un sito internet, nel 2016 deve necessariamente avere dai punti di vista tecnici e SEO.

Velocità

La velocità del sito è un aspetto molto sottovalutato dalle agenzie web. Un sito dall'architettura ben ottimizzata può arrivare ad avere tempi di caricamento al di sotto del secondo. Ma perché tutto questo è importante? Supponiamo che il vostro e-commerce impieghi più di 4 o 5 secondi ad effettuare un caricamento di pagina: alcuni studi statistici sottolineano che 1 utente su 4 abbandonerà il vostro sito web, se esso impiega più di 4 secondi a caricare. Cosa significa? Un utente su quattro abbandonerà il carrello sul vostro e-commerce senza concludere l'acquisto!

Ma i problemi non finiscono qui: negli ultimi anni la velocità di caricamento è diventata un parametro sempre più importante per la SEO; questo significa che la lentezza del vostro sito internet inciderà negativamente sul posizionamento organico.

Un utente su quattro abbandona una pagina web che impiega più di 4 secondi a caricare

Qualità e ottimizzazione del codice

Non è un parametro richiesto dai motori di ricerca, ma solitamente si tende a scrivere codice HTML valido e certificato dal W3C, per evitare errori indesiderati e incomprensioni da parte del browser. Inoltre è bene analizzare ed ottimizzare il numero di richieste che la pagina effettua per poter scaricare i file CSS e Javascript in modo da ottimizzare sia il codice, che il tempo di caricamento del sito.

Qualità, ottimizzazione e velocità non devono sicuramente mancare su un sito internet sviluppato nel 2016.

Ora mettiamo sotto analisi Wordpress, riuscirà a soddisfare questi requisiti?

Come è fatto WordPress

Wordpress è un CMS scritto in PHP con database MySQL ed è stato progettato come sistema basilare, ma molto modulare e personalizzabile. Una volta installato abbiamo a disposizione "solo" una semplice gestione di pagine, blog e widget, con un ACL a 5 livelli di utenze e con un editor testuale WYSIWYG.

Il peso complessivo dell'ultima versione di WordPress (4.4.2) è di 20.9MB, compresi i tre template preinstallati ed il plugin Akismet (anti-spam).

Il cosiddetto core di WordPress è stato volutamente tenuto semplice e con poche funzionalità, perché è stato progettato in modo da renderlo facilmente espandibile tramite i plugin, che non sono altro che pacchetti software che aggiungono le più disparate funzionalità.

Moltissimi plugin si possono scaricare ed installare direttamente dall'area amministrativa, perché sono catalogati nel database di wordpress.org, che ad oggi conta più di 40 mila pacchetti; i plugin che non sono presenti in questa lista possono invece essere caricati molto semplicemente dal disco locale del proprio computer.

Praticamente esiste un plugin per poter fare qualsiasi cosa! Questo ha sicuramente tanti vantaggi: possiamo applicare migliaia di personalizzazioni senza perdere molto tempo nello sviluppo, possiamo avere un sistema di e-commerce funzionante in poco tempo.

Oltre ai plugin è possibile scegliere fra una miriade di temi grafici, che permettono di personalizzare il proprio sito, ottenendo, un'interfaccia grafica carina e moderna.

Alcuni temi aggiungono anche la possibilità di modificare a nostro piacimento gli elementi contenuti nelle pagine grazie ai cosiddetti visual composer.

Abbiamo quindi sicuramente una vasta scelta di funzionalità attivabili molto velocemente, ma tutto questo come influisce sul funzionamento del sito internet? E i requisiti base di cui abbiamo parlato prima vengono comunque rispettati?

Come funzionano i plugin?

I plugin interagiscono con WordPress tramite una sorta di functional programming, (in gergo vengono chiamati hooks, e si dividono in actions e filters).

In breve: WordPress permette agli sviluppatori di poter chiamare le funzioni definite nei plugin e nei temi in momenti precisi durante il flow dell'applicazione. Gli sviluppatori possono definire funzioni collegate ad actions (che aggiungono contenuti) e filters (che modificano contenuti).

Questo meccanismo è ottimo per permettere agli sviluppatori di effettuare tutte le personalizzazioni e le aggiunte che hanno in mente, ma rallenta di molto la fase di start-up dell'applicativo (perché deve fare lo scan di tutte le azioni ed i filtri definiti).

Velocità

Abbiamo visto come gli sviluppatori hanno svariati strumenti per poter interagire con tutto il core di WordPress, ma questo come influisce sulla velocità del sito internet?

Ogni plugin aggiunge i propri file JavaScript e CSS alle pagine del sito: questo comporta scarsa ottimizzazione e lentezza generale nel caricamento.

Essendo WordPress basilare, per poter avere un sito personalizzato che possa dare un certo valore aggiunto (non un semplice sito vetrina, ma un'applicazione che interagisca con il visitatore) serviranno svariati plugin: per esempio, dovremo aggiungere un plugin per gestire il messaggio riguardante la Cookie Law, un plugin per la gestione della Newsletter ed eventualmente un plugin di e-commerce. Ognuno di essi aggiunge alla pagina internet almeno due file (.js e .css) che aumentano sensibilmente il load time della pagina stessa, contando che solo con 3 plugin abbiamo minimo 6 richieste in più da fare verso il server web.

Inoltre ogni plugin influenza anche il tempo di risposta del server, perché richiede ulteriori query al database.

Qualità del codice

Certo: WordPress è sviluppato da una community di programmatori di livello e la qualità del codice è molto alta, ma chi ci certifica che ogni plugin sia scritto nel modo corretto?

La maggior parte dei plugin sono open source, sono sviluppati da piccole aziende e sviluppatori autonomi, ed alcuni anche solo per passione: chi ci assicura che queste persone abbiano seguito tutte le regole di ottimizzazione e di validazione HTML? Nessuno!

Anzi, spesso succede proprio il contrario: provate a mettere online una nuova installazione di WordPress, installate i primi 4 o 5 plugin che vi vengono in mente e poi provate a fare un test di validazione W3C: riscontrerete quasi sicuramente errori.

Ovviamente questo non è "colpa di WordPress", ma contribuisce a delineare il quadro complessivo.

Coerenza

Un problema ben noto di WordPress è la mancanza di coerenza nel lato amministrativo: ogni sviluppatore realizza il proprio tema o plugin in modo differente, con interfacce di amministrazione tra le più disparate, che purtroppo impediscono di avere omogeneità nell'area amministrativa.

Le voci di menu non sempre sono dove immaginiamo: a volte le troviamo sotto "Strumenti", a volte sotto "Impostazioni", altre volte abbiamo addirittura una voce di menu dedicata.

Nelle ultime major release però WordPress sta cominciando a mettere dei "paletti" che definiscano uno standard per la creazione delle interfacce di amministrazione.

Sicurezza

Come abbiamo già detto, gli sviluppatori ed il codice di WordPress sono di alto livello, WordPress in sè è abbastanza sicuro; la parte non sicura è data da temi e plugin! Essendo (quasi tutto) open source, il codice sorgente dei vari plugin è disponibile alla consultazione al mondo intero: come analizziamo noi, lo possono analizzare anche altri sviluppatori con intenzioni non troppo buone, studiandolo al solo scopo di trovare falle e sfruttarle in malo modo.

Tutti gli esperti di sicurezza consigliano di mantenere sempre aggiornati i plugin, in modo da evitare falle di sicurezza. Ma per quanto riguarda i plugin "abbandonati"? Talvolta i plugin non vengono più seguiti dagli sviluppatori, quindi non viene più rilasciato alcun aggiornamento e nel caso in cui venga scovata una falla di sicurezza nel codice di questi plugin, anche se mantenete aggiornati regolarmente tutti i vostri plugin, rimarrete sempre a rischio.

Fra l'altro recentemente è stato scoperto un grosso buco di sicurezza nel famosissimo plugin Slider Revolution, che permette di accedere in modo molto semplice addirittura alle credenziali di accesso al database!

Purtroppo non è possibile fare sonni tranquilli, quando si utilizza codice scritto da terzi...

Disordine del Database

Il Database che sta alla base di WordPress è davvero molto semplice: ci sono poche tabelle, che contengono praticamente tutto.

Questo è un pregio, ma anche un difetto! È un pregio perché la struttura del database permette molte personalizzazioni, è un difetto perché richiedere dati ad un database di questo tipo è molto dispendioso in termini di performance.

Facciamo un esempio: i post del blog, le pagine del sito internet e i prodotti di un e-commerce sono tre elementi completamente diversi, che hanno attributi completamente diversi. Solitamente, progettando un software di questo tipo, si tende a separare i tre tipi di informazioni in tre tabelle diverse del database, in modo da poter ottimizzare le query che vengono fatte per poter prendere i dati dal database. In WordPress, non è così: abbiamo tutte queste informazioni contenute in un'unica tabella (tecnicamente sono due, strettamente collegate fra loro: una contiene i dati principali, l'altra i metadati), per poter rendere il tutto più generico possibile e dare spazio alle personalizzazioni.

Non fraintendetemi: è possibile creare delle tabelle personalizzate su cui salvare i dati, ma non tutti i plugin lo fanno (nemmeno quelli complessi e super diffusi!).

In questo modo si rischia di riempire di righe (spesso inutili) le poche tabelle a disposizione, rendendo ancora più lente le query e rallentando ancor di più il sito internet.

Inoltre ricordiamo ancora che più plugin si vanno ad installare, più query vengono effettuate verso il database, più il sito internet si rallenterà.

WordPress ha superato l'esame?

La nostra analisi ha rivelato luci ed ombre di WordPress e purtroppo la conclusione è che questo CMS non ha completamente superato il nostro esame, ma ciò non vuol dire che sia da buttare! WordPress e sicuramente è uno strumento molto versatile, molto utile per progetti dal budget limitato che non richiedano complessità o traffico elevati o una grossa ottimizzazione. Per i progetti low-budget è infatti impossibile per un'agenzia web spendere settimane, se non mesi, per una progettazione grafica "fatta a mano" ed un'ottimizzazione su tutti i fronti. Riteniamo quindi WordPress un ottimo strumento per poter far partire i propri progetti velocemente e a basso costo, ma se vengono richieste personalizzazioni molto spinte o se è necessaria un'ottimizzazione avanzata del sito web, forse è meglio optare per un sistema studiato appositamente.

Ringraziamo Carlo Tomas per le integrazioni.