Al momento stai visualizzando Come rendere più veloce il tuo sito in WordPress senza essere uno specialista

Come rendere più veloce il tuo sito in WordPress senza essere uno specialista

  • Autore dell'articolo:
  • Categoria dell'articolo:Guide

Velocizzare WordPress: alcune analisi preliminari

Nell’articolo dell’altro ieri avevo discusso come velocizzare un sito in WordPress sulla base di parametri di prestazione di vario tipo: molti erano riconducibili a quanto tempo impieghino i visitatori medi a visualizzare le pagine. Tanto per capirci, in questo ambito, le tempistiche ottimali possono andare da qualche millisecondo fino ad un paio di secondi al massimo (idealmente una pagina web dovrebbe essere visualizzata completamente entro un secondo al massimo, nella mia esperienza). In questa sede andremo a vedere un po’ a vedere su quali parametri basarsi per ottimizzare i tempi di caricamento del nostro sito web.

Per farlo ho usato il PageSpeed Insight, il tool di Google che vi permette di misurare, in maniera piuttosto affidabile, le prestazioni delle pagine del vostro sito: fermo restando, comunque, che gli utenti sono l’unico metro di giudizio affidabile e che, un po’ come accade pure per il tool di validazione del W3C, le indicazioni fornite sono da prendere con le pinze e spesso, nella pratica, esistono altre priorità  per ogni sito web.

Un sito in WordPress può essere ottimizzato basandosi su questi parametri, che riporto con qualche nota a margine.

  1. Non tutte le pagine sono uguali, quindi ad esempio la home page può impiegare più tempo del caricamento di una pagina come l’elenco dei post in archivio, una pagina singola oppure un articolo. Questo significa che i test andrebbero eseguiti una tipologia di pagina per volta, per essere più significativi.
  2. Alcuni plugin di WordPress potrebbero influire sui tempi di caricamento, quindi provate a disattivarli tutti e misurate la differenza eventuale di prestazioni prima e dopo tale disattivazione. Se ciò si verificasse potreste valutare la rimozione di quelli meno utili al vostro sito, ovviamente a patto che la vostra priorità  sia effettivamente quella di velocizzare WordPress ad ogni costo.
  3. I plugin per velocizzare il blog sono due, WP Super Cache e W3 Total Cache: possiedono caratteristiche differenti, per alcuni siti è meglio il primo (se avete molte pagine indicizzate, ad esempio, per quanto richieda qualche “sbattimento” di troppo per funzionare come si deve) per  altri è meglio il secondo (se non avete troppa esperienza e desiderate fare le cose rapidamente). Attenzione in entrambi i casi, comunque, perchè la cache è la classica feature che fa impazzire i principianti e bisogna ragionare molto bene sul suo funzionamento e sulle opzioni prima di farne uso incondizionato.
  4. Notifica: Enable Compression – Piccola nota su WP Super Cache e la compressione HTTP: se attivate la compressione via plugin (è tra le spunte “raccomandate”) ricordatevi di non farlo nuovamente via htaccess (come spiegato in precedenza), perchè altrimenti le pagine del sito potrebbero non funzionare affatto se siete sloggati. In altri termini: delle due l’una, o compressione via .htaccess (cosa che preferisco) oppure via plugin.
  5. Notifica: Leverage browser caching – Qui l’intervento è semplice, il server deve essere informato della durata delle pagine, basta modificare adeguatamente il file htaccess come ho suggerito nell’articolo in questione.
  6. Notifica: Eliminate external render-blocking Javascript and CSS in above-the-fold content – alcune osservazioni scambiate con Andrea Pernici su Google Plus mi impongono di fare delle precisazioni. Anzitutto, Google notifica la presenza di JS e CSS “bloccanti”, ovvero che rallentano il caricamento della pagina per via della loro funzionalità  asincrona. Il caso tipico è quello in cui jQuery, ad esempio, deve attendere il caricamento dell’intera pagina prima di operare con la funzione ready(). àˆ chiaro che, al di là  della soluzione “facilona” che ho proposto – infilare il codice “pesante” nel footer con un plugin – questo crea un effetto parzialmente sgradevole (caricare prima il markup grezzo HTML e solo dopo gli effetti). Secondo me rimane una soluzione valida – su Bootstrap è la regola, ad esempio – ma non è certo l’unica, anche se per capire bene cosa potete fare sarebbe necessario 1) rivedere il funzionamento del tema 2) accorpare JS e CSS “bloccanti” in un’unica chiamata (spesso questa è solo teoria, in pratica non è fattibile) 3) valutare di cambiare tema 4) rimuovere il plugin che infilano codice JS per funzionalità  poco importanti. Quanto siamo disposti a sacrificare del nostro sito per valorizzare la velocità ?
  7. Notifica: Reduce server response time to under 200ms, in questo caso come ho già  detto, è una notifica che appare spesso salturiamente, e che dipende dal tragitto di routing dei pacchetti dal client al sito, dalle caratteristiche del server, dalla configurazione di rete e dell’hosting e non sempre possiamo metterci mano senza ricorrere ad un sistemista.

