Informazioni commerciali +39 0575 05077
  Assistenza telefonica +39 0575 0505

WordPress: ottimizzazione di un sito

Ottimizzare un sito web è utile sia per quanto riguarda l'esperienza utente (user experience) sia per aumentarne la velocità e ottenere un beneficio nell'indicizzazione sui motori di ricerca.
Il processo di ottimizzazione prevede una serie di attività molto impattanti da svolgere sul proprio sito e per questo è consigliabile eseguire preventivamente una copia di tutto il materiale (sia spazio web che database MySQL) da mantenere nel proprio PC locale.
Si può riassumere in due fasi:
  1. la fase di analisi delle aree da migliorare da eseguire con i tool: PingDom Web Site e/o Page Speed Insight;
  2. l'esecuzione degli interventi di ottimizzazione sia sullo spazio web che sul database MySQL.
Di seguito gli interventi da eseguire:
In fase di avvio, WordPress effettua la scansione e il caricamento dei plugin installati (sia attivi che disattivati).
Questo influisce sulle performance in quanto la scansione e il caricamento possono impiegare diversi secondi nel caso si utilizzino tanti plugin.
A meno che non si stia lavorando su una nuova installazione di WordPress, è probabile che nel corso del tempo si siano installati diversi plugin a fini di test o per implementare funzionalità non più necessarie.
  È consigliato, pertanto, procedere alla disattivazione e cancellazione di tutti i plugin non più necessari: questo intervento è importante sia da un punto di vista di velocità che da un punto di vista di sicurezza.
La creazione e la gestione della cache è fondamentale al fine di avere un sito performante.
WordPress crea i contenuti in modo dinamico: per creare le varie pagine infatti effettua diverse operazioni tra cui:
  • caricamento immagini;
  • richiami dei contenuti dal database;
  • ridimensionamento delle immagini;
  • impaginazione dei testi e delle immagini.
Impostando la cache, viene creata una pagina statica effettuando le operazioni sopra indicate solo durante la prima visita; le successive visite visualizzeranno il contenuto statico risparmiando diverso tempo di caricamento.
Alla pagina di cache è possibile impostare un tempo di vita, in modo da ricrearla nel caso vengano aggiornati i contenuti.
Per gestire la cache su WordPress è necessario installare e configurare appositi plugins: si consiglia di utilizzare Wp_Fastest_cache oppure WP-Optimize - Clean, Compress, Cache (cliccare per espandere).

Di seguito la configurazione consigliata:





 


Di seguito la configurazione consigliata:












Questa operazione rimuove gli spazi bianchi e i commenti dal codice riducendo così le dimensioni dei file.
File più piccoli si traducono in tempi di caricamento più rapidi.
Si consiglia di effettuare tale compressione utilizzando un plugin di cache come sopra indicato.
La maggior parte dei temi e plugins di WordPress necessita di diversi file di tipo CSS e JavaScript per il corretto funzionamento.
La combinazione di questi file può velocizzare i tempi di caricamento e, pertanto, è consigliabile effettuarla lavorando sempre nelle opzioni dedicate del plugin di cache scelto.
Nel caso di Wp_Fastest_cache vedere gli scrennshot relativi alla configurazione al punto 2.
Questo punto è importante in quanto spesso segnalato da Page Speed Insight come "cruciale".
Il rendering è il processo di creazione della pagina web e comporta diverse operazioni: caricamento contenuti, adattamento dei contenuti, impaginazione, ecc...
Il processo si considera concluso quando la pagina web è stata realizzata e risulta visibile al visitatore.

Il caricamento dei contenuti, non sempre segue una logica o regola: può capitare che vengano caricati e renderizzati dei contenuti che in realtà non sono primari nella visualizzazione della pagina.
Un esempio è lo Slide Show: al fine di visualizzazione della pagina è necessario renderizzare solo la prima immagine, le successive possono essere renderizzate subito dopo, spesso invece accade che il sistema prima reinderizzi tutto lo slide show e solo dopo carichi il resto.
Per questo motivo, ha senso dare precedenza di caricamento ai contenuti essenziali per la creazione della pagina e lasciare indietro i contenuti secondari.

Si può indicare a WordPress di caricare i file CSS e JavaScript non critici e necessari per la creazione dei contenuti in un secondo momento; per farlo esistono diversi plugins, si consiglia di provare: Autoptimize e Async JavaScript.
Il caricamento lento migliora la velocità della pagina posticipando il caricamento di immagini e video.

