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

WordPress: ottimizzazione di un sito

 

Analisi preliminare

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 ti consigliamo di eseguire preventivamente una copia di tutto il materiale, sia spazio web che database MySQL, da mantenere nel tuo 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.
  Le ottimizzazioni sotto 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: puoi 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.

Rimozione dei plugin inutilizzati

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 stia lavorando su una nuova installazione di WordPress, è probabile che nel corso del tempo abbia installato diversi plugin a fini di test o per implementare funzionalità non più necessarie.
  Ti consigliamo, 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.

Installazione di un plugin di cache

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 HiSpeed Cache, consulta la guida per conoscere tutti i dettagli.

Minimizzare il codice HTML, CSS, JS

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.
Ti consigliamo di effettuare tale compressione utilizzando un plugin di cache come sopra indicato.

Combinare file CSS e JavaScript

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, ti consigliamo di effettuarla lavorando sempre nelle opzioni dedicate del plugin di cache scelto.

Eliminare le risorse che bloccano il rendering

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: per la 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.

Puoi 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, ti consigliamo di provare: Autoptimize e Async JavaScript.

Caricamento lento di immagini e video

Il caricamento lento migliora la velocità della pagina posticipando il caricamento di immagini e video.

Se utilizzi WordPress 5.5.x, il caricamento lento è impostato di default ma tale implementazione non ha effetto sui video.
Se carichi video all’interno delle pagine o usi una versione WordPress non aggiornata ti consigliamo di effettuare dei test a seguito dell'installazione e configurazione del plugin: a3-lazy-load.

Ottimizzare Google Fonts

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.
Ti consigliamo personalizzare il CSS del tema in modo da utilizzare font locali; in alternativa puoi usare plugin di caching (come WP-Optimize) o plugin appositi per ottimizzare le connessioni verso Google, tra i tanti consigliamo: Swap Google Fonts Display.

Ottimizzare le immagini

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 ti consigliamo l'uso di tools gratuiti online come: https://compressor.io/

Aggiornamento di WordPress

L'aggiornamento di WordPress permette di ottenere vantaggi in termini di sicurezza, prestazioni, funzionalità e compatibilità; consulta questa guida per tutti i dettagli su come effettuare l'aggiornamento del core di WordPress, temi e plugin utilizzati.

Interventi sul database MySQL

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, procedi come segue:
  1. seleziona tutte le tabelle scegliendo se selezionati Ripara tabella;
  2. ripeti nuovamente la procedura scegliendo la voce Ottimizza tabella invece di Ripara tabella;
  3. accedi ad ogni singola tabella e vai sul pulsante in alto Operazioni: hai 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 ottieni un minore overhead e migliori performance nell’uso simultaneo del database da parte di più utenti/visitatori.

Ti consigliamo, inoltre, di verificare che non siano presenti query particolarmente lente.
Puoi installare il plugin Query Monitor, che consente di monitorare le query.
Qualora riscontrassi 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 riscontrassi lentezza anche nel back end, ti consigliamo di 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, ti consigliamo di 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, selezionali tutti con l'apposita funzione Seleziona tutti in basso e vai su Elimina a destra.
Una volta eliminati i record transient ottimizza 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.

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

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

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

Per ottimizzare le tabelle ed eliminare i record della tabella prefix_posts / prefix_postmeta / prefix_term_relationships, puoi 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).

Ti consigliamo inoltre di:
 
Quanto è stata utile questa guida?
 

Non hai trovato quello che cerchi?

Contatta i nostri esperti, sono a tua disposizione.