Come migliorare la velocità  di WordPress, misurarla in modo preciso e risolvere le criticità 

L’argomento velocità  di WordPress è molto sentito dai webmaster, specialmente da quelli che sono attenti agli aspetti di UX e SEO e desiderano ridurre la velocità  di caricamento delle proprie pagine.

Premettiamo da subito che rendere un sito web in WordPress più veloce non è un’operazione semplice, e può richiedere uno sforzo programmativo considerevole da parte del responsabile del sito. A livello tecnico, infatti, molte delle operazioni di ottimizzazione sono legate ad interventi specifici che si possono effettuare in almeno due modi diversi principali:

  1. intervenendo sul codice del sito e sulla configurazione delle sue direttive (e sapendo dove mettere mano);
  2. installando dei plugin di diagnosi ed intervenendo su alcuni parametri tecnici del codice, del server e del database.

Come misurare la velocità  di WP

Rilevare le carenze di prestazioni che poi si traducono in rallentamenti del sito richiederebbe un’analisi accurata (ed una serie di test specifici) il più delle volte riservate agli esperti del settore; per questo motivo, per capire se il nostro blog in WP richieda effettivamente un intervento di questo tipo, un modo per provare ad effettuare una diagnosi è ricorrere ai “magnifici quattro” strumenti per testare la velocità  di qualsiasi sito, e verificare mediante i suggerimenti e la diagnostica annessa come sia la nostra situazione.

Il motivo per cui si usano quattro strumenti distinti per misurare la velocità  di caricamento delle pagine è legato ad un maggiore grado di sicurezza nell’analisi, visto che:

  1. non tutti i tool sono necessariamente affidabili (esempio: non è detto che una eventuale valutazione negativa sia tale, o sia risolvibile come suggerito);
  2. non tutti i tool valutano le prestazioni allo stesso modo.

Appare evidente, pertanto, che sia necessario valutare la velocità  con più strumenti e poi incrociare i risultati, cercando di ottenere le migliori prestazioni possibili da ognuno, volta per volta.

Gli strumenti con cui eseguiremo i test sono i seguenti:

  1. Google PageSpeed Insights
  2. Pingdom
  3. Webpage Test
  4. GTMetrix

In genere questi strumenti:

  1. utilizzano criteri diversi tra loro per valutare la qualità  dei tempi di caricamento;
  2. i criteri non sono uniformi tra loro (esempio GTMetrix è generalmente più “permissivo” di PageSpeed di Google);
  3. non è detto che tutti i criteri siano davvero significativi (ad esempio alcuni tool potrebbero spingervi ad installare mod_pagespeed, anche se non potrebbe essere davvero quello il punto)
  4. è sempre consigliabile utilizzare un singolo tool e cercare di ottimizzare rispetto a quello;

Se i risultati dei test non sono visibilmente soddisfacenti, le opzioni che si possono prendere in considerazione sono di solito le seguenti.

Cambiare l’hosting

Quando si valuta la velocità  dei siti web in generale, di fatto, valutare un cambio di hosting è un’operazione da vagliare con grande attenzione, anche se in molti casi potrebbe portare effettivamente ad un incremento di velocità . Velocizzare WordPress è anche possibile, nella pratica, senza per forza ricorrere ad un hosting dedicato, bensଠfacendo uso di soluzioni tecnologicamente avanzate come le CDN (Content Delivery Network). In genere pero’ bisogna fare attenzione al fatto che le CDN, se non impostate a dovere, possono rallentare i tempi di caricamento invece di migliorarli.