Se si utilizza WordPress 5.5.x, il caricamento lento è impostato di default ma tale implementazione non ha effetto sui video.
Se si caricano video all’interno delle pagine o si usa una versione WordPress non aggiornata si consiglia di effettuare dei test a seguito dell'installazione e configurazione del plugin: a3-lazy-load.
Molti temi utilizzano i Google Fonts; tali font, come si può intuire del nome, vengono prelevati live dal server di Google; il download avviene ogni volta che qualcuno visita il sito web.
Questa operazione richiede diverso tempo, in quanto il server deve effettuare una richiesta HTTP verso Google, scaricare il file CSS e caricare il carattere indicato nel foglio di stile.
Questa operazione viene effettuata per ogni carattere della pagina.
È consigliabile personalizzare il CSS del tema in modo da utilizzare font locali; in alternativa si possono usare plugin di caching (come WP-Optimize) o plugin appositi per ottimizzare le connessioni verso Google, tra i tanti si consiglia: Swap Google Fonts Display.
Il caricamento lento delle immagini risolve molti problemi relativi alle prestazioni dovute ai media ma non aiuta il reale caricamento delle immagini.
Più sono grandi più avranno un impatto negativo sui tempi di caricamento.
Per risolvere questo problema è importante caricare i media nella grandezza richiesta dal tema o dai plugins.
È importante comprimere tutte le immagini in un formato ottimizzato per il Web.
Ad esempio: se il nostro sito prevede in homepage l'anteprima degli articoli con immagine, bisognerebbe caricare la stessa della dimensione impostata sul tema: una dimensione differente obbliga il tema ad effettuare il caricamento dell'immagine grande e il successivo adattamento alla finestra con un notevole dispendio di tempo e risorse.

Per quanto riguarda la compressione si consiglia l'uso di tools gratuiti online come: https://compressor.io/
Il primo intervento di ottimizzazione del database riguarda le tabelle in esso contenute:

Un volta effettuato l'accesso al pannello mysql.aruba.it con i dati del database utilizzato da WordPress, procedere come segue:
  1. selezionare tutte le tabelle scegliendo se selezionati Ripara tabella;
  2. ripetere nuovamente la procedura scegliendo la voce Ottimizza tabella invece di Ripara tabella;
  3. accedere ad ogni singola tabella e cliccando sul pulsante in alto Operazioni: si ha la possibilità di variare il Motore di Memorizzazione da MyIsam a InnoDB;
    L’operazione dovrà essere eseguita su tutte le tabelle presenti.
    Questo motore di memorizzazione è usato principalmente in applicazioni dove l'integrità dei dati è importantissima (ha infatti vincoli più stringenti sulla data integrity) oppure dove ci sono molte INSERT o UPDATE, dato che InnoDB esegue lock sulla riga e non sulla tabella intera, evitando di lasciare delle SELECT appese durante le update.
    In tale modo si ottiene un minore overhead e migliori performance nell’uso simultaneo del database da parte di più utenti/visitatori.

È consigliabile, inoltre, verificare che non siano presenti query particolarmente lente.
Può essere installato il plugin Query Monitor, che consente di monitorare le query.
Qualora si riscontrino problemi su questo aspetto e il plugin segnali slow query (quelle che impiegano un tempo di esecuzione superiore a 0,1 secondi), è necessario individuare il plugin che crea tale query.
Successivamente, deve essere eseguita un’analisi sul plugin e la situazione contingente valutando l'aggiornamento del plugin e la compatibilità di esso con la versione di WordPress.
Nel caso in cui si riscontrasse lentezza anche nel back end, è consigliabile verificare la dimensione della tabella prefix_options che solitamente dovrebbe essere inferiore a 3MB; in caso di dimensioni maggiori occorre controllare la presenza di record transient.
Qualora questi fossero presenti, in ottica di ottimizzazione, è consigliabile eliminare questi record (previo backup della tabella stessa); di seguito la query per rintracciarli (prestare attenzione al prefisso delle tabelle):

SELECT * FROM `wp_options` WHERE `option_name` LIKE '%_transient_%'



Ottenuto il risultato, selezionarli tutti con l'apposita funzione Seleziona tutti in basso e cliccare su Elimina a destra.
Una volta eliminati i record transient ottimizzare la tabella  per eliminare anche i dati in eccesso (overhead).
Tale operazione dovrebbe essere eseguita periodicamente, in quanto i transient_data sono creati dall'uso delle estensioni aggiuntive e pertanto con il tempo la tabella prefix_options continuerà a popolarsi di tali dati.

Controllare anche se sulla tabella prefix_posts sono presenti molti record di tipo revision (specialmente in caso di testate giornalistiche). Per verificarlo eseguire la query:

SELECT * FROM `wp_posts` WHERE `post_type` LIKE 'revision'

Se presenti, eliminarli selezionandoli tutti  con l'apposita funzione Seleziona tutti in basso e cliccando su Elimina a destra.

Per ottimizzare le tabelle ed eliminare i record della tabella prefix_posts / prefix_postmeta / prefix_term_relationships, è possibile utilizzare uno dei plugin scaricabili dal sito ufficiale al presente link.
Una volta eliminate le revision è necessario ottimizzare le tabelle per eliminare i dati in eccesso (overhead).

È consigliabile inoltre verificare il motore utilizzato e, nel caso fosse MyISAM, modificarlo in InnoDB. Per ulteriori dettagli consultare la guida dedicata.
  Le ottimizzazioni sopra indicate sono la base per iniziare ad ottimizzare il sito e a renderlo più compliants per Google.
Tuttavia, è importante ricordare che ogni configurazione di WordPress è diversa: è possibile avere un tema più complesso o meno adatto alle ottimizzazioni o script che effettuano tracciamenti o connessioni esterne (necessarie) che rallentano la visualizzazione.
Per queste ottimizzazioni è necessario effettuare un lavoro manuale ad HOC ad opera del webmaster o tecnici specializzati.
 
Quanto è stata utile questa guida?
 

Non hai trovato quello che cerchi?

Contatta i nostri esperti, sono a tua disposizione.