In genere il cambio di hosting influisce abbastanza sul TTFB (Time To First Byte), cioè il tempo necessario ad iniziare il collegamento tra client e server ed inviare/ricevere il primo byte; su questo gli hosting di qualità  offrono differenze significative, ed è per questo che ad esempio in tempi recenti mi sento di consigliare Digital Ocean, che mi ha dato prestazioni davvero interessanti in tal senso. Sono infatti passato, passando a questo hosting (una VPS con costo base: 5 dollari al mese) da circa un secondo di TTFB a pochi millisecondi, in linea con i tempi suggeriti da Google come ottimali.

A parità  di piani di hosting, non tutte le soluzioni sul mercato sono equivalenti, come visibile dai test sul campo che tendiamo a proporre periodicamente su questo sito.

Rivedere i plugin utilizzati

Qui il suggerimento è dei più classici, ma spesso risolve da solo il problema: individuate i plugin che fanno perdere maggiore tempo al caricamento, ed eliminateli. Ovviamente l’idea è che un eccessivo carico di plugin vada ad influire sui tempi di caricamento in modo abbastanza drastico, ma in genere anche l’installazione e disinstallazione dei vari plugin nel tempo tende ad appesantire i tempi di caricamento del database. In particolare è la tabella wp_options ad essere molto influenzata in tal senso, visto che tiene traccia dello storico di tutte le installazione e spesso le disinstallazioni non cancellano le righe, che vengono caricate in automatico se presente il flag autoload=”Yes” all’interno di questa tabella. Ottimizzatela con un indice MySQL come spiegato nella guida che ho appena linkato, oppure valutate di ripulire manualmente questa tabella, modifica che va fatta con attenzione ma che in genere è abbastanza soft per il vostro sito.

Il metodo per procedere, per rivedere i plugin usati e liberarsi di quelli di troppo, in genere è il seguente:

  1. per ogni plugin installato, disattivate lo stesso, uno per volta;
  2. lavorando sul sito per un po’ con un plugin in meno, misurate le prestazioni del sito e verificate se ci siano differenze considerevoli;
  3. se il plugin è eliminabile senza conseguenze per il sito, toglietelo di mezzo ed avrete risolto il problema; se non lo è, riscrivetelo in versione ottimizzata (ma dovrete saper programmare in PHP), o (se non siete troppo esperti) trovate delle alternative che abbiano le stesse funzionalità ;
  4. ripetete le operazioni viste fino a raggiungere tempi di caricamento ottimali.

Ci sono plugin per WordPress che rallentano il sito per definizione: di recente mi sono accorto che tende a fare questo, se male impostato soprattutto, il plugin di ricerca automatica dei link esterni corrotti, e rallenta tremendamente il blog lato amministratore.

Un plugin per la diagnostica di problemi di prestazioni su WP è ad esempio P3., ma anche Query Monitor è eccellente – e direi immancabile – per fare debug serio, da sviluppatore, sulla velocità , visualizzando le criticità  del sito, dove perde più tempo sul caricamento, se ci sono errori o warning che rallentano e cosଠvia.

Ottimizzare il codice

In questo caso, un po’ sulla falsariga delle cose appena dette, si tratta di individuare i bottlenecks, i “colli di bottiglia” che rallentano il sito: uno slider che effettua lunghe operazioni in home, un componente che carica news troppo lentamente, un plugin o un theme che ricorrano a caricamento di file esterni JS CSS o PHP (in questo casi bisogna quasi sempre localizzare al massimo le risorse, e poi ricorrere a plugin di cache e di minify).

In questo caso il supporto di un programmatore esperto può rivelarsi vitale. Detta alla buona, può anche darsi che sia il theme che state usando a rendere WP lento, per cui provate ad usarne uno più veloce (ad esempio quelli basati su RESTful API, che pare diventeranno la nuova tendenza del momento, a breve). Dipende dai casi, ed un modo facile per verificarlo è il seguente: andate a vedere se cambiando theme le prestazioni migliorano. Se migliorano, il problema è legato a come è stato scritto: o lo riscrivete ottimizzandolo nel codice come theme child, oppure se usate uno più veloce.

Ottimizzare il database

Questo è un altro aspetto cruciale, soprattutto per via dell’uso cruciale che fa WordPress della tabella wp_options, in particolare in corrispondenza del campo autoload impostato a “yes”: questa tabella non può essere ottimizzata molto facilmente, eppure è molto comune che ad ogni visualizzazione del sito tutte le righe di questo tipo vadano caricate una per volta. Ci sono anche dei plugin per ottimizzare la wp_options, ma non sempre sono all’altezza del compito. Trovate anche plugin come WP Optimize che permettono di effettuare ottimizzazioni globali del database, non sempre efficacissime ma se non altro facili da eseguire one-click.

A livello più avanzato, potete provare ad ottimizzare il database ricorrendo ai metodi classici di ottimizzazione dei database MySQL, in particolare dei rispettivi indici su wp_options, wp_posts e via dicendo: qualcosa di concreto si riesce a fare, ma bisogna fare dei test e capire cosa ottimizzare sfruttando l’operatore di diagnosi EXPLAIN. Il supporto di esperti PHP / MySQL in questi casi è cruciale per il successo dell’operazione (e spesso molte web agency non dispongono, purtroppo, di supporto concreto in questo campo).

Ottimizzare le immagini

Ottimizzare le immagini del vostro sito è un aspetto cruciale per risparmiare banda sul vostro hosting, e non deve essere trascurato in nessun caso. Avete mai pensato di velocizzare il caricamento di immagini? Fino a qualche tempo fa si usavano moltissimo soluzioni come WP Smush.it , in grado di processare i media del nostro blog, comprimerli ed “allegerirli” senza alcuna modifica nell’aspetto o togliendone qualità  visiva. A mio avviso, ad oggi, non è sempre il caso di ricorrere a soluzioni del genere, che richiedono tempo e risorse (solitamente sono strumenti a pagamento, per funzionare al 100% su tutte le immagini)  ed è spesso preferibile ricorrere a soluzioni di ottimizzazione delle immagini in locale.

Il sistema di caricamento delle immagini, ovvero l’upload dei file nella cartella Media, di suo è già  piuttosto ottimizzato, in quanto carica l’immagine di grosse dimensioni e ne genera due o tre copie di dimensioni e risoluzione diverse (per cui ottimizza di per sè più la banda che lo spazio web).

Sta al theme, comunque, sfruttare quelle più adatte risparmiando eventualmente banda e tempi di caricamento: non tutti i theme sono uguali sotto questo punto di vista, ovviamente. Anche cambiando theme di WordPress, in certi casi, si riesce a ridurre i tempi di caricamento proprio perchè non tutti i template in circolazione sono realmente ottimizzati per le immagini di grosse dimensioni.

Numerosi sono i plugin WordPress utilizzabili a scopo di compressione e riduzione della dimensione delle immagini, ed essi sono:

  1. EWWW Image Optimizer
  2. Imsanity

Questi plugin, seppur in modi leggermente diversi, possono alleggerire la dimensione delle immagini utilizzate nel vostro sito e ridurre cosଠi tempi di caricamento. Questo vale soprattutto, per inciso, per i blog con molte immagini o per i blog fotografici.

Installare un plugin per la cache

Plugin per la cache: le cache permettono di velocizzare il nostro blog in maniera spesso notevole, gli esempi più utilizzati richiedono semplicemente installazione e configurazione di un plugin come W3 Total Cache e WPSuperCache.

Su questo argomento bisognerebbe discutere parecchio, ma le scelte sopra indicate sono orientativamente quelle migliori. Per saperne di più leggere l’articolo tematico Migliori plugin gratuiti per la cache di WP. In alcuni casi, inoltre, potrebbe essere preferibile configurare manualmente la cache mediante direttive del server (quindi impostare la cache del browser via htaccess, ad esempio) che mediante plugin, i quali possiedono il difetto universale di inserire spesso più del necessario “sporcando” le nostre configurazioni e rendendole di fatto non gestibili.

👇 Contenuti da non perdere 👇



Questo portale esiste da 4657 giorni (13 anni), e contiene ad oggi 4351 articoli (circa 3.480.800 parole in tutto) e 23 servizi online gratuiti. – Leggi un altro articolo a caso

Numero di visualizzazioni (dal 21 agosto 2024): 0

Trovalost.it

Ho creato Trovalost.it e ho scritto quasi tutti i suoi contenuti relativi all'informatica. Credits immagini: pexels.com, pixabay.com, wikipedia.org, Midjourney, StarryAI, se non diversamente specificato.