Google Pagespeed Insight: ecco cosa c’è da sapere

Google Search Console
Google Search Console

Una guida dettagliata ed approfondita di tutte le possibili attività legate all’uso della Search Console di Google.

Test di velocità

Impatto commerciale di Pagespeed

La velocità delle pagine (Pagespeed/Load Time) influenza direttamente le conversioni, il tempo di permanenza sulla pagina, la frequenza di rimbalzo, il tempo di lettura, il posizionamento nei risultati dei motori di ricerca Google, l’esperienza dell’utente e le entrate. Per i siti di e- commerce, il miglioramento della velocità delle pagine aumenta le vendite, riduce la quantità di carrelli abbandonati e aumenta la percentuale di utenti che completano il processo di pagamento.

L’ottimizzazione delle prestazioni è una delle cose più importanti che si possono fare per migliorare un sito web, sia per migliorare l’esperienza dell’utente che per aumentare il fatturato generato dall’azienda.

Articolo di Web.dev

https://web.dev/case-studies/vitals-business-impact

Analisi dell’impatto commerciale dei miglioramenti di Core Web Vitals direttamente da Google.

Articolo su case histor

https://www.conductor.com/academy/page-speed-resources/

Un altro articolo con solidi casi di studio dei miglioramenti in molte metriche che i siti hanno riscontrato dopo aver migliorato il loro Pagespeed.

Rapporto Deloitte

https://www.deloitte.com/content/dam/Deloitte/ie/Documents/Consulting/Milliseconds_Make_Mill ions_report.pdf

Un’analisi approfondita dell’impatto di Pagespeed Improvement sulle entrate delle aziende.

Spiegazione delle metriche

Articolo creativo sulla fuga

https://escapecreative.io/google-pagespeed-insights-explained/

Questa pagina offre una buona panoramica delle metriche e del loro significato.

Articolo di Corelogix

https://coralogix.com/guides/real-user-monitoring/core-web-vitals/

Un altro utile articolo con spiegazioni piuttosto approfondite delle varie metriche di Core Web Vitals e delle loro definizioni.

Documentazione sui dati vitali del web di Google

https://web.dev/articles/vitals

Documentazione e definizioni di Core Web Vitals direttamente da Google.

Perché i punteggi dei test cambiano ogni volta che si esegue un test di velocità?

Sono molti i fattori che influiscono sul punteggio ottenuto in questi test. Queste variabili possono andare dalla vostra posizione rispetto al sito web, all’attività sul vostro server, ai percorsi e alla variabilità della rete e persino all’attività in background del vostro dispositivo locale. Ci sarà sempre una variazione tra i test, tra tutti i fornitori di test di velocità, e non ci saranno due test esattamente uguali, indipendentemente dal test di velocità utilizzato.

Se il sito è ben ottimizzato, l’intervallo di valori sarà minore e si otterranno punteggi più coerenti nello stesso intervallo, mentre un sito non ottimizzato avrà punteggi molto variabili tra i test.

Tuttavia, come già detto, ci sarà sempre una variazione tra i test, sia per i dispositivi mobili che per quelli desktop.

Nota: i punteggi reali si misurano meglio come media di più test di velocità della pagina.

In genere eseguo 3 test prima di fare una media.

I punteggi di velocità delle pagine mobili sono gli unici che contano

Il motivo per cui le prestazioni mobili sono l’unica cosa che conta è molteplice.

Il miglioramento dei punteggi mobile migliora intrinsecamente i punteggi desktop.

La fonte dei problemi di velocità delle pagine (css, js, immagini non ottimizzate, ecc.) non è specifica dei dispositivi mobili o desktop, ma il loro impatto è universale e viene avvertito sia dagli utenti desktop che da quelli mobili.

Tuttavia, gli impatti di ciascun problema di prestazioni sono più accentuati sui dispositivi mobili e l’impatto sulle prestazioni di questi svantaggi è maggiore.

Non esistono ottimizzazioni “uniche” che migliorano le prestazioni solo su mobile o solo su desktop. Quando si migliorano le prestazioni per i dispositivi mobili, si migliorano le prestazioni di tutto il sistema, compreso il desktop.

La telefonia mobile presenta una maggiore variabilità tra i punteggi dei test

I punteggi presentano una maggiore variabilità. Se ci si basasse solo sui punteggi del Desktop, si potrebbe facilmente finire con l’ingannarsi sul fatto che non è necessario ottimizzare nient’altro.

È abbastanza facile ottenere un sito desktop con un tempo di caricamento inferiore a 1 secondo e ottenere 90+ o 100/100 su desktop è generalmente una passeggiata, ma questo è solo il desktop.

I problemi di prestazioni hanno un impatto maggiore sui dispositivi mobili

Un tempo di caricamento di 1 secondo su desktop può essere compreso tra 2 e 6 secondi su mobile, potenzialmente peggiore a causa della maggiore potenza dei desktop rispetto ai dispositivi mobili.

Questo perché le condizioni della rete possono cambiare (servizio cellulare o distanza da un punto di accesso alla rete Wifi) e anche il carico del dispositivo è in costante evoluzione. Ogni kilobyte aggiuntivo di dati (in particolare le immagini) ha un effetto molto maggiore sulle prestazioni di un dispositivo mobile rispetto a un dispositivo desktop.

Un’immagine di 60 KB rispetto a un’immagine di 30 KB può non avere alcun impatto sul punteggio totale delle prestazioni del desktop su 100, ma la differenza di dimensioni può certamente avere un impatto notevole sul mobile.

I punteggi dei desktop possono mostrare 0 CLS, ma questo può essere molto ingannevole, poiché i dispositivi mobili possono avere una grande quantità di CLS quando accedono allo stesso sito web.

I test di velocità delle pagine mobili vengono eseguiti in condizioni simulate e controllate.

Queste condizioni simulate sono equivalenti allo “scenario peggiore” di un dispositivo sottoalimentato (attualmente l’obiettivo simulato è un Moto G Power).

La ponderazione di Google per la velocità delle pagine nelle classifiche Sono classificate in base alla velocità delle pagine mobili, sempre, senza eccezioni.

Il fatto che la maggior parte del traffico del vostro sito sia su Desktop o su Mobile è irrilevante ai fini del posizionamento della vostra pagina web da parte di Google. Quando classifica un sito

web, Google non si preoccupa delle prestazioni del desktop. Oltre l’80% del traffico su Internet proviene da dispositivi mobili e Google calcola le classifiche di conseguenza. Anche se gli utenti del vostro sito web navigano in maggioranza da dispositivi desktop, il vostro punteggio mobile è l’unico che verrà considerato come fattore di ranking.

I punteggi dei desktop sono irrilevanti

I punteggi dei desktop hanno un valore diagnostico talmente scarso da essere sostanzialmente inutili. In effetti, il loro unico valore diagnostico è quello di una metrica inversa. Punteggi scadenti per il desktop indicano una cosa e una sola: un’enorme quantità di problemi di prestazioni che devono essere risolti. Buoni punteggi di prestazioni per il desktop non indicano in alcun modo il livello di ottimizzazione di un sito web.

Hanno un valore così basso che possono essere sommariamente ignorati, i punteggi del Desktop sono irrilevanti.

Nella stragrande maggioranza dei casi, le schermate di un sito web con punteggi elevati negli anni ’90 mostrano generalmente punteggi relativi alle prestazioni del desktop. Chiunque si vanti dei propri punteggi relativi alle prestazioni su Desktop sta ingannando se stesso e i propri clienti e la reazione immediata dovrebbe essere di scetticismo e di aprire immediatamente la console del proprio browser con l’ispezione per eseguire un test mobile lighthouse sul proprio sito web.

La quantità di “esperti” di prestazioni che affermano che una buona prestazione del desktop significa che il loro sito è ben ottimizzato è di gran lunga troppo elevata.

Esempio di prestazioni su desktop e prestazioni su mobile

Ecco un ottimo esempio di un sito con buoni punteggi di performance per il desktop e scarsi per il mobile. Verificate sempre quali sono i punteggi mobile di un sito quando afferma di avere prestazioni solide, quasi sempre si riferisce al Desktop.

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

La versione Desktop ha ottenuto un punteggio molto buono, con quasi zero CLS e tutte le metriche visualizzate come caricamento in meno di 1 secondo, eppure i punteggi Mobile sono completamente diversi da quelli Desktop. Google incorporerà gli scarsi punteggi di Mobile Pagespeed di questo sito come metriche di performance nel loro punteggio di ranking, senza dare peso al punteggio del Desktop.

TTFB

Componenti TTFB DNS

Il tempo di ricerca DNS è il tempo necessario per interrogare e ricevere una risposta da un server DNS con l’indirizzo IP del dominio. Se la risposta DNS non viene memorizzata nella cache locale, questo processo può aggiungere un tempo significativo al TTFB.

Come ottimizzare la parte DNS di TTFB

Utilizzate un provider DNS veloce con cache DNS, come Cloudflare. Anche se non lo utilizzate come CDN, vi consiglio vivamente di utilizzarlo come provider DNS.

Collegare

Il tempo di connessione include il tempo necessario per eseguire l’handshake TCP, essenziale per impostare una connessione TCP prima che possano essere inviati i dati. In genere, questo comporta l’invio di pacchetti SYN e ACK tra il client e il server per confermare la connessione.

Come ottimizzare la parte Connect di TTFB

Seguire i passi della sezione ottimizzazione TCP della sezione VPS.

SSL

Il tempo di handshake SSL/TLS è la durata dell’autenticazione del server (e facoltativamente del client), nonché della negoziazione della crittografia e dello scambio di chiavi per la sessione. Questo processo comporta diverse fasi di scambio di messaggi e può aggiungere un tempo considerevole al TTFB, soprattutto nei casi in cui viene stabilita una nuova sessione senza utilizzare tecniche di ripresa della sessione.

Come ottimizzare la parte SSL di TTFB

La sezione sull’ottimizzazione SSL contiene numerose risorse su come ottimizzare la velocità della connessione SSL.

Invio

Questo componente misura il tempo necessario per inviare il primo byte della risposta dal server al client dopo che il server ha terminato l’elaborazione della richiesta. Questo include il tempo necessario per inviare i dati iniziali dell’intestazione della risposta HTTP.

Come ottimizzare la parte di invio della

compressione TTFB Brotli/Gzip

Utilizzare tecniche di compressione come GZIP o Brotli per comprimere i dati inviati dal server. In questo modo si riduce la dimensione dei dati trasmessi, diminuendo il tempo necessario al primo byte per raggiungere il client. È particolarmente efficace per i contenuti basati sul testo, come i file HTML, CSS e JavaScript.

Ottimizzare la configurazione del server

Assicuratevi che il vostro server sia ben configurato per gestire le richieste in modo efficiente. Ciò include la messa a punto delle impostazioni del software del server web (come Apache o Nginx) per ottenere prestazioni migliori, regolando i processi worker, le impostazioni di keep- alive e la gestione delle richieste dei client.

Considerate l’utilizzo di un reverse proxy o di un bilanciatore di carico in grado di gestire le connessioni e distribuire il traffico in modo efficace, riducendo al minimo i ritardi nell’invio dei dati.

Utilizzare HTTP/2 o HTTP/3

Implementare HTTP/2 o HTTP/3, poiché entrambi i protocolli apportano miglioramenti rispetto a HTTP/1.1, riducendo l’overhead associato all’invio dei dati. HTTP/2 introduce il multiplexing, che consente di mescolare più richieste e risposte su una singola connessione, riducendo la latenza associata alla creazione di più connessioni TCP. HTTP/3 migliora ulteriormente il processo riducendo il tempo di creazione della connessione e minimizzando l’impatto della perdita dei pacchetti.

.

Ridurre al minimo i ritardi dell’handshake TLS

  • Se si utilizza HTTPS (consigliato), ottimizzare le impostazioni SSL/TLS scegliendo suite di cifratura più veloci che richiedono meno potenza di calcolo e supportano tecniche come TLS False Start e Session Resumption. Questi metodi possono ridurre significativamente il tempo necessario per stabilire una connessione sicura, accelerando così la fase di invio.
  • Considerate l’utilizzo di una Content Delivery Network (CDN) con nodi edge che supportano le moderne funzionalità TLS e sono più vicini ai vostri utenti per ridurre la distanza che i dati devono percorrere.

(Ulteriori strategie di ottimizzazione SSL sono riportate nella sezione Ottimizzazione SSL di cui sopra) Revisione e ottimizzazione del codice dell’applicazione

Analizzare e ottimizzare il codice di backend dell’applicazione. Assicuratevi che qualsiasi scripting lato server (come PHP, Python o Node.js) sia ottimizzato per le prestazioni. Ciò include la riduzione dei tempi di interrogazione del database, l’ottimizzazione degli algoritmi e l’elaborazione efficiente dei dati.

Utilizzate gli strumenti di performance lato server per monitorare e identificare i colli di bottiglia in tempo reale.

Questo comprende anche tutte le ottimizzazioni di WordPress riportate di seguito. Rete di consegna dei contenuti (CDN)

La distribuzione dei contenuti attraverso una CDN può potenzialmente ridurre in modo significativo il tempo di invio. Le CDN archiviano copie dei vostri dati in più località geografiche, riducendo la distanza fisica tra il server e il client e minimizzando così il tempo di viaggio dei dati.

Ottimizzazione del database

Ottimizzare le query del database per garantire che vengano eseguite rapidamente e non diventino un collo di bottiglia. Un’indicizzazione efficiente, l’ottimizzazione delle query e strategie di caching appropriate possono ridurre il tempo necessario al server per recuperare i dati e iniziare a inviarli al client.

(L’ottimizzazione del database ha una sezione in basso)

Attesa (tempo di elaborazione del server)

È il tempo impiegato dal server per elaborare la richiesta e preparare la risposta. Include il tempo necessario per eseguire gli script lato server, interrogare i database e caricare le risorse necessarie per generare la risposta.

Come ottimizzare la porzione di attesa del TTFB

Ottimizzare WordPress a livello di applicazione. È qui che entra in gioco l’ottimizzazione di WordPress. JavaScript in linea, peso dell’HTML, CSS in linea, ecc. È qui che entrano in gioco il DOM dell’HTML e la dimensione del documento.

Ricezione

Questo componente finale tiene conto del tempo necessario al client per ricevere il primo byte di dati dal server.

Come ottimizzare la parte di ricezione del TTFB

  1. Ridurre le dimensioni della risposta del server

Per la parte ricevente, i file CSS e JavaScript sia in linea che esterni sono importanti perché possono influenzare la dimensione della risposta iniziale del server. Mentre le risorse inline si aggiungono direttamente alle dimensioni del documento HTML, i file esterni contribuiscono al numero complessivo di byte che il browser deve gestire dopo la ricezione dell’HTML iniziale.

Ridurre la dimensione complessiva di queste risorse (sia in linea che esterne) può ridurre il tempo necessario al client per iniziare a ricevere i dati dal server. Tecniche come la minificazione e la compressione (con GZIP o Brotli) di queste risorse sono direttamente applicabili.

  1. Semplificare il carico iniziale

Fornire solo ciò che è necessario per il rendering iniziale della pagina. Ciò potrebbe significare ottimizzare l’HTML per includere solo i CSS/JS inline essenziali e rinviare tutto il resto.

Per le risorse esterne, regolare la tempistica del loro recupero (tramite gli attributi async e defer nei tag di script) in modo che non intasino il payload iniziale, ritardando potenzialmente l’inizio della trasmissione dei dati.

Seguire i passaggi di ottimizzazione di WordPress riportati di seguito

  1. Utilizzare HTTP/2 o HTTP/3

Sia HTTP/2 che HTTP/3 migliorano l’efficienza del trasferimento dei dati. La funzione di multiplexing di HTTP/2 consente di mescolare più richieste e risposte tra client e server su un’unica connessione, riducendo l’overhead causato da connessioni multiple.

HTTP/3 migliora ulteriormente questo aspetto riducendo la latenza della connessione e del trasporto, utilizzando QUIC, che può iniziare a inviare i dati non appena viene stabilita la connessione, riducendo potenzialmente il ritardo nella ricezione del primo byte.

  1. Uso efficiente di TCP e regolazione delle finestre TCP

Ottimizzare le impostazioni TCP, compresa la finestra di congestione iniziale, che può influenzare la quantità di dati che possono essere inviati all’inizio della connessione. Una finestra più grande permette di avere più dati “in volo” sulla rete, riducendo potenzialmente il tempo di ricezione del primo byte.

Assicurarsi che lo stack TCP del server sia ottimizzato per una consegna rapida, il che include considerazioni sull’avvio lento del TCP, sui riconoscimenti e sulle ritrasmissioni.

L’Ottimizzazione TCP è una sottosezione della sezione VPS

ByteCheck (gratuito)

https://www.bytecheck.com/

Google Pagespeed Insight: ecco cosa c'è da sapere

Byte Check fornisce un’ottima analisi del TTFB e lo suddivide nei suoi componenti (DNS, tempo di connessione, SSL, invio, attesa, ricezione).

Byte Check indica un tempo di elaborazione di 16 MS dal server di origine, che viene suddiviso in un componente separato etichettato come TTFB. Nella maggior parte degli altri test di velocità, il valore totale di 154 MS, che comprende i 6 componenti sulla destra, viene indicato come TTFB.

Ciò significa che GTMetrix, Debug Bear, ecc. visualizzeranno il TTFB come il tempo totale prima che i file inizino a essere serviti dal browser dell’utente. Mentre Debug Bear e GTMetrix includono piccole sottosezioni nei loro grafici a cascata per la richiesta iniziale del documento html, Bytecheck è molto più facile da interpretare e leggere ed è lo strumento migliore per misurare il TTFB.

Byte Check è un utile test di velocità da utilizzare come complemento a Debug Bear/GtMetrix/Pagespeed insights.

Nota

Avviso a tutti coloro che utilizzano Bytecheck: assicuratevi che il codice di risposta HTTP non sia un 403. A Cloudflare piace bloccare Bytecheck, restituendo un 403, ma Bytecheck non lo rende immediatamente evidente se non si controlla il codice di risposta HTTP. Quindi i risultati possono sembrare eccellenti, ma in realtà è perché viene caricata solo una pagina di errore 403 di base.

Merito di /u/TTEH3 su Reddit.

Che cos’è un buon TTFB?

Meno di 300 SM per il desktop e meno di 500 per il mobile.

Contrariamente a quanto dicono molte guide online, un TTFB superiore a 300 ms su Desktop è inaccettabile. Molti siti vi diranno che è inferiore a 800 ms, che in parole povere è… generoso. Si tratta di un TTFB ridicolmente, assurdamente grande e di un valore riservato ai pigri. Per i siti che ottimizzo, dopo l’ottimizzazione il TTFB è generalmente pari a ~200 ms. Mi arrabbio con me stesso quando non riesco a scendere sotto i 300 ms. Su un buon host posso raggiungere i 150-200 ms quando il sito è completamente ottimizzato, a seconda del modo in cui è stato costruito. Quando il sito ha un TTFB elevato, lo si sente. Ridurre il punteggio TTFB è fondamentale per la velocità delle pagine.

Mobile TTFB

Nota: il TTFB mobile sarà sempre più grande del TTFB desktop. Un TTFB inferiore a 300 MS è per i punteggi del desktop, mentre per il TTFB mobile si deve puntare a un massimo di

~400-500 MS, se possibile. Poiché il TTFB ha 6 componenti diversi, può essere una sfida ridurre il tempo di TTFB a un valore ragionevole, quindi preparatevi a un po’ di tentativi ed errori.

Se il vostro sito viene testato con un TTFB desktop superiore a 300 o un TTFB mobile superiore a 500 MS, è probabile che vi siano ancora opportunità di ottimizzazione non implementate.

Non avete bisogno di piani di test di velocità a pagamento

Tutto ciò che serve per ottimizzare un sito può essere ricavato dai test di velocità gratuiti. I piani di speed test a pagamento non sono assolutamente necessari, a meno che non si desideri un monitoraggio continuo. Anche in questo caso, ci sono 2 strumenti gratuiti open source autogestiti inclusi in fondo a questa sezione per il monitoraggio continuo.

Grafici a cascata

Come analizzare un grafico a cascata

https://www.keycdn.com/blog/waterfall-analysis

Peso della pagina e riduzione della quantità di file caricati.

Uno degli obiettivi principali dell’ottimizzazione è ridurre il peso totale (dimensione in KB/MB) di una pagina al minimo indispensabile.

Per le sezioni seguenti utilizzo un grafico a cascata di GTMetrix, ma qualsiasi grafico a cascata contiene le stesse informazioni.

  1. Google Pagespeed Insight: ecco cosa c'è da sapere Inserite l’URL che volete sottoporre a speed test:
  2. È possibile vedere il peso del file di una pagina nella parte inferiore del grafico a cascata di GTMetrix, un altro motivo per cui è uno degli strumenti più utili per i test di velocità.

Google Pagespeed Insight: ecco cosa c'è da sapere

  1. L’altra metrica importante che si sta cercando di ridurre è il numero di richieste, mostrato nella parte inferiore della waterfall di GTMetrix.

Google Pagespeed Insight: ecco cosa c'è da sapere

Sia il peso totale della pagina che il numero di richieste devono essere ridotti ai valori minimi possibili.

  1. Ecco come ordinare i file per dimensione:

Google Pagespeed Insight: ecco cosa c'è da sapere

Qual è il peso ideale della pagina?

Il peso ideale di una pagina è di 500 kb o meno. La homepage del mio sito con Elementor + Woocommerce è di 168 kb prima dell’interazione con l’utente.

Come filtrare per tipo di file

Ecco come filtrare per tipo di file su GTMetrix. Debug Bear dispone di filtri simili:

Google Pagespeed Insight: ecco cosa c'è da sapere

Ogni richiesta aggiuntiva (anche se incredibilmente piccola, persino una richiesta di 0,3 kb) aggiunge ulteriore latenza. Eliminate il maggior numero possibile di richieste. Ritardare i file javascript annullerà completamente l’impatto sulla velocità delle pagine, poiché i file non verranno scaricati prima dell’interazione con l’utente. È così che il peso della pagina del mio sito viene testato a 250 kb.

La pagina verrà caricata istantaneamente e il javascript non avrà alcun impatto sul tempo di caricamento iniziale della pagina. L’utente non subirà alcun ritardo visibile o impatto sulle prestazioni quando il javascript ritardato viene caricato.

Come identificare i file che devono essere ottimizzati

Gli obiettivi principali per l’ottimizzazione sono i file Javascript e di immagine. I file CSS possono essere eliminati in un colpo solo con la rimozione dei CSS inutilizzati (a meno che non sia necessario aggiungere esclusioni alla funzione di rimozione dei CSS).

Basandoci sull’immagine precedente, analizziamo file per file. Lazysizes.min.js non può essere ritardato o differito. Questo perché lazysizes è un file JS di ottimizzazione che modifica il caricamento delle immagini per migliorare la velocità della pagina.

Tingle.js, pur essendo piccolo (3 kb), è probabilmente un file estraneo che non deve essere caricato immediatamente. Dovrebbe essere ritardato (e aggiungere un’esclusione, se necessario). Si vuole ridurre il più possibile la quantità di file da caricare, anche se sono piccoli.

Keen_slider.js può essere tranquillamente ritardato. Un cursore richiede l’interazione dell’utente per funzionare, quindi, a meno che il cursore non sia impostato per la riproduzione automatica tra le diverse foto e questa funzione sia necessaria subito dopo il caricamento del cursore, può essere ritardato senza problemi. Se il plugin del cursore è sensibile al ritardo e il file non può essere ritardato, aggiungere un’esclusione.

Global.js sembra qualcosa che Klaviyo caricherebbe. Se si espande l’elemento della cascata, si può vedere da dove proviene il file. Un plugin, una terza parte, ecc. In base a queste informazioni, è possibile capire se si tratta di un buon obiettivo da ritardare.

Main.js e Klaviyo.min.js sono entrambi file di terze parti. Provengono rispettivamente da Order Groove e da Klaviyo. Tra i due, Order Groove ha maggiori probabilità di rompere qualcosa perché sembra far parte del set di funzionalità dell’e-commerce. Klaviyo è per l’analisi e può essere tranquillamente rimandato. Il file di Order Groove deve essere testato per garantire che non interrompa alcuna funzionalità.

Consiglierei di provare a ritardare ogni file js individualmente, uno alla volta, per essere sicuri. Se possibile, non si vuole lasciare sul tavolo alcuna prestazione non ritardandola. Per ribadire che si vuole ridurre il più possibile la quantità di file caricati durante il caricamento iniziale della pagina.

Quale test di velocità utilizzare per la diagnosi

Per i dispositivi mobili, lo strumento migliore per eseguire i test è Debug Bear.

Debug Bear è superiore a Pagespeed insights per i punteggi Mobile e fornisce informazioni più efficaci su ciò che è necessario ottimizzare, in quanto è possibile accedere al grafico a cascata per vedere i tempi di caricamento di file specifici, nonché un elenco di tutti i file CSS e JS che vengono caricati su una pagina specifica che si sta testando. È possibile eseguire il test su singoli URL, come la homepage, una pagina informativa, una pagina di servizio o qualsiasi altra cosa si voglia verificare sul sito che si sta testando.

Se il vostro punteggio Mobile è buono su Debug Bear, dovrebbe essere sufficiente per Google.

Strumenti di Chrome Dev Scheda di rete

La scheda di rete degli strumenti di Chrome dev è accessibile facendo clic con il pulsante destro del mouse su una pagina, facendo clic su “ispeziona” e quindi facendo clic sulla scheda di rete nella parte superiore del pannello. Sebbene la scheda di rete negli strumenti di sviluppo fornisca informazioni meno dettagliate rispetto a Debug Bear, è possibile accedervi semplicemente facendo clic con il pulsante destro del mouse su una pagina e facendo clic su ispeziona. È utile per un’analisi rapida dell’albero delle richieste di un dominio, ma per un’analisi approfondita si raccomanda Debug Bear.

Test di velocità della pagina mobile

Nota: per i test di velocità sui dispositivi mobili (gli unici che contano davvero), Pagespeed Insights è il punto di arrivo della barra del limbo, ma la sua utilità diagnostica

(per capire cosa è necessario ottimizzare) è praticamente nulla. È necessario utilizzare strumenti di terze parti per identificare effettivamente i problemi.

Google Pagespeed Insights (gratuito)

https://pagespeed.web.dev/

È necessario soddisfare i test di velocità di Google per la SEO. Altri siti possono offrire test di velocità delle pagine mobili e forse hanno un grafico a cascata per i dispositivi mobili, ma la soluzione definitiva per i test mobili è lo strumento di test Pagespeed Insights di Google.

Sebbene stiate cercando di offrire all’utente la migliore esperienza possibile su mobile (poiché la maggior parte del traffico del sito proverrà da mobile), l’unica azienda che dovete soddisfare per i test di velocità è Google, perché è il guardiano della SEO. Bing invia meno del 5% del traffico ai vostri siti rispetto a Google e se le vostre metriche soddisfano Google, soddisferanno anche Bing. Per la SEO vi interessa solo ottimizzare per Google.

Debug Bear (gratuito)

https://www.debugbear.com/test/website-speed

Uso Debug Bear per diagnosticare i miei problemi, ma Pagespeed insights per valutare quanto ancora devo fare per le mie ottimizzazioni.

L’obiettivo è sempre quello di ottimizzare il punteggio mobile su Pagespeed Insights. Pagespeed Insights è l’unica metrica utilizzata da Google per il ranking dei risultati di ricerca. Debug Bear serve semplicemente per la diagnosi, in modo da sapere cosa correggere.

Non lo sottolineerò mai abbastanza: le metriche che Pagespeed Insights misura per il mobile sono le uniche che contano. I punteggi di Debug Bear hanno un valore reale solo come indicatore dei vostri progressi e di ciò che dovete correggere.

Se il punteggio mobile migliora su Debug Bear, migliorerà anche il punteggio delle prestazioni mobili su Pagespeed Insights.

Strumenti Debug Bear (gratuito)

https://www.debugbear.com/tools

Una raccolta molto utile di strumenti gratuiti per il test della velocità delle pagine

Strumenti del laboratorio giallo (gratuito)

Versione online (gratuita)

https://yellowlab.tools/

Yellow Lab Tools dispone di alcune metriche uniche che possono essere utili in alcuni casi per diagnosticare problemi che potrebbero non essere indicati da altri scanner.

Immagine Docker (gratuita)

https://github.com/YellowLabTools/YellowLabTools

Immagine Docker per gli strumenti Yellow Lab.

Test di velocità delle pagine in blocco

Esperto (gratuito)

https://www.experte.com/pagespeed

Test di massa di più pagine di un sito in una sola volta.

Ottimizzare i punteggi dei dati di laboratorio di Pagespeed Insights

Ottimizzate sempre per i dati di laboratorio. Quasi tutti gli altri tutorial vi diranno di concentrarvi sui dati di campo, i tempi di caricamento sui dispositivi degli utenti del mondo reale. Quando si esegue una scansione pagespeed, i punteggi che vengono immediatamente riportati (indipendentemente dal servizio utilizzato) sono “dati di laboratorio”. Quando si migliorano le metriche dei test di laboratorio, si migliora intrinsecamente il tempo di caricamento nel mondo reale, i dati sul campo, per gli utenti. Le metriche dei dati di laboratorio sono lì per un motivo. I test di velocità delle pagine “sintetici” (dati di laboratorio) sono gli unici punteggi per i quali si può effettivamente ottimizzare, poiché è quello che i test di velocità delle pagine generano. Le metriche del mondo reale (dati sul campo) sono raccolte in un periodo di 30 giorni, il che non ha alcuna utilità diagnostica.

Prestazioni nel mondo reale

La velocità può sembrare artificialmente più alta nei test di velocità (cioè i punteggi sono migliorati), ma nel mondo reale potrebbe caricarsi più velocemente di quanto riportato nei test di velocità. I miglioramenti dei tempi di caricamento nel mondo reale sono più importanti dei risultati di laboratorio di Pagespeed Insights, ma sono direttamente legati ai dati sul campo. I miglioramenti dei dati di laboratorio significano che ci sono miglioramenti nel mondo reale, che si rifletteranno quando il prossimo ciclo di dati sul campo verrà raccolto nei 30 giorni successivi all’implementazione delle ottimizzazioni.

I risultati di laboratorio dei test di velocità delle pagine sono per lo più accurati (e la soddisfazione di Pagespeed Insights è assolutamente necessaria per la SEO), ma la misurazione nel mondo reale dovrebbe essere misurata dalla vostra percezione e sempre dai vostri occhi. In alcuni casi, un test di velocità delle pagine può dirvi che le vostre prestazioni sono buone e solide, ma caricando il sito da soli e visualizzando le tempistiche si può effettivamente notare che è più lento (raramente).

La velocità nel mondo reale che non corrisponde ai risultati di un test di velocità è molto rara, ma si verifica a volte, quindi verificate sempre la velocità di caricamento del sito sui vostri dispositivi, invece di effettuare test di velocità sintetici (strumenti di misurazione della velocità delle pagine).

Se c’è una discrepanza tra le prestazioni del mondo reale e i test di velocità, c’è qualcosa di sbagliato che deve essere diagnosticato e potrebbe essere necessario ripristinare un backup se non è possibile annullare gli effetti delle modifiche apportate per qualsiasi motivo.

È necessario migliorare sia il tempo di caricamento nel mondo reale sia i risultati dei test di pagespeed su pagespeed insights, ma i dati di laboratorio sono sempre la migliore euristica da utilizzare e la mancata corrispondenza è talmente improbabile da essere considerata un caso limite.

Non tutti i test di velocità sono uguali

Alcuni fornitori di test di velocità restituiscono risultati estremamente imprecisi. Dotcom tools è uno di questi. Per ribadire che gli unici risultati dei test che contano davvero sono quelli di Google. Tutto il resto serve solo per l’analisi.

Qual è il punteggio ideale di Pagespeed Mobile su Pagespeed Insights?

Qualsiasi sito che state ottimizzando dovrebbe idealmente avere un punteggio mobile di 90+ una volta ottimizzato. Per la stragrande maggioranza dei siti questo risultato è facilmente raggiungibile. Chiunque legga questa guida dovrebbe essere in grado di ottenere questo risultato su qualsiasi sito normale, una volta implementata la maggior parte dei passaggi. Alcuni siti dinamici richiedono alcune strategie speciali aggiuntive che devono ancora essere aggiunte alla guida, ma si tratta di casi particolari e non della norma.

Come si presenta un punteggio mobile ideale?

Google Pagespeed Insight: ecco cosa c'è da sapere

Non accontentatevi di un punteggio inferiore a 90! Tutto ciò che serve è un piccolo sforzo e qualche prova ed errore. Una volta implementate tutte le informazioni contenute in questa guida, sarà facile raggiungere e ripetere questo risultato, sito dopo sito.

Dopo tutto siamo verdi.

Monitoraggio continuo

Il monitoraggio continuo misura i punteggi dei dati del mondo reale e del laboratorio nel tempo, che sono metriche utili in quanto le fluttuazioni hanno un’utilità diagnostica. Questi due strumenti sono autogestiti e non sono strumenti/servizi SAAS. Vi consiglio di procurarvi un VPS separato per ospitare questi strumenti, in modo da non causare un carico inutile su un server che ospita siti live o siti di staging. Ci sono fornitori di VPS a basso costo menzionati nella sezione hosting che sono utili a questo scopo.

Strumenti self-hosted

Questi possono essere auto-ospitati sulla vostra macchina locale o su un server VPS a basso costo.

Lighthouse CI (gratuito)

https://github.com/GoogleChrome/lighthouse-ci

Lighthouse CI è una suite di strumenti che semplificano al massimo l’esecuzione continua, il salvataggio, il recupero e l’asserzione dei risultati di Lighthouse.

Lighthouse CI richiede un servizio di CI, che viene elencato qui, comprese le opzioni gratuite:

https://github.com/GoogleChrome/lighthouse-ci/blob/main/docs/introduction-to-ci.md

Gitlab CI (gratuito)

https://docs.gitlab.com/ee/ci/quick_start/

Lighthouse CI Server (gratuito)

https://github.com/GoogleChrome/lighthouse-ci/blob/main/docs/server.md

Lighthouse CI Visual Frontend/Dashboard

SiteSpeed.io (gratuito)

https://github.com/sitespeedio/sitespeed.io

Un altro toolkit Open Source gratuito per il monitoraggio continuo, che presenta visivamente dati più utili rispetto a Lighthouse CI.

È disponibile come immagine Docker (multipiattaforma, compreso il supporto per Windows) o come pacchetto NodeJS NPM (Linux).

Analisi comparativa e dei concorrenti

App più leggera (gratuita)

https://lightest.app/

Test di velocità gratuiti di confronto con concorrenti e domini multipli.

Debug Bear (gratuito)

https://www.debugbear.com/docs/compare-pages

Nota 1: richiede un account gratuito

Nota 2: dai miei test, le statistiche dei test di velocità di confronto non corrispondono e hanno punteggi inferiori a quelli di un normale test di velocità Debug Bear. I normali test di velocità Debug Bear sono più accurati.

WebPageTest (gratuito)

https://www.webpagetest.org/video/

L’interfaccia è piuttosto complicata, ma offre un test comparativo della velocità rispetto a più URL.

Inferenze

Analisi del diagramma a cascata

L’ottimizzazione delle prestazioni richiede inferenze. Non sarà mai possibile identificare tutte le opportunità di ottimizzazione da un test delle prestazioni di Pagespeed, indipendentemente dal fatto che si stia utilizzando il miglior test delle prestazioni della categoria.

Uno strumento esterno non è in grado di identificare i problemi del backend e nessuno di essi è in grado di identificare tutti i problemi del frontend. Pertanto, è necessario identificare i problemi sulla base di informazioni non esplicitamente identificate nei rapporti di Pagespeed. Per questo è necessario trarre queste conclusioni attraverso l’interpretazione del grafico a cascata delle richieste di test di Pagespeed.

L’esempio che segue contiene alcune delle deduzioni che si possono fare esaminando un grafico a cascata.

Anche i siti ben ottimizzati possono avere molte opportunità di miglioramento

Studio di caso ThemeIsle

Google Pagespeed Insight: ecco cosa c'è da sapere Alcuni siti sono al limite delle prestazioni perfette, ma hanno alcune ottimizzazioni che farebbero schizzare i loro punteggi a 90-100 con alcune semplici modifiche. Questo è un ottimo esempio di un sito che è già all’85-90% della strada per essere completamente ottimizzato in base al suo rapporto pagespeed.

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

_ fa-soIId-900.woff2 !::-: :..

“SWmey , Headers B00y., :CeMfIsafe” Tk Ings fIequast:CI¥sk1″

Intestazione della risposta4 o

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

età

cfcachoslaie

lunghezza antcnt conleñt-npe dBte

Scade

WO0r

byias

450623

– “z ‘- –

maggio-età-ñT d000

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

HIT

Ra “79B49le¢:4o6763-ALL 7$444

fom/wofi2

mar. 21 ./uI Zg24 fI6 12:18 F>M

Gio. 17 luglio 7025 t3:TO:b0 GMT

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

Dal grafico a cascata sopra riportato si possono trarre molte, moltissime conclusioni. Nella schermata superiore sono visualizzate solo 16 richieste, mentre alcuni siti possono avere centinaia di richieste. Nessuno di questi dati viene esplicitamente segnalato in un report di Pagespeed; è necessario trarre queste conclusioni attraverso la propria analisi di un report.

Icone

Font Awesome

È in uso la libreria di icone Font Awesome e si stanno caricando due file di font woff2 separati per Font Awesome, con pesi di 400 e 900 (notare i valori nel nome del file). Questi file sono precaricati, il che li costringe in cima all’albero delle richieste.

Le dimensioni dei file sono rispettivamente di 13,4 kb e 77,7 kb, quindi il sito sta caricando un totale di 91,4 kb di font di icone. Si tratta di un grosso problema, che avrà un impatto notevole su un test di velocità. Queste due richieste devono essere eliminate, se possibile, e le icone devono essere sostituite con singoli file svg di piccole dimensioni. Anche nelle pagine con 1 o 2 icone, molti plugin e temi richiamano l’intera libreria di font con la totalità delle icone (forse migliaia di icone), completamente inutilizzata.

A volte font awesome ha una levetta nei plugin e nei temi, a volte no. Questa è solo una delle conclusioni che si possono trarre dal grafico a cascata.

Singolo Twitter SVG

La libreria Font Awesome è in uso, ma viene caricata anche un’icona Twitter SVG individuale. Questo non è assolutamente necessario, dato che le librerie Font Awesome hanno già un’icona di Twitter inclusa. Si dovrebbe fare una delle due cose, sostituire tutte le icone con SVG individuali (meglio

), oppure utilizzare l’icona Twitter della libreria Font Awesome (preferibile quando Font Awesome non può essere rimosso) per eliminare una richiesta non necessaria.

Immagini non ottimizzate Le immagini non vengono caricate pigramente

Nell’albero delle richieste vengono caricate 9 immagini, il che rappresenta subito il problema più evidente. Innanzitutto, solo una di queste immagini è effettivamente nella viewport (la foto dell’autore). Nessuna delle foto fuori dalla viewport viene caricata in modo pigro, il che significa che nel rendering iniziale vengono scaricate tonnellate di peso inutile della pagina, con un impatto negativo su tutte le metriche, ma con l’impatto più significativo sui punteggi LCP e CLS.

Le immagini possono essere ulteriormente compresse

In secondo luogo, molte immagini sono di grandi dimensioni e possono essere ulteriormente compresse, se possibile manualmente.

Dimensioni dell’immagine

Esistono diverse dimensioni di immagine che possono essere identificate dai nomi dei file delle 9 richieste di immagine: 772×250, 1024×683, 1024×512 e 1024×736.

Questo indica alcune cose. Le dimensioni delle immagini sono estremamente incoerenti; nella pagina vengono utilizzate 4 dimensioni diverse. Più piccole sono le dimensioni dell’immagine, minore sarà il peso del file, riducendo l’impatto sulle prestazioni.

Potrebbe essere possibile ridimensionare alcune di queste immagini mantenendo la qualità visiva sui dispositivi mobili (è possibile puntare a risoluzioni/breakpoint specifici con i plugin SRC set/image resizing), riducendo ulteriormente le dimensioni dei file.

Il rapporto contiene un avviso esplicito sulle dimensioni delle immagini, ma è possibile ricavare ancora più informazioni dalla semplice ispezione dei nomi dei file.

Formati dei file

Nella cascata si possono individuare due formati di file per le 9 immagini che si stanno caricando: jpg e png. Le dimensioni delle immagini possono essere ulteriormente ridotte, al di là del semplice ridimensionamento e della compressione, servendo formati “next-gen” come AVIF e WebP ai browser più recenti e continuando a servire i file jpg e png ai browser più vecchi non supportati come ripiego.

Documento HTML di grandi dimensioni

Un problema dei test sulle prestazioni è che la soglia per l’avviso di documento HTML di grandi dimensioni è impostata troppo alta. La soglia appropriata per il peso di un documento HTML dovrebbe essere 50 kb, qualsiasi cosa superiore a questo valore deve essere considerata di grandi dimensioni e ha un effetto notevolmente negativo sulle prestazioni.

In base alla richiesta principale per la pagina “blog” (la radice html della pagina), possiamo vedere che il peso del documento HTML è di 86,0 kb, che supera la soglia massima di 50 kb. Il peso del documento HTML di un sito dovrebbe essere ridotto il più possibile per ottenere il massimo miglioramento delle prestazioni.

Plugin di cache utilizzato WP Rocket

Dato che i file CSS sono stati inlineati usando una funzione di rimozione dei CSS inutilizzati e tutti i javascript sono stati ritardati (probabile) o inlineati (improbabile), poiché non ci sono file javascript in caricamento nell’albero delle richieste, il plugin di ottimizzazione non può essere identificato analizzando gli URL nell’albero delle richieste.

Invece, è necessario visualizzare il corpo HTML. Non appena il corpo HTML viene aperto, è chiaro che WP Rocket è in uso, poiché vi si fa riferimento più volte (“nowprocket”).

Sebbene WP Rocket sia sconsigliato, in quanto è generalmente possibile ottenere risultati migliori con Flyingpress, la sua implementazione funziona perfettamente e non si dovrebbero apportare modifiche a meno che non sorgano problemi durante l’esecuzione di ulteriori ottimizzazioni. WP Rocket, con tutti i suoi difetti, è ancora uno dei plugin per la cache più performanti.

CDN

Il sito utilizza Cloudflare come CDN e per alcuni file (serviti dalla cache di Cloudflare) si verifica un hit della cache (ovvero il file viene servito correttamente dalla cache).

Brotli

Google Pagespeed Insight: ecco cosa c'è da sapere

Brotli è in uso.

Componenti per il blocco dei documenti

Google Pagespeed Insight: ecco cosa c'è da sapere

Debug Bear scompone i componenti del documento HTML e ne visualizza le dimensioni. Il 28,91% del peso del documento HTML proviene da CSS inline (stile), il 12,79% da javascript inline (script), il 9,93% da SVG inline (percorso).

Gli stili CSS in linea hanno il maggiore impatto sulle prestazioni, 26,6 KB di stili CSS in linea sono eccessivi.

11,1 KB di javascript hanno un impatto significativo sulle prestazioni.

Anche l’inserimento di un numero eccessivo di SVG può avere un impatto negativo. L’inlining dovrebbe essere usato con parsimonia e solo per le risorse critiche.

È necessario esaminare i sottocontenuti di questi elementi e determinare l’origine, quindi si può procedere all’ottimizzazione. Per questo è necessario ispezionare manualmente l’albero HTML in Debug Bear.

Chiamate esterne di terzi

Ci sono 9 richieste di file dal dominio host.

In fondo alla cascata ci sono 6 richieste a domini di terze parti. 2 a use.typekit.net (font) e 4 a ps.w.org (immagini). Le chiamate a typekit sono inevitabili e devono essere fatte a meno che i font non siano ospitabili localmente; quindi, se sono necessarie, devono essere impostate per preconnettersi al dominio di terze parti (use.typekit.net), oltre che per precaricare la risorsa.

L’attributo preload è impostato in modo appropriato per le richieste di typekit, ma l’attributo preconnect non lo è e dovrebbe essere aggiunto.

Le 4 chiamate a ps.w.org sono immagini che dovrebbero essere sostituite con copie ospitate localmente.

La quantità di richieste è bassa

Nell’albero delle richieste vengono richiamate pochissime risorse (23 risorse + la radice HTML, 14 risorse visualizzate nell’albero non espanso screenshottato). Questo è un buon indicatore di un sito ben ottimizzato.

Qualsiasi cosa al di sotto dei 40 anni si trova nel punto giusto.

Priorità di recupero delle risorse

Due file hanno l’attributo Fetch Priority impostato su “high”, logo.png e

best-wordpress-image-optimizer.xxx.png. Ci sono altre due richieste ad alta priorità al dominio use.typekit.net. Tutte le altre richieste, oltre alla priorità di recupero del documento HTML principale, sono impostate su “bassa”. L’attributo “low” della priorità di recupero può essere mantenuto anche quando il file è impostato per il precaricamento, il che non influisce negativamente sulla funzionalità di precaricamento.

Troppi font precaricati

Sono precaricati troppi file di font. Il numero di risorse precaricate dovrebbe essere ridotto al minimo e utilizzato solo per le risorse critiche.

Il CSS non utilizzato è stato rimosso

Non ci sono file CSS caricati nell’albero delle richieste. Questa è una buona cosa e indica che è stata attivata la funzione Rimuovi CSS inutilizzati in un plugin di ottimizzazione o che il codice necessario è stato inserito manualmente. Tutti i CSS inutilizzati sono stati rimossi e i CSS critici sono stati inseriti nel documento HTML. Il CSS può essere tranquillamente spuntato dall’elenco e contrassegnato come ottimizzato.

Nessuna richiesta di Javascript

Non ci sono richieste di file javascript. Questo è un dato molto positivo, poiché indica che il sito ha ritardato tutti i javascript (nel loro caso, tutti possono essere tranquillamente ritardati) o che si tratta di un sito web statico. Non c’è codice javascript che viene scaricato o eseguito durante il rendering iniziale, annullando completamente qualsiasi impatto sulle prestazioni che il codice javascript avrebbe sul rendering iniziale della pagina.

Le immagini vengono servite su HTTP/2

HTTP/3 è abilitato su themeisle.com, tuttavia alcune risorse sono ancora servite tramite HTTP/2. I file di immagine vengono ancora serviti su HTTP/2, il che comporta una riduzione delle prestazioni.

Evita le catene di reindirizzamento

Non esiste un reindirizzamento intermedio HTTP > HTTPS > HTTPS://WWW.

LCP (Logo) è precaricato

L’immagine LCP è precaricata correttamente.

Spostamento del layout

Il punteggio CLS (Layout Shift) indica che gli attributi di altezza e larghezza non sono stati applicati alle immagini.

Un TTFB basso indica un database ottimizzato e a basso carico

Un TTFB basso indica che il backend del database è stato ben ottimizzato e sta subendo un carico di lavoro. Un TTFB elevato è solitamente indicativo di un database sovraccarico, di un VPS/Hosting con poca RAM o CPU debole, o di un’implementazione mysql mal configurata.

Un tempo di CPU basso indica un Javascript ottimizzato e un database ottimizzato

Il tempo di valutazione della CPU deriva in gran parte da javascript. Poiché tutto il Javascript critico è stato inlineato (nessun file JS caricato nell’albero delle richieste), il Javascript inlineato nel documento HTML è minimo e ben ottimizzato. È probabile che il database sia ben ottimizzato, poiché un database mal ottimizzato può avere un impatto significativo sulle prestazioni, sia in termini di tempo di CPU che di TTFB.

Nessun Iframe in uso

Non ci sono chiamate di terze parti per gli Iframe.

È in uso TLS 1.3

Sul dominio è abilitato TLS 1.3 (SSL), che è attualmente la versione più recente e performante di TLS disponibile.

Oltre la metà del peso della pagina corrente può essere eliminata dal rendering iniziale

La semplice implementazione di una soluzione funzionale per il caricamento pigro dimezzerebbe automaticamente il peso della pagina. Dopo aver implementato tutti i suggerimenti di cui sopra, il peso della pagina potrebbe essere ridotto di circa 3 volte da 1,16 MB a ~400-450 kb. Una riduzione di 700 kb, che si traduce in un significativo miglioramento delle prestazioni.

Caso di studio 2: Elementor.com

Comic Relief

Siete arrivati fino a questo punto della guida, chi è pronto per un po’ di comicità?

https://www.debugbear.com/test/website-speed/jl9XSI2N/overview Ecco

alcune schermate dei rapporti di pagespeed di Elementor.com.

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

Ed ecco il report di Pagespeed per un sito di Pagespeed Optimization Services sviluppato e ottimizzato personalmente (attualmente non in diretta perché è ancora in fase di sviluppo!) costruito con Elementor:

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

Analisi

Google Pagespeed Insight: ecco cosa c'è da sapere Tenetevi forte, questa sarà lunga. Lo farò a pezzi, perché ci sono troppe schermate da fare tutte insieme.

Ottimizzatore visuale di siti web

https://vwo.com/

Dal secondo elemento della cascata è chiaro che stanno usando Visual Website Optimizer per l’analisi dei clienti. Per ottimizzare VWO, il javascript dovrebbe essere ritardato con una funzione javascript di ritardo in un plugin di ottimizzazione.

Geo-Loader

Google Pagespeed Insight: ecco cosa c'è da sapere

Elementor.com utilizza un plugin auto-sviluppato per la geolocalizzazione chiamato “geo- loader”. Possiamo dedurre che lo utilizzano per identificare la posizione dei clienti e che i dati vengono inseriti in una piattaforma di analisi esterna o in una sviluppata su misura.

Numeratore Jquery

Google Pagespeed Insight: ecco cosa c'è da sapere

È in corso il caricamento di Jquery Numerator, utilizzato per animare i numeri. Questo file js può di solito essere ritardato per annullare l’impatto sulle prestazioni, a meno che l’elemento animato non sia above the fold e l’animazione sia necessaria immediatamente senza interazione da parte dell’utente.

Iscrizione alla newsletter

Google Pagespeed Insight: ecco cosa c'è da sapere

Stanno utilizzando un plugin per l’iscrizione alla newsletter sviluppato su misura. Questo può essere quasi certamente ritardato per annullare l’impatto sulle prestazioni senza che la funzionalità ne risenta, poiché non è necessario finché l’utente non interagisce con il modulo collegato alla funzionalità.

WP Polyfill

Google Pagespeed Insight: ecco cosa c'è da sapere

È in corso il caricamento del file WP Core wp-polyfill.min.js, che può essere tranquillamente scaricato con Asset Cleanup/Perfmatters/un plugin per lo scaricamento selettivo delle risorse, oppure ritardato. L’indicazione che si tratta di un file caricato da WP Core (nucleo di WordPress) è che il percorso del file contiene “wp-includes”, che è il luogo in cui sono memorizzati tutti i file di WP Core.

Il polyfill serve per il rendering di fallback per i vecchi browser non supportati (internet explorer), che non è necessario.

Tempo di esecuzione del rigeneratore

Google Pagespeed Insight: ecco cosa c'è da sapere

Un altro file di WP Core non necessario nella maggior parte dei casi. Elementor non ha bisogno di questo file per alcuna funzionalità e può essere tranquillamente ritardato o disattivato. Alcuni plugin dipendono da questo file (raramente), quindi verificate il vostro sito dopo averlo disabilitato/ritardato, ma nella maggior parte dei casi dovrebbe essere tranquillamente rimovibile.

Mirage di Cloudflare

Google Pagespeed Insight: ecco cosa c'è da sapere

Ci sono alcune cose che possiamo dedurre da questa richiesta. La prima è che Elementor.com utilizza Cloudflare come CDN. In secondo luogo, sta utilizzando la funzione Mirage Image Optimization. Consiglio di evitarlo, poiché l’ottimizzazione delle immagini dovrebbe essere eseguita localmente sul server web e una funzione CDN come questa è un cerotto, non una vera soluzione. Se Mirage è veramente desiderato, dovrebbe essere usato come supplemento dopo che le immagini sono già state ottimizzate manualmente o con un plugin per l’ottimizzazione delle immagini. Non sostituisce l’ottimizzazione delle immagini.

Elementor.com ha commesso l’errore di affidarsi completamente a Mirage per l’ottimizzazione delle immagini, motivo per cui ha molte immagini grandi e gonfie sulla pagina.

Immagini caricate JS

Google Pagespeed Insight: ecco cosa c'è da sapere

Il file javascript imagesloaded è un altro file javascript di WP Core che di solito può essere tranquillamente rimandato. Di solito viene caricato per impostazione predefinita. A volte questo file non è necessario nel rendering iniziale, anche quando le immagini sono nella finestra di visualizzazione/al di sopra della piega al momento del caricamento della pagina. Tuttavia, i cursori possono potenzialmente dipendere da questo file, quindi assicuratevi di provare a ritardarlo o addirittura a scaricarlo su un sito di staging prima di passare la modifica alla produzione.

i18n

Google Pagespeed Insight: ecco cosa c'è da sapere

Un altro file di WP Core che viene caricato di default su ogni sito WordPress. Questo file è utilizzato per le funzionalità di traduzione. Se il vostro sito non è multilingue, questo file è estraneo e può essere tranquillamente scaricato o ritardato. Se questo file viene scaricato o ritardato, si otterrà un errore nella console del browser, ma questo errore è ignorabile e non pregiudica le prestazioni e la funzionalità.

Ganci.min.js

Google Pagespeed Insight: ecco cosa c'è da sapere

Un altro file di WP Core che viene caricato per impostazione predefinita. Molti plugin e temi dipendono da questo file js per le loro funzionalità, ma la maggior parte di essi non ne richiede il caricamento immediato, il che significa che nella maggior parte dei casi può essere tranquillamente ritardato. Non consiglio di scaricare questo file, ma di ritardarlo.

Google Tag Manager

Google Pagespeed Insight: ecco cosa c'è da sapere

Elementor utilizza Google Tag Manager per implementare alcuni tracciamenti analitici. Questo file può essere ritardato per ridurre l’impatto sulle prestazioni, ma è bene tenere presente che ritardando Tag Manager le analisi saranno un po’ confuse, in particolare le statistiche sulla frequenza di rimbalzo. Si tratta di un compromesso utile, perché il vero obiettivo è l’aumento del traffico, delle conversioni e delle vendite. I dati in nome dei dati non tengono conto degli obiettivi reali di un sito web.

Captcha

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

Senza espandere questa richiesta non è immediatamente evidente che si tratta di un captcha, anche se la prima schermata fa riferimento a google.com sul lato destro. Tuttavia, una volta espansa, possiamo vedere la parola “recaptcha” nell’url, che è un indicatore diretto dell’utilizzo di un captcha di Google.

I captchas sono estremamente intensivi dal punto di vista delle prestazioni e appesantiscono notevolmente la pagina. Se possibile, i captcha dovrebbero essere evitati del tutto e si dovrebbe implementare una soluzione diversa. Dal momento che il sito utilizza già Cloudflare, se è veramente necessario un captcha, si dovrebbe utilizzare quello di Cloudflare. Esistono soluzioni alternative ai captcha per i moduli e i bot, elencate più avanti nella guida.

ScrollTrigger.min.js

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

Possiamo fare alcune deduzioni sulla base di questa richiesta. La prima è che la funzionalità è legata alle azioni attivate dallo scorrimento. La seconda è che si tratta di una richiesta di terze parti a un dominio esterno, in questo caso a un CDN.

Questo file javascript è triplamente problematico. Aggiunge 17,2 kb di peso alla pagina, che è già notevole per un file javascript e può causare una quantità significativa di tempo di elaborazione aggiuntivo, anche con il peso relativamente piccolo del file.

In secondo luogo, poiché effettua una richiesta esterna a un dominio separato, introduce una latenza di rete di andata e ritorno a causa della richiesta HTTP.

In terzo luogo, tutti i file javascript bloccano il parser, il che significa che la metrica del tempo di blocco (talvolta indicata anche come TBT in alcuni test di velocità) aumenterà, danneggiando anche i punteggi di velocità delle pagine.

Questo file dovrebbe essere rimosso completamente, se possibile, e se è necessario dovrebbe essere ritardato se non interrompe la funzionalità prevista.

Da continuare

Sono rimasti altri 120-130 file nella cascata di elementor.com da aggiungere a questo caso di studio; continuerò presto l’analisi.

Oltre i grafici a cascata

BuiltWith

Google Pagespeed Insight: ecco cosa c'è da sapere

Alcuni plugin e servizi (ad esempio, analytics) non possono essere identificati dall’albero della cascata. Per identificare questi plugin, BuiltWith è un fantastico strumento che permette di identificarli.

BuiltWith è in grado di identificare esplicitamente i plugin più comuni. Qui possiamo vedere Yoast, ConvertBox, Google Tag Manager per WordPress e WP Rocket identificati direttamente. Anche TypeKit è in uso.

I malintesi più comuni

I punteggi di Pagespeed Lab non contano

Un’idea sbagliata comune è che i punteggi di laboratorio di Google Pagespeed Insights non siano importanti. Sono le metriche da ottimizzare, perché qualsiasi test di velocità può misurare solo dati di laboratorio “sintetici”, simulati in condizioni controllate. I test utilizzano una versione simulata di un telefono del minimo comune denominatore con un hardware debole, su una connessione con larghezza di banda limitata. I test hanno lo scopo di simulare lo “scenario peggiore” quando un utente carica un sito.

Questi punteggi sono molto accurati in questo contesto. I miglioramenti dei punteggi di laboratorio tramite l’ottimizzazione si tradurranno direttamente in miglioramenti delle prestazioni nel mondo reale.

È impossibile creare un sito performante con un page builder

Un ritornello comune è che bisogna evitare del tutto i page builder perché sono gonfi e lenti. Questa è solo una mezza verità. Qualsiasi pagebuilder sarà lento senza ottimizzazione. Oxygen e Bricks sono relativamente ben ottimizzati, ma se si inseriscono immagini di grandi dimensioni sopra la piega, l’indice LCP e l’indice di velocità non saranno comunque all’altezza. Ogni costruttore di pagine può trarre vantaggio dalla cache, dalla cache del database, dall’ottimizzazione dei CSS, ecc. Bricks e Oxygen inclusi.

Una volta ottimizzato, un costruttore ben o anche mal codificato può facilmente raggiungere punteggi superiori a 90 in un test di Mobile Pagespeed Insights.

Il caching della pagina a livello di server sostituisce i plugin di caching di WordPress

Si tratta di un’idea sbagliata molto comune e non corretta. Il caching delle pagine html a livello di WordPress con i plugin è complementare al caching delle pagine html a livello di server e dovrebbero essere usati contemporaneamente.

Flusso di lavoro e interazione Gestione iniziale delle richieste

Quando un utente richiede una pagina per la prima volta, la richiesta passa attraverso il server web (ad esempio, NGINX, Apache). Se la cache a livello di server (ad esempio, Varnish, NGINX FastCGI) non ha una versione in cache della pagina, inoltra la richiesta all’applicazione (WordPress).

Caching della pagina a livello di WordPress

Il plugin per la cache di WordPress (ad esempio, Flyingpress, W3 Total Cache) verifica se dispone di una versione HTML statica in cache della pagina richiesta.

Se esiste una versione in cache, viene servito il contenuto HTML statico in cache. In caso contrario, WordPress genera dinamicamente la pagina e il plugin di caching salva una versione HTML statica per le richieste future.

Caching a livello di server

Il contenuto HTML statico generato o memorizzato nella cache da WordPress viene quindi rinviato al server web.

La cache a livello di server può ora memorizzare questo contenuto HTML statico per una consegna ancora più rapida nelle richieste successive.

Livelli di cache Sequenza della prima richiesta

Richiesta dell’utente → server web (cache a livello di server) → WordPress (cache a livello di WordPress) → WordPress genera dinamicamente la pagina → il plugin di caching di WordPress salva l’HTML statico → il server riceve l’HTML statico → la cache a livello di server salva l’HTML statico.

Richieste successive

Richiesta dell’utente → server Web (hit della cache a livello di server) → l’HTML statico viene servito dalla cache a livello di server.

Se le miss della cache a livello di server

Richiesta dell’utente → Web server (cache miss a livello di server) → WordPress (cache hit a livello di WordPress) → WordPress serve HTML statico in cache → Il server riceve e mette in cache HTML statico.

Riepilogo della cache a livello di server dell’interazione

Opera per primo, mettendo in cache l’intera risposta a livello di server web per una consegna molto veloce. Gestisce la richiesta prima che raggiunga WordPress.

Cache a livello di WordPress

Agisce come una cache secondaria che gestisce le richieste se la cache a livello di server non funziona. Genera o serve HTML statico dall’applicazione WordPress.

La stratificazione delle cache crea un sistema di cache a più livelli

La cache a livello di server (ad esempio, NGINX, Varnish) funge da prima linea di difesa, memorizzando e servendo rapidamente HTML statico senza coinvolgere PHP o WordPress.

La cache a livello di WordPress (ad esempio, Flyingpress, W3 Total Cache) fornisce un livello secondario, assicurando che anche se la cache a livello di server non funziona, una versione in cache all’interno di WordPress possa essere servita senza rigenerare la pagina dinamicamente.

Perché i plugin per la cache della pagina sono necessari

Generazione HTML ottimizzata

I plugin per la cache di WordPress spesso fanno molto di più della semplice cache. Ottimizzano anche l’output HTML rimuovendo i caratteri, i commenti e gli spazi bianchi non necessari, riducendo così le dimensioni complessive del documento HTML.

Controllo granulare

I plugin per la cache di WordPress consentono un controllo più granulare su cosa viene memorizzato nella cache e come. Possono includere regole specifiche per gli utenti che hanno effettuato l’accesso, per le pagine di e-commerce o per altri contenuti dinamici che il caching a livello di server potrebbe non gestire in modo altrettanto efficiente.

Riduzione del carico del backend

Mentre la cache a livello di server riduce il carico sul server web, i plugin per la cache di WordPress riducono il carico sull’applicazione WordPress stessa. Ciò significa un minor numero di query al database e di esecuzioni PHP, con conseguenti tempi di risposta più rapidi e punteggi migliori.

Miglioramento del TTFB (tempo al primo byte)

I plugin di caching di WordPress possono migliorare il TTFB servendo contenuti HTML statici direttamente dal livello di WordPress. Questa risposta immediata aiuta a ottenere punteggi PageSpeed migliori.

Riscaldamento della cache

Alcuni plugin di caching offrono una funzione di pre-cache o di “riscaldamento” delle pagine, assicurando che i visitatori ricevano sempre la risposta più veloce possibile.

Esempio pratico

Anche con la cache a livello di server attivata, considerate i seguenti miglioramenti che un plugin per la cache di WordPress potrebbe apportare

Prima dell’installazione del plugin

La cache a livello di server è attivata, ma la generazione iniziale dell’HTML potrebbe comportare query di database non necessarie e un output HTML non ottimizzato. I punteggi di PageSpeed sono buoni ma non ottimali.

Dopo l’installazione del plugin

Il plugin di caching di WordPress inizia a servire una versione HTML della pagina più pulita e ottimizzata.

Ulteriori ottimizzazioni come la minificazione, la compressione delle immagini e la riduzione delle richieste HTTP migliorano ulteriormente le prestazioni.

L’effetto combinato si traduce in tempi di caricamento delle pagine più bassi, TTFB migliorato e punteggi PageSpeed più elevati.

L’immediato miglioramento dei punteggi di PageSpeed dopo l’aggiunta di un plugin per la cache di WordPress, anche con la cache a livello di server abilitata, è dovuto principalmente alle ottimizzazioni aggiuntive e ai miglioramenti dell’efficienza che il plugin apporta alla generazione dell’HTML e alla gestione complessiva delle risorse. Questi miglioramenti vanno oltre il semplice caching e contribuiscono in modo significativo a migliorare le metriche delle prestazioni.

Un DOM grande danneggia le prestazioni

Questa è un’altra mezza verità. La verità è che un DOM grande, insieme a un peso del documento HTML elevato, danneggia in modo significativo la velocità delle pagine. Il DOM può essere grande se il peso del documento è basso senza effetti significativi sulle prestazioni.

Elementor, per esempio, aggiunge molti elementi DOM, il che è un peccato perché rende più difficile il puntamento degli elementi con i css personalizzati; tuttavia, una volta ottimizzato, l’impatto sulle prestazioni dell’eccessiva dimensione del DOM è mitigato. Il fattore più significativo per l’ottimizzazione è sempre il peso della pagina/dell’oggetto.

Idealmente, la dimensione del DOM di una pagina dovrebbe essere inferiore a 1000 elementi per ridurre al minimo l’impatto sulle prestazioni. Una volta che le dimensioni del DOM aumentano oltre, si noteranno cali minimi nella velocità delle pagine. Una pagina con 1500 o addirittura 2000 elementi può essere resa rapidamente se il peso del documento HTML è basso. Se si superano i 2000 elementi, si iniziano a registrare cali evidenti (ma relativamente piccoli) nei punteggi di pagespeed, anche con un documento HTML più piccolo.

I siti Pagebuilder non riescono a gestire l’elevato carico del server su siti ad alto traffico

Anche questo è un errore parziale. Un sito creato con un pagebuilder non ottimizzato collasserà facilmente sotto lo sforzo di un traffico eccessivo. Il server di database (MySQL o qualsiasi altra variante di database (come MariaDB)) sarà rapidamente sopraffatto da un afflusso di query al database, anche con la cache degli oggetti.

Per ridurre l’impatto di queste query, assicurarsi che tutte le opzioni di caricamento automatico che possono essere impostate su “no” siano configurate di conseguenza. L’ottimizzazione dei CSS, dei Javascript e di tutti gli altri file ottimizzabili del pagebuilder ridurrà le query del database, riducendo così la pressione sul server. Un sito Elementor ottimizzato può facilmente gestire 100.000 utenti contemporanei su un VPS di livello medio, e potenzialmente può arrivare a milioni di utenti contemporanei.

Elementor può funzionare altrettanto bene di Gutenberg se ottimizzato correttamente.

Per ottenere le migliori prestazioni, le intestazioni e i piè di pagina devono essere codificati nel CSS invece che nel costruttore.

Sebbene la codifica rigida di intestazioni e piè di pagina nei CSS possa avere vantaggi in termini di prestazioni, l’impatto è al massimo minimo quando si utilizza la funzione Rimuovi CSS inutilizzati con i plugin di ottimizzazione. Molti Pagebuilder generano file CSS ingombranti per molti elementi, comprese le intestazioni e i piè di pagina, che possono essere attenuati con una semplice opzione.

Avvertenza: alcuni Page Builder trarranno maggiori vantaggi dalla codifica di intestazione e piè di pagina rispetto ad altri.

La velocità delle pagine influisce solo sulla SEO

Sebbene la motivazione principale per migliorare la velocità delle pagine sia spesso il miglioramento delle classifiche SEO, un fattore spesso trascurato è la fidelizzazione dei clienti. Una maggiore fidelizzazione dei visitatori può portare a un aumento sostanziale delle entrate, oltre al semplice aumento del numero totale di visitatori e alla riduzione della frequenza di rimbalzo. Ad esempio, ridurre la frequenza di rimbalzo dal 60% al 30% può portare a un aumento significativo dei ricavi/conversioni, a un incremento delle vendite e a un miglioramento di azioni come la compilazione del modulo di contatto.

I vantaggi di un maggiore coinvolgimento/ritenzione dei visitatori vanno al di là della semplice capacità di attrarre un maggior numero di visitatori; l’importanza di trattenere i visitatori non può essere sopravvalutata.

I punteggi Pagespeed non contano

Questo è uno dei ritornelli più palesemente assurdi che si possano trovare quando si parla di pagespeed. I punteggi di Pagespeed sono assolutamente importanti. Come discusso nelle sezioni Test di velocità e Inferenze, i punteggi di Pagespeed sono un insieme di varie metriche che si traducono in un unico punteggio composito su 100.

Il valore diagnostico del punteggio totale è una misura del progresso verso le metriche di ottimizzazione desiderate, ma il punteggio di per sé non fornisce informazioni diagnostiche utili. Il

Le sottometriche su cui si basa il punteggio composito di Pagespeed (TTFB, INFP, INTP, CLS, Speed Index, LCP, FCP, Blocking Time (TBT)) sono le metriche con utilità e hanno un significato specifico spiegato sopra. Queste metriche sono quantificabili, con chiare indicazioni del motivo per cui sono rilevanti per l’esperienza dell’utente sul sito web.

Quando qualcuno dice che queste metriche non sono importanti, indica un fraintendimento di fondo del loro significato.

Qui di seguito sono riportate ancora una volta le loro definizioni:

Articolo creativo sulla fuga

https://escapecreative.io/google-pagespeed-insights-explained/

Questa pagina offre una buona panoramica delle metriche e del loro significato.

Articolo di Corelogix

https://coralogix.com/guides/real-user-monitoring/core-web-vitals/

Un altro utile articolo con spiegazioni piuttosto approfondite delle varie metriche di Core Web Vitals e delle loro definizioni.

Documentazione sui dati vitali del web di Google

https://web.dev/articles/vitals

Documentazione e definizioni di Core Web Vitals direttamente da Google.

Wordfence è un requisito

Vero a metà. I file dovrebbero essere scansionati a cadenza semi-regolare solo su un sito di staging. Wordfence ha un effetto negativo significativo sulle prestazioni del sito. Un sito ben ottimizzato può perdere 10-15 punti in un test di velocità delle pagine mobile solo attivando Wordfence.

Le prestazioni del server di staging sono irrilevanti per gli utenti e non hanno alcun impatto sulle conversioni.

Invece di utilizzare la funzionalità firewall di Wordfence, si consiglia di utilizzare un plugin firewall leggero a livello di applicazione (WordPress) (Ninja Firewall e BBQ firewall sono opzioni relativamente valide).

Invece di affidarsi esclusivamente ai plugin firewall, si consiglia di avere tre livelli di firewall. Uno a livello di WAF (ad esempio Cloudflare). Un firewall a livello di server (come il firewall 8G/7G per Apache/NGINX) e infine un firewall a livello di applicazione per WordPress. WordPress dovrebbe essere l’ultima linea di difesa in assoluto, se i bot riescono a superare i primi due livelli c’è già un grosso problema. Inoltre, l’aggiunta di Patchstack è altamente raccomandata.

Sicurezza

Misure di sicurezza Impatto sulle prestazioni

Carico elevato della CPU e pressione eccessiva sulla RAM

L’elevato carico della CPU e/o l’eccessiva pressione sulla RAM rallentano il sito e, in molti casi, possono causare il blocco temporaneo del server fino a quando l’infezione non viene rimossa.

Impatto dannoso del malware sulle prestazioni

Un improvviso e inspiegabile carico elevato della CPU o un’eccessiva pressione sulla RAM possono indicare un’infezione da malware. Le mitigazioni della sicurezza sono fondamentali per risolvere i problemi legati al malware, tuttavia non aumentano le prestazioni di un sito web, ma prevengono solo gli effetti dannosi fino alle prestazioni di base esistenti.

Un esempio: Un sito ottiene un punteggio di 60 punti senza carico aggiuntivo di CPU e RAM prima di un incidente di sicurezza come un’infezione da malware o un DDOS. Una volta che il sito inizia a subire l’attacco, il punteggio medio scende a 30 punti.

La correzione di un’infezione da malware riporterà il punteggio del sito alla linea di base, cioè a 60 in questa ipotesi. Le prestazioni del sito non miglioreranno rispetto a quelle di base senza il malware, ma solo gli effetti negativi dell’infezione da malware/DDOS/altro tipo di attacco saranno attenuati.

Mitigazioni Impatto sulle prestazioni

Infatti, le soluzioni di sicurezza e la mitigazione implementate per rimediare al malware, i metodi di protezione dalle infezioni come i firewall e i plugin di sicurezza possono e avranno un effetto negativo sulle prestazioni di base. Tuttavia, il compromesso tra la prevenzione di questo tipo di attacchi e un piccolo calo delle prestazioni può valere la pena se il vostro sito sta subendo attacchi informatici, in particolare attacchi informatici regolari.

Attacchi di forza bruta

È un articolo di WP

https://www.isitwp.com/stop-brute-force-attacks-wordpress-website/

L’articolo di base contiene alcuni metodi per mitigare gli attacchi brute force.

Gli attacchi Brute Force comportano un numero eccessivo di tentativi di accesso che possono causare un elevato carico della CPU e saturare la RAM del server. Migliaia di tentativi di accesso possono rallentare il vostro sito e persino causarne il crash. Può interrompere l’esperienza dell’utente, il che significa che i visitatori abbandoneranno il sito perché non si carica abbastanza velocemente assorbendo tutte le risorse del server.

Limitare i tentativi di accesso (gratuito)

https://wordpress.org/plugins/limit-login-attempts-reloaded/

Limit Login Attempts Reloaded funziona come un robusto deterrente contro gli attacchi di forza bruta. Limita il numero di tentativi di accesso consentiti. Questo vale non solo per il metodo di login standard, ma anche per XMLRPC, Woocommerce e le pagine di login personalizzate.

Disattivare XML-RPC

Perché disabilitare XML-RPC?

Gli attacchi DDoS (Distributed Denial-of-Service) si verificano quando un malintenzionato sovraccarica un server web con il traffico internet per impedire ad altri utenti di accedere ai siti e ai servizi online. Gli aggressori utilizzano la funzione PingBack per inviare pingback a numerosi siti e con XML-RPC, fornendo all’aggressore una quantità illimitata di indirizzi IP per distribuire gli attacchi DDoS.

Attacchi di forza bruta

XML-RPC.php viene utilizzato per testare diverse combinazioni di nomi utente e password. Questa falla di sicurezza consente loro di automatizzare l’attacco con un comando che invia migliaia di combinazioni in una sola volta, aggirando la sicurezza del vostro sito web e ottenendo l’accesso ad esso.

Come disattivare la pulizia delle risorse XML-RPC (Free e Pro)

Asset Cleanup è un plugin multifunzione altamente raccomandato che si concentra in gran parte sulla disabilitazione selettiva delle risorse CSS e JS, oltre alla possibilità di disabilitare completamente il caricamento dei plugin su pagine selezionate.

Asset Cleanup dispone anche di una funzionalità per disabilitare XML-RPC.

Semplice disabilitazione di XML-RPC (gratuito)

https://wordpress.org/plugins/simple-disable-xml-rpc/

L’unica funzione di Simple Disable XML-RPC è quella di disabilitare XML-RPC, con una notevole possibilità di configurazione. Molto leggero, il plugin ha un peso totale di soli 10 kb.

Firewall

Tipi di firewall

I firewall avranno sempre un impatto negativo sulle prestazioni del sito. Sicurezza e prestazioni sono un compromesso che deve essere considerato/valutato quando si implementano varie

misure di sicurezza.

Differenze tra WAF e firewall a livello di rete/server

Impatto delle prestazioni dei firewall Articolo IJSTR

https://www.ijstr.org/final-print/mar2017/Impact-Of-Firewall-On-Network-Performance.pdf

Un’analisi completa dell’impatto dei firewall sulle prestazioni dei siti web.

Impatto delle prestazioni della rete WAF Aisnet

https://aisel.aisnet.org/cgi/viewcontent.cgi?article=1007&context=wisp2020

RicercaGate

https://www.researchgate.net/profile/Francis-Agbenyegah/publication/326260720_Impact_Of_Fi rewall_On_Network_Performance/links/5b420199458515f71cb221e8/Impact-Of-Firewall-On-Ne twork-Performance.pdf

Articolo di Fortinet

https://www.fortinet.com/resources/cyberglossary/waf-vs-firewall#:~:text=A%20 WAF%20 protegge%20le%20applicazioni%20web%20, il%20traffico%20esterno%20e%20interno%20alla%20rete.

Performant Firewall a livello di server 7G NGINX Firewall (gratuito)

https://perishablepress.com/7g-firewall-nginx/

Il performante firewall 7G di Jeff Starr per NGINX. La versione 8G per NGINX è attualmente in fase di sviluppo.

Firewall Apache 8G (gratuito)

https://perishablepress.com/8g-firewall/

Firewall Apache 8G di Jeff Starr.

Firewall per applicazioni Web (WAF) performanti

Firewall per applicazioni web

Un Web Application Firewall (WAF), solitamente di una CDN, opera a livello di rete per bloccare il traffico dannoso prima che raggiunga il server web. Cloudflare ha un solido WAF, Microsoft ha Front Door per Azure e ce ne sono molti in circolazione. Ciò consente un controllo molto più granulare e definizioni cloud regolarmente aggiornate per le minacce che emergono.

Un WAF vi consentirà anche di disporre di alcune funzioni interessanti che vi permetteranno di vietare l’accesso a tutti i Paesi per limitare il traffico, riducendo così il carico del server (se il vostro sito viene attaccato regolarmente) e i tentativi di hacking.

BunkerWeb (Gratuito)

https://github.com/bunkerity/bunkerweb

WAF a livello di server flessibile e configurabile gratuito.

NGINX App Protect WAF (gratuito)

https://gigaom.com/report/high-performance-web-application-firewall-testing/

Nei test di GigaOm, NGINX App Protect è risultato più performante dei 3 Cloud WAF testati.

Guida alla configurazione

https://docs.nginx.com/nginx-app-protect-waf/v4/configuration-guide/configuration/

Cloudflare WAF (Free e Pro)

https://www.cloudflare.com/application-services/products/waf/

Un WAF performante sviluppato da Cloudflare. Come ogni firewall, ha un impatto negativo sulle prestazioni, ma quello di Cloudflare è relativamente ben ottimizzato. È ideale in combinazione con Argo di Cloudflare e con altre funzioni di ottimizzazione delle prestazioni della rete e del traffico di Cloudflare.

Regole del firewall di Cloudflare per la protezione dei siti web WordPress

https://gridpane.com/blog/cloudflare-firewall-rules-for-securing-wordpress-websites/

Errori PHP

Gli errori PHP possono avere effetti negativi sulle prestazioni.

Debug Log Manager (gratuito)

https://wordpress.org/plugins/debug-log-manager/

Debug Log Manager è in grado di attivare automaticamente diversi tipi di registrazione, il che è un ottimo modo per individuare gli errori PHP, che possono trasmettere una serie di informazioni diagnostiche per scoprire e correggere gli errori PHP. La maggior parte dei plugin e dei temi presenta errori PHP, anche se minori, e ogni errore PHP può avere un impatto negativo sulle prestazioni.

Se avete del codice personalizzato, Debug Log Manager può aiutarvi a identificare i problemi con il codice che avete scritto, e se avete errori PHP da plugin o temi, vi darà informazioni chiare da segnalare come bug allo sviluppatore in modo che possa implementare una correzione.

Query Monitor (gratuito)

https://wordpress.org/plugins/query-monitor/

Query Monitor segnala gli errori PHP.

Plugin di sicurezza

Articolo per principianti di WP

https://www.wpbeginner.com/plugins/how-to-scan-your-wordpress-site-for-potentially-malicious- codice/

Un articolo molto semplice che spiega come utilizzare un plugin per lo scanner di sicurezza.

GOTMLS (Gratuito)

https://wordpress.org/plugins/gotmls/

Leggero plugin anti-malware

Plugin da evitare

Wordfence

Non utilizzate Wordfence sul vostro sito live. È estremamente ingombrante e dannoso per le prestazioni. Wordfence è un buon modo per scansionare il vostro sito alla ricerca di malware, ma usatelo solo in fase di staging! Le funzionalità di firewall e scanner possono essere facilmente ottenute con altri plugin più performanti.

Autenticazione a due fattori

Due fattori (gratuito)

https://wordpress.org/plugins/two-factor/

Plugin ufficiale per il login a 2 fattori del team di sviluppatori di WordPress. Leggero e con un ottimo supporto per qualsiasi problema.

Fluent Auth (gratuito)

https://wordpress.org/plugins/fluent-security/

Leggero plugin per l’autenticazione a due fattori

BBQ Firewall (gratuito)

https://wordpress.org/plugins/block-bad-queries/

Ottimo firewall a livello di applicazione di Jeff Starr. Si consiglia di affiancarlo al firewall a livello di server 8G e a un WAF.

Bloccare i bot cattivi

Banhammer (gratuito)

https://wordpress.org/plugins/banhammer/

Banhammer vi dà il pieno controllo su chi e cosa può accedere al vostro sito.

Intestazioni di sicurezza

Scanner delle intestazioni di sicurezza (gratuito)

https://securityheaders.com/

Il vostro sito dovrebbe ottenere una A su securityheaders.com. È molto facile da ottenere!

Sicurezza delle intestazioni avanzata e HSTS WP (gratuito)

https://wordpress.org/plugins/headers-security-advanced-hsts-wp/

Sicurezza delle intestazioni avanzata e HSTS WP (gratuito)

https://wordpress.org/plugins/headers-security-advanced-hsts-wp/

Il progetto Headers Security Advanced & HSTS WP implementa intestazioni di risposta HTTP che il vostro sito può utilizzare per aumentare la sicurezza del vostro sito web.

Il plug-in imposterà automaticamente tutte le Best Practice (non dovrete pensare a nulla), queste intestazioni di risposta HTTP possono impedire ai browser moderni di incorrere in vulnerabilità facilmente prevedibili.

Il progetto Headers Security Advanced & HSTS WP vuole diffondere e aumentare la consapevolezza e l’utilizzo di queste intestazioni per tutti gli utenti di wordpress.

Patchstack (Freemium)

https://patchstack.com/

Patchstack può applicare patch virtuali ai plugin vulnerabili prima ancora che questi vengano aggiornati dagli sviluppatori, evitando così che il vostro sito venga violato. Patchstack è una delle migliori società di analisi delle vulnerabilità e spesso è quella che trova i giorni zero.

Altamente raccomandato.

Patchstack ha un livello gratuito, ma per ottenere le cose veramente buone e utili è necessario uno dei piani a pagamento.

Tempra (gratuito)

Protezione: Test completo di configurazione del sito

web Scansiona il sito per individuare i problemi di

sicurezza più comuni.

Niente script in linea non sicuri (gratuito)

https://wordpress.org/plugins/no-unsafe-inline/

Guida al rafforzamento dei server Linux

https://ivansalloum.com/comprehensive-linux-server-hardening-guide/

Conformità SOC per WordPress

https://www.kevinleary.net/blog/soc-compliance-wordpress-websites/

Imunify360 (a pagamento)

https://www.imunify360.com/

Una suite di sicurezza molto completa. Fa molte cose interessanti che non ho visto fare da altri fornitori di sicurezza. L’interfaccia, però, ha un aspetto insignificante da primi anni 2000.

Blog di Kevin Leary

https://www.kevinleary.net/blog/securing-a-wordpress-website/

Registro di controllo

Diario di CoreActivity (gratuito)

https://wordpress.org/plugins/coreactivity/

CoreActivity Log è un plugin gratuito per il monitoraggio e la registrazione di varie attività. Il plugin è altamente modulare, con eventi registrati e controllati da più componenti.

Attualmente, il plugin ha 28 componenti per un totale di 174 eventi, con integrazione diretta con 12 plugin popolari. Tra tutte le opzioni per la registrazione degli audit, questa è la più completa.

Streaming (gratuito)

https://wordpress.org/plugins/stream/

Il plugin registra le azioni degli utenti di WordPress e del sistema nei registri Stream. Ogni azione dell’utente connesso viene visualizzata in un flusso di attività e organizzata in modo da poter essere facilmente filtrata per utente, ruolo, contesto, azione o indirizzo IP. Gli amministratori possono evidenziare le voci del registro Stream, ad esempio le attività sospette degli utenti, per indagare su ciò che sta accadendo in tempo reale. Stream consente anche di configurare avvisi via e-mail e webhook per integrazioni come Slack e IFTTT per notificare a voi e al vostro team quando qualcosa è andato storto.

Il flusso è completamente gratuito, senza piani pro

Diario delle attività di Aryo (gratuito)

https://wordpress.org/plugins/aryo-activity-log/

Un altro plugin per il monitoraggio delle attività, anch’esso completamente gratuito.

DecaLog (gratuito)

https://wordpress.org/plugins/decalog/

Sebbene DecaLog non registri specificamente gli eventi dell’utente, ha la meravigliosa funzione di registrare vari eventi su un sito che non vengono registrati né da Stream né da Aryo, il che consente di ottenere diverse informazioni sui processi in background, il che rende più facile cogliere il malware in flagrante.

Se avete difficoltà a interpretare i risultati, vi suggerisco di fare uno screenshot dei log e di caricarli su un bot AI che li interpreti per voi. I bot AI a pagamento sono accessibili gratuitamente tramite Poe.

Aggiornamento automatico del software del server

Software server obsoleto

I software obsoleti come le vecchie versioni di PHP, le vecchie versioni di MySQL, le vecchie versioni di NGINX, le vecchie versioni di Apache, le vecchie versioni di Varnish, ecc. possono potenzialmente rappresentare un grosso problema di sicurezza. Le patch per questi software vengono rilasciate regolarmente e si consiglia di aggiornare regolarmente il software installato sul server per ridurre gli incidenti di sicurezza.

Programmare le attività Cron del sistema (gratuito)

Questi aggiornamenti possono essere automatizzati tramite Cron Jobs

Articolo sulla velocità dell’alveare

https://www.hivelocity.net/kb/how-to-schedule-system-updates-and-tasks-using-cron-jobs/

Generatori di Cronjob di sistema

Generatori gratuiti di cronjob di sistema

Cronhub (gratuito)

https://crontab.cronhub.io/

Crontab Guru (gratuito)

https://crontab.guru/

Generatore di Crontab (gratuito)

https://crontab-generator.org/

Monitoraggio delle modifiche ai file

Monitoraggio delle modifiche ai file del sito web (gratuito)

https://wordpress.org/plugins/website-file-changes-monitor/

Ricevere avvisi via e-mail delle modifiche ai file sui siti WordPress per aumentare l’affidabilità e la sicurezza.

Carico elevato della CPU e pressione eccessiva sulla RAM

Incidenti di sicurezza

Oltre alle infezioni da malware, agli attacchi Brute Force, ai DDOS e ad altri incidenti di sicurezza, l’elevato utilizzo della CPU e la pressione sulla RAM possono essere causati da altri fattori.

Carico eccessivo del database

Una grande quantità di opzioni caricate automaticamente, una quantità eccessiva di revisioni, una quantità eccessiva di transitori, tabelle di database gonfie, query lente, mancanza di Object Caching, mancanza di indici su tabelle specifiche possono causare un elevato carico della CPU e una pressione eccessiva sulla RAM.

Mitigazioni

Una quantità eccessiva di cronjob per WordPress

Disattivare i Cronjob di WordPress e attivare i Cronjob del server (gratis)

Articolo per principianti di WP

https://www.wpbeginner.com/wp-tutorials/how-to-disable-wp-cron-in-wordpress-and-set-up-prop er-cron-jobs/

Generatori di Cronjob di sistema

Generatori gratuiti di cronjob di sistema

Cronhub (gratuito)

https://crontab.cronhub.io/

Crontab Guru (gratuito)

https://crontab.guru/

Generatore di Crontab (gratuito)

https://crontab-generator.org/

Autoscaling del server cloud (a pagamento)

Molti fornitori di Cloud VPS e Serverless dispongono di una funzionalità di autoscaling che aggiorna e riduce automaticamente le risorse del server in base al carico del server. Questo servizio è basato sull’utilizzo e non ha un costo mensile fisso. L’autoscaling è una necessità per i siti ad alto traffico.

Troppe schede di WP-Admin aperte contemporaneamente

Avere troppe schede del backend amministrativo di WP aperte contemporaneamente può causare un carico eccessivo della CPU e della RAM, anche con altre mitigazioni applicate. Modificando l’intervallo di WordPress Heartbeat si può attenuare l’impatto sulle prestazioni di numerose schede di WP-Admin nel browser.

WordPress Heartbeat WP Articolo per principianti

https://www.wpbeginner.com/plugins/how-to-limit-heartbeat-api-in-wordpress/ Breve spiegazione della funzionalità Heartbeat di WordPress.

Controllo dinamico del battito cardiaco di WordPress (gratuito)

https://wordpress.org/plugins/dynamic-front-end-heartbeat-control/

Il plugin offre un approccio efficiente per controllare dinamicamente il battito cardiaco del front- end, determinando automaticamente le impostazioni ottimali per il vostro sito web. Analizzando l’utilizzo da parte degli utenti, le risorse del sito WordPress e l’ambiente del server, consente alle prestazioni di WordPress di raggiungere il suo pieno potenziale.

Una volta attivato, inizia immediatamente a migliorare le prestazioni senza bisogno dell’intervento dell’utente. Regola in modo intelligente l’intervallo del battito cardiaco in tempo reale, adattandosi alle mutevoli esigenze del vostro sito web. Questo controllo dinamico garantisce un sistema di heartbeat ottimizzato ed efficiente, che si traduce in un miglioramento delle prestazioni complessive e della reattività.

Amministrazione e miglioramenti del sito (gratuito)

https://wordpress.org/plugins/admin-site-enhancements/

Admin e Site Enhancements consentono di controllare anche la frequenza del battito cardiaco. Meno flessibile del Controllo dinamico del battito cardiaco del frontend.

Sintonizzare le impostazioni di configurazione di MySQL (gratuito) Sintonizzazione automatica

MySQL Tuner (gratuito)

https://github.com/major/MySQLTuner-perl

MySQLTuner è uno script scritto in Perl che consente di esaminare rapidamente un’installazione MySQL e di apportare modifiche per aumentarne le prestazioni e la stabilità. Le variabili di configurazione e i dati di stato attuali vengono recuperati e presentati in un breve formato insieme ad alcuni suggerimenti di base sulle prestazioni.

MySQLTuner supporta ~300 indicatori per MySQL/MariaDB/Percona Server in questa versione.

Rilascio (pagato)

https://releem.com/

Releem mette a punto automaticamente la configurazione di MySQL su un VPS e la regola in base al carico attuale e medio di MySQL sul server.

Ridurre le opzioni automatiche Sweeppress (gratuito)

https://wordpress.org/plugins/sweeppress/

Modificare le impostazioni di autocaricamento o eliminare le opzioni di autocaricamento

Ottimizzatore di opzioni AAA (gratuito)

https://wordpress.org/plugins/aaa-option-optimizer/

Un altro plugin per l’ottimizzazione delle opzioni di caricamento automatico

Caching degli oggetti

Docket Cache (gratuito)

https://wordpress.org/plugins/docket-cache/

La cache Docket può essere utilizzata quando non è possibile installare Redis (alcuni piani di hosting condiviso non lo prevedono, ad esempio). Docket cache è una cache a oggetti, proprio come Redis, ma funziona a livello di WordPress e non a livello di server. In molti casi può avere prestazioni migliori di Redis.

Redis (gratuito)

Guida all’ottimizzazione delle prestazioni di Dragonfly Redis

https://www.dragonflydb.io/guides/redis-memory-and-performance-optimization

Ampio articolo sull’ottimizzazione delle prestazioni di Redis.

Informazioni generali su Redis per WordPress

Redis è anche un servizio a livello di server, per il quale è necessario un plugin WordPress da utilizzare come connettore per il servizio redis a livello di server. Affinché il plugin funzioni, è necessario che REdis sia installato sul vostro VPS/da parte del vostro provider di hosting.

Redis Object Cache (gratuito)

https://wordpress.org/plugins/redis-cache/

Redis Object Cache sviluppato da Till Krüss.

Plugin e temi mal codificati

Script PHP mal codificati in plugin e temi

Molti temi e plugin codificati male hanno sia una grande quantità di script PHP, sia script PHP codificati male che possono sovraccaricare un server quando si verifica un traffico anche moderatamente elevato.

Diagnosi

F12 Profiler (gratuito)

https://wordpress.org/plugins/f12-profiler/

F12 Profiler è un ottimo plugin per diagnosticare l’impatto sulle prestazioni di plugin e temi. Aggiunge una sezione alla barra di amministrazione di WordPress che può visualizzare l’impatto sul tempo di caricamento di ciascuno di essi.

Non è stato aggiornato da un po’ di tempo, ma dai miei test funziona ancora perfettamente.

Code Profiler (Gratuito e Pro)

Code Profiler può essere utilizzato per diagnosticare quali plugin/temi causano un elevato carico della CPU e un’eccessiva pressione sulla RAM.

Configurazione inadeguata o mancanza di caching della pagina e/o del server

Una configurazione inadeguata o l’assenza di cache può avere un forte impatto sul carico della CPU e causare una pressione eccessiva sulla RAM.

Soluzione molto semplice, basta abilitare il caching del server e quello della pagina. Questo è coperto

~a metà di questa guida.

Collegamento diretto:

https://docs.google.com/document/d/1ncQcxnD-CxDk4h01QYyrlOh1lEYDS-DV/edit#heading=h. 3cqmetx

Reinstallare WordPress Core (gratuito)

Articolo per principianti di WP

https://www.wpbeginner.com/wp-tutorials/how-to-uninstall-and-reinstall-wordpress/

Quando tutto il resto fallisce, a volte la reinstallazione di WordPress Core può risolvere il problema del carico elevato della CPU e della pressione eccessiva della RAM. Questa operazione è necessaria molto raramente.

Correggere le catene di reindirizzamento

Google Pagespeed Insight: ecco cosa c'è da sapere

È necessario correggere sempre le catene di reindirizzamento. Il sito dovrebbe essere impostato in modo da avere un singolo reindirizzamento https a https://yourdomain.com o un singolo reindirizzamento direttamente alla versione https://www.yourdomain.com.

Non si dovrebbe mai avere un reindirizzamento intermedio tra la versione http senza protezione SSL e la versione https www. Se si sceglie di usare www., si dovrebbe avere un reindirizzamento intermedio.

Ad esempio, http>https://>https://www. Questo hop aggiuntivo introduce sempre una latenza supplementare. Assicurarsi di eliminarlo.

Per ribadire, nel vostro grafico a cascata su gtmetrix dovreste avere solo il link http che viene immediatamente reindirizzato al link https corretto.

Se si tratta di www, dovrebbe essere http://yourdomain.com>https://www.yourdomain.com. Non si dovrebbe avere un reindirizzamento intermedio a https://example.com.

Se il vostro dominio non ha un link WWW, dovrebbe essere http://yourdomain.com> https://yourdomain.com senza alcun reindirizzamento intermedio.

Questo può essere fatto attraverso una regola htaccess/nginx, un plugin di reindirizzamento o tramite il vostro CDN. Cloudflare consente di creare una regola di reindirizzamento che inoltra sempre i link http direttamente a www, saltando il reindirizzamento intermedio. Anche il vostro plugin SEO di solito ha questa opzione, ma farlo dal lato di wordpress introdurrà una latenza aggiuntiva. Per ottenere la latenza più bassa, si consiglia di implementare questa funzione a livello di server o tramite il CDN.

Opzioni e articoli del plugin

https://wordpress.org/plugins/safe-redirect-manager/

https://wordpress.org/plugins/redirection/

Quasi certamente il vostro plugin SEO ha anche un’opzione per i reindirizzamenti. Le correzioni del plugin possono avere prestazioni leggermente peggiori rispetto all’implementazione dei reindirizzamenti tramite file di configurazione .htaccess o NGINX, ma sono più facili da gestire.

Identificazione manuale dei reindirizzamenti e come risolverli

https://kinsta.com/blog/remove-the-following-redirect-chain-if-possible/

https://prerender.io/blog/do-redirect-chains-hurt-seo/

https://tillison.co.uk/blog/how-to-fix-redirect-chains-and-loops-in-wordpress/

https://www.semrush.com/blog/301-redirect-htaccess/

Monitoraggio delle prestazioni di server e rete

Attivare New Relic solo quando si diagnosticano problemi sul sito live o, preferibilmente, su quello in fase di allestimento.

New Relic e Signoz hanno un overhead di prestazioni e quindi avranno un impatto negativo sulle prestazioni del server. Se possibile, attivate New Relic o SigNoz solo quando risolvete/registrate/analizzate i problemi per evitare qualsiasi impatto sulle prestazioni che potrebbero causare lasciandoli attivi a lungo termine.

New Relic (Gratuito e Pro)

Progetti open source di New Relic (gratuiti)

https://github.com/orgs/newrelic/repositories?type=all

New Relic dispone di progetti github open source gratuiti, che in pratica funzionano anche come edizione comunitaria gratuita. Un’opzione fantastica per l’osservabilità e le statistiche sulle prestazioni.

https://docs.newrelic.com/docs/network-performance-monitoring/get-started/npm-introduction/

New Relic è un’applicazione a livello di server che monitora una serie di statistiche e traffico di rete, fornendo un alto livello di osservabilità dei problemi di prestazioni e di risoluzione dei problemi. New Relic è uno strumento diagnostico inestimabile, che ogni sviluppatore dovrebbe integrare nel proprio kit di strumenti.

Monitora tutti gli aspetti delle prestazioni dello stack web.

Script di automazione per l’installazione automatica di New Relic open source sulla maggior parte delle distribuzioni Linux

https://docs.google.com/document/d/1wtIcwh4vjAEIr_71WioxIUCV1q3DtIzhQKYxDz6RcbY/

SigNoz (Gratuito e Pro)

https://signoz.io/

https://signoz.io/docs/install/docker/

https://github.com/signoz/signoz

SigNoz dispone di una versione comunitaria open source auto-ostabile, che può essere utilizzata gratuitamente. Una buona alternativa a New Relic. Leggermente più facile da installare rispetto a New Relic.

Ottimizzazione di WordPress

Devo utilizzare contemporaneamente tutte le opportunità di ottimizzazione di questa guida?

Sì! Tutte le funzionalità elencate sono complementari e possono e devono essere utilizzate contemporaneamente. Implementate tutte le funzionalità possibili per ottenere i migliori benefici in termini di prestazioni. Contrariamente a quanto si pensa, non esistono “troppi” plugin. Un plugin è semplicemente un frammento di codice preconfezionato e sviluppato da uno sviluppatore di plugin. Un plugin può essere una semplice funzione PHP. Ciò che conta è la qualità e il contenuto del codice contenuto in un plugin.

Se il plugin è leggero e non interferisce con un altro, non c’è nulla di male nell’eseguire tutti i plugin che si desidera. Un sito correttamente ottimizzato potrebbe eseguire 90 plugin contemporaneamente senza problemi di prestazioni. Gli effetti negativi dei plugin non ottimizzati sono additivi, quindi assicuratevi di scegliere solo plugin di qualità e ottimizzati per evitare di rallentare il vostro sito.

D’altra parte, i plugin di debug e di analisi dovrebbero essere attivi solo quando sono necessari, poiché se lasciati attivi causano un calo delle prestazioni e rallentano il sito. Questi dovrebbero essere attivati solo su un sito di staging, per evitare rallentamenti agli utenti.

Anche quando i plugin di debug sono ben ottimizzati, le visite al database sono numerose, quindi è bene utilizzarli solo in fase di staging o abilitarli sul sito live per il tempo necessario a ottenere le informazioni necessarie.

Utilizzate il numero di plugin necessario per ottenere il design che desiderate, ma non esiste un numero eccessivo di plugin di ottimizzazione (o di altri plugin in generale, se sono ben ottimizzati). I plugin di ottimizzazione hanno lo scopo di migliorare le prestazioni, non di danneggiarle. Non impasterete il vostro sito eseguendo tutti i plugin di ottimizzazione contemporaneamente. L’implementazione di tutte queste tecniche insieme è il modo per ottenere punteggi ottimali.

Le migliori pratiche

Attivare i plugin che si stanno testando su staging.

Non attivate sul vostro sito live alcun plugin che non siete certi di volere. Testateli sempre in staging o su un server di sviluppo wordpress locale. Questo non sarà mai sottolineato abbastanza. Alcuni plugin introducono un ritardo che non può essere completamente eliminato nemmeno pulendo le tabelle del database/disabilitando le opzioni di caricamento automatico o cancellando completamente le opzioni.

Eseguire backup regolari

Create spesso dei backup quando lavorate su WordPress. Non volete perdere il lavoro svolto a causa di un errore facilmente evitabile che vi costringa a ripristinare. È meglio crearli dopo ogni modifica per evitare di perdere i progressi.

A volte un plugin o una modifica creano un errore critico (relativamente raro), bloccano l’accesso a una sezione specifica del backend di amministrazione, impediscono il caricamento completo del backend di amministrazione o altri comportamenti strani. In questi casi, l’unica soluzione è ripristinare un backup funzionante.

Ho recuperato un po’ di prestazioni rimuovendo le voci del database create da alcuni plugin, ma a volte non è possibile recuperare tutte le prestazioni perse e bisogna tornare a un backup.

Testate sempre i vostri nuovi plugin in un ambiente di staging non live prima di impegnarli e implementarli sul vostro sito live.

Scegliere plugin di qualità

Se ci sono più plugin che soddisfano le vostre esigenze per una determinata attività, scegliete quello più ottimizzato, perché funzionerà meglio. Se ci sono 3 plugin, uno da 300 kb, uno da 700 kb e uno da 1,2 MB, il plugin da 300 kb è quello che funzionerà meglio nella maggior parte dei casi (anche se non è sempre così). Confrontate sempre le dimensioni dei file dei plugin, ma l’unico vero modo per saperlo è testarli uno alla volta. Confrontare le dimensioni dei file per avere un’idea dell’impatto sulla velocità delle pagine è comunque una buona regola. I plugin con una dimensione di file inferiore di solito hanno prestazioni migliori, quindi è una buona euristica per giudicare il probabile impatto di un plugin.

Tutti i plugin elencati in questa guida sono ottimizzati per le prestazioni. Tutti i plugin per funzioni specifiche (grafici, SEO, tabelle, campi personalizzati, backup, gestione degli utenti, woocommerce, moduli, LMS, plugin di supporto, ecc.) che ho incluso sono stati scelti intenzionalmente perché hanno un codice ottimizzato e performante. Se costruite il vostro sito con i soli plugin elencati in questa guida, il peso della vostra pagina sarà basso anche prima dell’ottimizzazione.

Disattivare le opzioni di autoricaricamento del database non necessarie

Dopo aver installato un plugin, assicurarsi di ispezionare il database con Advanced Database Cleaner per verificare quante tabelle e opzioni del plugin sono state aggiunte. Molti plugin creano un numero eccessivo di opzioni impostate sul caricamento automatico, che possono rallentare seriamente il sito. In genere, la maggior parte delle opzioni può essere impostata in modo da non avere alcun impatto sulla funzionalità, ma non è sempre così.

La disabilitazione dell’autoload può avere gravi impatti negativi se si disabilita l’opzione sbagliata, in alcuni casi estremi si può addirittura essere completamente bloccati dal backend e innescare errori critici del plugin. Disabilitare le opzioni di autocaricamento è sempre una buona idea per le prestazioni, ma fate attenzione a quali disabilitate e testate sempre le vostre modifiche prima su staging!

Testate SEMPRE la disattivazione delle opzioni di caricamento automatico per i plugin attivi sullo staging prima di rendere effettive le modifiche. Ci sono prove ed errori, assicuratevi di avere dei backup prima di modificare le impostazioni di autocaricamento sul sito live!

Rimuovere le voci del database non necessarie

Se un plugin aggiunge troppe tabelle e opzioni al database e si desidera rimuovere il plugin, è necessario eliminare le voci del database con Advanced Database Cleaner o un altro plugin per la pulizia del database nella sezione del database dopo aver eliminato il plugin, poiché la maggior parte dei plugin lascia tutte le opzioni e le tabelle nel database quando li si disattiva/elimina. Molti plugin impostano il caricamento automatico delle opzioni anche se non è necessario, quindi assicuratevi di disabilitare il maggior numero possibile di opzioni caricate automaticamente (senza interrompere la funzionalità).

Aggiornamenti automatici di plugin e temi

Mantenere aggiornati i temi e i plugin.

Mantenete aggiornati i vostri temi e plugin per motivi di sicurezza e prestazioni. In genere i programmatori rilasciano frequentemente aggiornamenti per le prestazioni, le funzionalità e la sicurezza dei loro plugin, che dovrebbero essere sempre aggiornati.

Impostare l’aggiornamento automatico solo per alcuni dei plugin che non hanno funzionalità critiche per il sito. Ad esempio, non è il caso di aggiornare automaticamente un pagebuilder. Alcuni aggiornamenti di plugin possono interrompere completamente alcune funzionalità introducendo nuovi bug, quindi è una buona idea eseguire dei backup prima dell’aggiornamento, nel caso in cui sia necessario eseguire un revert. Eseguire test su staging quando si aggiornano i plugin. In casi molto rari anche un plugin non critico può rompere il vostro sito, quindi, come sempre, eseguite regolarmente dei backup!

Anche gli aggiornamenti del tema potrebbero danneggiare il vostro sito, soprattutto perché se state seguendo i consigli di questa guida, dovreste disabilitare tutto ciò che è umanamente possibile nel vostro tema e lavorare esclusivamente con un qualche tipo di page builder o

personalizzare il vostro sito con un codice personalizzato, se è la vostra preferenza.

WP-Config Limite di memoria costante

Potete incollarlo nel vostro file wp-config appena sopra la riga “/* Questo è tutto, smettete di modificare! Buona pubblicazione. */”, assicurandosi di modificare il valore in modo che corrisponda a quello impostato nelle impostazioni PHP.

Ad esempio

define( ‘WP_MEMORY_LIMIT’, ‘256M’ );

Nota: Il limite di memoria è la quantità di RAM che può essere allocata a un singolo processo PHP. Non si dovrebbero avere plugin o script che occupano così tanta RAM. Se così fosse, vi consiglio di cambiare plugin. La raccomandazione predefinita sulla maggior parte delle guide è 256M. Se si deve aumentare il valore oltre i 256M, non impostare un valore superiore a 512M. 512M dovrebbe essere il limite massimo.

Disattivare XML-RPC

Disattivare XML-RPC. Esistono vari modi per disabilitarlo. Io uso Asset Cleanup per farlo, ma ci sono molte opzioni di plugin. Questo migliorerà la sicurezza del vostro sito e preverrà anche alcuni attacchi ddos. Potete semplicemente cancellare il file, XML-RPC non è utilizzato dal 99% dei siti wordpress, ma va attivato solo se è necessario per il funzionamento di un plugin.

Diagnosi e analisi

Strumenti per il database

Analisi delle query di database Query Monitor (gratuito)

https://wordpress.org/plugins/query-monitor/

Aiuta a eseguire il debug delle query di database, degli errori PHP, degli hook e delle azioni, dei blocchi dell’editor di blocchi, degli script e dei fogli di stile in attesa, delle chiamate API HTTP e molto altro ancora.

Componenti aggiuntivi (gratuiti)

https://querymonitor.com/help/add-on-plugins/

Collezione di componenti aggiuntivi di Query Monitor per estendere le funzionalità di Query Monitor.

Logger di query Fluent (gratuito)

https://wordpress.org/plugins/fluent-query-logger/

Query Logger con funzionalità di registrazione selettiva.

Istantanee del database di WP (gratuito)

https://wordpress.org/plugins/wpvivid-snapshot-database/

WPvivid Database Snapshots consente di creare rapidamente istantanee di tutte le tabelle del database di WordPress.

Fare un’istantanea del database è molto più veloce che fare un backup del database. Se avete bisogno di una soluzione di rollback più rapida per testare in modo sicuro le modifiche al database di WordPress, utilizzate un’istantanea.

Abilitare gli strumenti di database (gratuito)

https://wordpress.org/plugins/enable-database-tools

Fa una cosa: consente di ottimizzare e riparare le tabelle InnoDB e MyISAM utilizzando gli strumenti di database integrati in WordPress.

Amministrazione del database Amministrazione del database (gratuito)

https://github.com/qriouslad/database-admin

Sostituzione dell’amministratore, direttamente dalla dashboard di amministrazione di WordPress!

WP phpMyAdmin (gratuito)

https://wordpress.org/plugins/wp-phpmyadmin-extension/

PHP My Admin dalla dashboard di amministrazione di WordPress.

Profilazione delle prestazioni

Code Profiler (Gratuito e Pro)

https://wordpress.org/plugins/code-profiler/

https://code-profiler.com/

Code Profiler vi aiuta a misurare le prestazioni dei vostri plugin e temi a livello di PHP e a individuare rapidamente qualsiasi potenziale problema nella vostra installazione di WordPress. È utile per la risoluzione dei problemi e per identificare quali plugin utilizzate hanno prestazioni insufficienti.

Può indicare le linee di codice e i plugin specifici che causano problemi di prestazioni. È molto utile se si sta creando un proprio plugin, se si vuole modificare quello di qualcun altro per risolvere il problema, se si identifica un plugin che danneggia le prestazioni o se si vuole segnalare il problema identificato a uno sviluppatore di plugin, in modo che possa essere risolto.

F12 Profiler (gratuito)

https://wordpress.org/plugins/f12-profiler/

Un plugin per la profilazione del codice, non così granulare o dettagliato come Code Profiler, ma con alcune caratteristiche interessanti che Code Profiler non ha, come la barra del menu di amministrazione del frontend che mostra le informazioni sulla profilazione della pagina corrente che si sta visualizzando sul frontend.

AIO Performance Profiler (gratuito)

https://wordpress.org/plugins/all-in-one-performance-accelerator/

Nota: non consiglio di attivarlo su un sito live, ma di attivarlo su un sito di staging. È utile per la diagnosi, ma ha rallentato molto il sito su cui stavo lavorando anche una volta disattivato, non ho mai indagato sul perché. Suggerisco di utilizzare questo plugin solo su un sito di staging.

Profilazione delle prestazioni LAPS (gratuito)

https://github.com/Rarst/laps

Profilatore di prestazioni leggero. Fornisce un riepilogo visivo nella barra degli strumenti dell’amministratore, facile e veloce da ispezionare.

Risolvere i conflitti tra i plugin

Controllare i conflitti (gratuito)

https://wordpress.org/plugins/check-conflicts/

Il plugin consente di disabilitare/abilitare i plugin e/o attivare un tema predefinito per verificare i conflitti tra di essi solo per il proprio IP; gli altri utenti non vedranno alcuna modifica durante i test.

Detective di plugin (gratuito)

https://wordpress.org/plugins/plugin-detective/

Aiuta a diagnosticare i conflitti tra i plugin in modo graduale.

Strumenti WP (gratuiti)

https://wordpress.org/plugins/wptools/

Il plugin WP Tools (wp-tools) presenta una dashboard completa che mostra le statistiche del server, compreso un grafico degli errori, il tempo di caricamento della pagina anche per pagina e vanta oltre 47 strumenti progettati per semplificare le attività di gestione di WordPress.

Cruscotto di sistema (gratuito)

https://wordpress.org/plugins/system-dashboard/

Questo plugin fornisce una dashboard centrale per monitorare vari componenti, processi e dati di WordPress, tra cui l’hardware del server, il software e l’utilizzo delle risorse. Si abbina bene a Query Monitor

Filtri e ganci

WP Hooks Finder (gratuito)

https://wordpress.org/plugins/wp-hooks-finder/

Se si guarda a qualsiasi pagina o post di WordPress, appaiono attraverso la combinazione di ganci per azioni e filtri. A volte sono utili per il debug e lo sviluppo di plugin.

Per pagina Elenco dei plugin in uso

Elenco dei plugin (gratuito)

https://wordpress.org/plugins/plugins-list/

Il plugin inserisce un elenco XHTML in qualsiasi post/pagina tramite uno shortcode. Se si è interessati alla personalizzazione, è possibile specificare un argomento di formato e indicare l’output esatto che si desidera.

C’è anche un’opzione per visualizzare i plugin inattivi.

  • Un semplice sistema di template consente di formattare il modo in cui si desidera che vengano visualizzate le informazioni del plugin.
  • I tag modello sono disponibili per gli elementi collegati automaticamente e per il testo semplice.
  • Scegliere una serie di dati del plugin da inviare in uscita
  • Visualizzare i plugin inattivi e quelli attivi, se lo si desidera.
  • Limita automaticamente le descrizioni lunghe a lunghezze specifiche e rimuove persino le emoji dall’output.
  • L’output viene memorizzato nella cache per fornire una risposta rapidissima.
  • Uno shortcode separato consente di visualizzare il numero di plugin presenti!

Utilizzo del blocco Gutenberg

Trova i miei blocchi (gratis)

https://wordpress.org/plugins/find-my-blocks/

Ricerca rapida delle posizioni dei blocchi

Risparmiate il vostro tempo scansionando l’intero sito (compresi i post, le pagine e i tipi di post personalizzati) per individuare le istanze di WordPress Blocks.

  • Trova e sostituisci i blocchi in modo sicuro con collegamenti rapidi di modifica e anteprima.
  • Supporto per la modifica completa del sito WordPress. I modelli di blocco e le parti di modello saranno ricercati.
  • Impostazioni delle prestazioni per hosting di basso livello (condiviso) e di alto livello.
  • 100% gratuito e open source.

Tracciamento dei problemi (gratuito)

https://wordpress.org/plugins/issues-tracker/

Issues Tracker consente di visualizzare e cercare i log di debug di WordPress, ricevere consigli sulla sicurezza, tenere traccia degli errori 404 e visualizzare le impostazioni del server.

Ispezionare e bloccare le richieste HTTP (gratuito)

https://wordpress.org/plugins/inspect-http-requests/

Monitorare tutte le richieste HTTP effettuate tramite i metodi HTTP di WP, ossia wp_remote_get, wp_remote_post. Bloccate qualsiasi richiesta con un semplice clic su un pulsante.

Tenere traccia del tempo impiegato da una richiesta come l’aggiornamento di core/plugin/tema (può essere utile per l’analisi del consumo di banda).

Gestore dei transitori (gratuito)

https://wordpress.org/plugins/transients-manager/

La gestione dei transitori consente di

  1. Pulsante della barra degli strumenti per sospendere le scritture transitorie
  2. Visualizza tutti i transitori nel database
  3. Modificare il nome, la scadenza e il valore di qualsiasi transitorio.
  4. Cancellare tutti i transitori
  5. Ricerca dei transitori per nome
  6. Azioni massive per eliminare: tutti, scaduti, non scaduti o transitori persistenti.

Test delle prestazioni dalla dashboard dell’amministratore

La sezione dei test di velocità di cui sopra è una delle principali risorse da utilizzare per diagnosticare i problemi di prestazioni. I grafici a cascata sono fondamentali per diagnosticare quali file devono essere ritardati, disabilitati, compressi, caricati in modo pigro o necessitano di attributi di caricamento come il rinvio.

Vibes (Gratuito)

https://wordpress.org/plugins/vibes/

Un plugin della suite PerfOps one, che consente di eseguire test lighthouse gratuiti direttamente dalla dashboard di amministrazione, molto utile.

WP Velocità della luce (gratuito)

https://wordpress.org/plugins/wp-speed-of-light/

WP Speed Of Light è un plugin di ottimizzazione gratuito con test di velocità delle pagine integrato. Esiste una versione pro, ma è del tutto inutile se viene utilizzato come plugin di ottimizzazione/caching oltre alla funzionalità di test della velocità. Tutte le funzionalità pro sono disponibili tramite plugin gratuiti in altre sezioni.

Verificatore WPO (gratuito)

https://wordpress.org/plugins/wpo-checker/

Aggiunge collegamenti a strumenti esterni di pagespeed nell’elenco delle pagine e dei post.

Google Pagespeed Insight: ecco cosa c'è da sapere

Non è stato aggiornato da un po’ di tempo, attivarlo su staging per assicurarsi che non ci siano conflitti.

Guardia di velocità (gratuito)

https://wordpress.org/plugins/speedguard/

Strumento di test di Pagespeed Insights in blocco. Aggiungete gli URL da testare nel backend e lo strumento eseguirà test di velocità delle pagine in blocco su tutti gli URL.

Avvertenze: la funzionalità di visualizzazione del punteggio LCP di ogni pagina testata nella pagina delle impostazioni del plugin non è funzionante e tutti i rapporti pagespeed devono essere aperti singolarmente (non c’è una panoramica) per vedere i punteggi.

Strumenti della barra di amministrazione (gratis)

https://wordpress.org/plugins/admin-bar-tools/

Aggiunge un link a Pagespeed Insights nella barra di amministrazione per lanciare un test su qualsiasi pagina visualizzata nel frontend.

SEO Booster (a pagamento)

https://wordpress.org/plugins/seo-booster/

La versione a pagamento di SEO Booster dispone della funzionalità di test Pagespeed Insights.

WP Performance Tester (gratuito)

https://wordpress.org/plugins/wpperformancetester/

WPPerformanceTester è stato scritto come strumento per effettuare il benchmark di WordPress nei benchmark delle prestazioni dell’hosting WordPress (2015) di Review Signal. I benchmark attuali sono su WPHostingBenchmarks.com. È stato progettato per testare le prestazioni del server stressando PHP, MySql ed eseguendo query $wpdb.

WPPerformanceTester esegue i seguenti test

  • Matematica – 100.000 test sulle funzioni matematiche
  • Manipolazione delle stringhe – 100.000 test di manipolazione delle stringhe
  • Loop – 1.000.000 di iterazioni di loop
  • Condizionali – 1.000.000 di controlli logici condizionali
  • MySql (connect, select, version, aes_encrypt) – funzioni mysql di base e 5.000.000 di iterazioni AES_ENCRYPT()
  • \$wpdb – 250 operazioni di inserimento, selezione, aggiornamento e cancellazione attraverso \$wpdb
  • Inoltre, vi permette di vedere come le prestazioni del vostro server si posizionano rispetto al nostro benchmark di settore. Il nostro benchmark di settore è la media di tutti i risultati dei test inviati.

Analisi delle

dimensioni della

pagina GreenerWP

(gratuito)

https://wordpress.org/plugins/greenerwp/

Scanner delle dimensioni delle pagine in blocco. Le informazioni non sono molto dettagliate, ma forniscono una rapida panoramica del peso delle singole pagine su più pagine.

Registrazione

Registrazione della posta

WP Mail Logging (gratuito)

https://wordpress.org/plugins/wp-mail-logging/

Utilizzate questo plugin per registrare tutte le e-mail in uscita dal vostro sito WordPress. Se si verificano errori durante l’invio di un’e-mail dal vostro sito, i nostri registri delle e-mail rileveranno l’errore e lo mostreranno all’utente.

Registrazione di debug Debug Log Manager (gratuito)

https://wordpress.org/plugins/debug-log-manager/

    • Analizzare il file debug.log e visualizzare gli errori distinti e l’ultima volta che si sono verificati.
    • Individuate e filtrate rapidamente gli errori più specifici per il vostro lavoro di debug.
    • Facilitare la lettura dei dettagli degli errori identificando la fonte dell’errore.
    • Visualizza facilmente i file in cui si sono verificati errori PHP. Questo include i file del nucleo di WordPress, dei plugin e dei temi.
    • Attivare l’aggiornamento automatico per caricare automaticamente le nuove voci del registro.
    • Cancellare facilmente il file debug.log per risparmiare spazio su disco e osservare più facilmente gli errori che si verificano di recente sul sito.
    • Mostra un indicatore sulla barra di amministrazione quando la registrazione degli errori è abilitata.
    • Aggiungere un widget del cruscotto che mostri gli ultimi errori registrati.
    • Usare error_log() per inviare informazioni sugli errori nel log di debug.

Bugfu (gratuito)

https://wordpress.org/plugins/bugfu-console-debugger/

Registrare/debuggare il codice PHP nel tema/plugin nella console del browser (non è necessaria alcuna estensione).

Debug This (gratuito)

https://wordpress.org/plugins/debug-this/

Fornisce un sacco di informazioni sulla vostra installazione di WordPress, tutto dalla barra di amministrazione del front-end.

    • L’oggetto WP_Query corrente
    • Info e opzioni del blog
    • Incorporare i fornitori
    • File nell’HTML renderizzato (CSS, immagini, JavaScript)
    • Filtri e azioni
    • Dimensioni delle immagini
    • Globali e costanti
    • Menu
    • Statistiche della cache degli oggetti
    • Plugin, plugin indispensabili e drop-in
    • Riscrivere le regole
    • Domande
    • Informazioni su PHP e server
    • Allegati postali
    • Tipi di messaggi
    • Script e stili in attesa
    • Shortcodes
    • Barre laterali e widget
    • Tassonomie e termini
    • Temi
    • Utenti
    • Pianificazioni e lavori cron di WP
    • Registro di debug di WP

Barra di debug (gratuita)

https://wordpress.org/plugins/debug-bar/

Aggiunge alla barra di amministrazione un menu di debug che mostra le query, la cache e altre utili informazioni di debug.

Registrazione delle azioni e

delle verifiche CoreActivity Log

(gratuito)

https://wordpress.org/plugins/coreactivity/

CoreActivity Log è un plugin gratuito per il monitoraggio e la registrazione di varie attività. Il plugin è altamente modulare, con eventi registrati e controllati da più componenti.

Attualmente, il plugin ha 28 componenti per un totale di 174 eventi, con integrazione diretta con 12 plugin popolari. Tra tutte le opzioni per la registrazione degli audit, questa è la più completa.

Log Dash (gratuito)

https://wordpress.org/plugins/logdash-activity-log/

Il registro delle attività consente di monitorare e tenere traccia di tutte le azioni sul vostro sito WordPress, compresi gli accessi degli utenti, le modifiche ai contenuti, gli aggiornamenti dei plugin e altro ancora. Il suo

Il dashboard di facile utilizzo consente di accedere immediatamente alle informazioni critiche, facilitando l’identificazione e la risoluzione rapida dei problemi.

Streaming (gratuito)

https://wordpress.org/plugins/stream/

Il plugin registra le azioni degli utenti di WordPress e del sistema nei registri Stream. Ogni azione dell’utente connesso viene visualizzata in un flusso di attività e organizzata in modo da poter essere facilmente filtrata per utente, ruolo, contesto, azione o indirizzo IP. Gli amministratori possono evidenziare le voci del registro Stream, ad esempio le attività sospette degli utenti, per indagare su ciò che sta accadendo in tempo reale. Stream consente anche di

configurare avvisi via e-mail e webhook per integrazioni come Slack e IFTTT per notificare a voi e al vostro team quando qualcosa è andato storto.

Il flusso è completamente gratuito, senza piani pro

Diario delle attività di Aryo (gratuito)

https://wordpress.org/plugins/aryo-activity-log/ Un

altro plugin per il monitoraggio delle attività, anch’esso completamente gratuito.

DecaLog (gratuito)

https://wordpress.org/plugins/decalog/

Sebbene DecaLog non registri specificamente gli eventi dell’utente, ha la meravigliosa funzione di registrare vari eventi su un sito che non vengono registrati né da Stream né da Aryo, il che consente di ottenere diverse informazioni sui processi in background, rendendo più facile l’individuazione del malware.

Se avete difficoltà a interpretare i risultati, vi suggerisco di fare uno screenshot dei log e di caricarli su un bot AI che li interpreti per voi. I bot AI a pagamento sono accessibili gratuitamente tramite Poe.

Storia semplice (gratuito)

https://wordpress.org/plugins/simple-history/

Registro di controllo per WordPress, utile per diagnosticare le modifiche apportate dagli utenti, con registrazione dettagliata e integrazione diretta con diversi plugin.

Registrazione degli eventi Ajax

Amuga Ajax Log (Gratuito)

https://wordpress.org/plugins/amuga-ajax-log/

Registra le chiamate Ajax

Registrazione Cron

Cron Logger (gratuito)

https://wordpress.org/plugins/cron-logger/

Questo plugin vi aiuterà a identificare quali Cronjob (se ce ne sono) sono problematici.

Analisi delle prestazioni e di WordPress

Query Monitor (gratuito)

https://wordpress.org/plugins/query-monitor/

Aiuta a eseguire il debug e a identificare le query di database lente, gli errori PHP, gli hook e le azioni, i blocchi dell’editor di blocchi, gli script e i fogli di stile in attesa, le chiamate API HTTP e altro ancora. Uno strumento fondamentale nella cintura degli strumenti per diagnosticare i problemi di prestazioni.

Plugin PerfOps One (gratuito)

Una suite di plugin gratuiti e open source per WordPress dedicati all’osservabilità e alle prestazioni delle operazioni.

OPcache Manager (gratuito)

https://wordpress.org/plugins/opcache-manager/

Strumento completo di gestione di OPcache e di reportistica analitica. OPcache Manager consente di supervisionare e ottimizzare le operazioni di OPcache su un sito WordPress.

Sessioni (gratuite)

https://wordpress.org/plugins/sessions/

Potente gestore di sessioni per WordPress con limitatore di sessioni multi-criterio e reportistica analitica completa. Sessions si basa sul gestore di sessioni standard di WordPress e aggiunge ulteriori funzioni e controlli.

Traffico (gratuito)

https://wordpress.org/plugins/traffic/

Strumento di reportistica analitica completo che fornisce un controllo accurato su tutte le chiamate API in entrata e in uscita effettuate da/verso un sito WordPress.

Vibes (Gratuito)

https://wordpress.org/plugins/vibes/

Soluzione di monitoraggio dell’esperienza utente e delle prestazioni di navigazione che analizza le prestazioni percepite dal punto di vista degli utenti.

Keys Master (gratuito)

https://wordpress.org/plugins/keys-master/

Robusto gestore di password di applicazioni per WordPress con controllo dell’uso basato sui ruoli e reportistica analitica completa. Keys Master si basa sulla funzione standard di WordPress “application password” e aggiunge ulteriori funzioni e controlli.

oEmbed Manager (gratuito)

https://wordpress.org/plugins/oembed-manager/

Strumento di gestione che aiuta a mettere a punto e ad attivare in modo condizionato i produttori/consumatori del nucleo di WordPress oEmbed. oEmbed Manager può aiutare a raggiungere la conformità GDPR.

DecaLog (gratuito)

https://wordpress.org/plugins/decalog/

Standard di riferimento per l’osservabilità di WordPress, DecaLog fornisce funzioni di log, monitoraggio e tracciamento affidabili e potenti per il core di WordPress, PHP, database, plugin e temi.

Gestore APCu (gratuito)

https://wordpress.org/plugins/apcu-manager/

Strumento completo di gestione di APCu e di reportistica analitica. APCu Manager consente di supervisionare e ottimizzare le operazioni APCu su un sito WordPress.

Localizzatore IP (gratuito)

https://wordpress.org/plugins/ip-locator/

Servizio di rilevamento di paesi e lingue per WordPress. Veloce, affidabile e plug & play. IP Locator fornisce un’API di personalizzazione e rilevamento condizionale per il nucleo di WordPress e i plugin che ne hanno bisogno.

Rilevatore di dispositivi (gratuito)

https://wordpress.org/plugins/device-detector/

Strumento di rilevamento e gestione che rileva tutti i dispositivi che accedono a un sito WordPress. Device Detector fornisce rapporti analitici completi, personalizzazione dei CSS e API di rilevamento per il nucleo di WordPress e i plugin che ne hanno bisogno.

MailArchiver (gratuito)

https://wordpress.org/plugins/mailarchiver/

Strumento di archiviazione automatica della posta in uscita che funziona perfettamente indipendentemente dal provider di servizi di posta e dalla tecnologia utilizzata: API, SMTP, IMAP o PHP nativo.

Stato e informazioni su Apache (gratuito)

https://wordpress.org/plugins/htaccess-server-info-server-status/

Strumento per attivare e impostare gli url per i moduli Apache server-status e server-info. Inoltre, Apache Status & Info consente di controllare la configurazione e le impostazioni di Apache all’interno di WPadmin.

Ottimizzazione delle immagini

La maggior parte delle opzioni incluse in questa sezione sono gratuite.

Compressione manuale dell’immagine

Comprimere sempre più volte (il maggior numero possibile) finché non si arriva al punto in cui la compressione ulteriore degrada in modo inaccettabile la qualità. Ho già eseguito 10-20 passaggi di compressione diversi su un’immagine senza che la qualità peggiorasse in modo evidente. Eseguire TinyJPG e TinyPNG sulle immagini il maggior numero di volte possibile prima di passare a un altro compressore.

Una volta compressa un’immagine con un servizio alternativo, è possibile farla passare nuovamente attraverso TinyPNG e TinyJPG per ulteriori compressioni!

A titolo di esempio: TinyPNG > TinyPNG > TinyPNG > TinyPNG > TinyJPG > TinyJPG > TinyPNG

> TinyPNG > 11zon > TinyPNG > 11zon > TinyJPG > TinyPNG

Continuate a comprimere l’immagine e a farla girare tra i vari servizi per comprimerla ulteriormente, fino a quando non potrete comprimere ulteriormente l’immagine su nessun servizio o la qualità si ridurrà oltre un livello accettabile.

Anche quando un servizio esaurisce la sua capacità di comprimere ulteriormente dopo più esecuzioni, l’uso di un altro servizio per generare un’immagine ancora più compressa consentirà talvolta al sito di compressione precedente di comprimere ulteriormente. La conversione di un’immagine in un altro formato consente sempre di utilizzare i servizi di compressione per comprimerla ulteriormente una volta convertita.

TinyPNG (gratuito)

https://tinypng.com/

Ottimo sito di ottimizzazione. Tinypng è unico in quanto è possibile eseguire più passaggi di compressione. Ad esempio, è possibile comprimere l’immagine una volta, scaricarla e trascinarla immediatamente in tinypng per comprimerla ulteriormente. TinyPNG di solito può eseguire almeno 3 passaggi. Eseguire sempre più passaggi con TinyPNG!

Una volta che TinyPNG non è in grado di ridurre ulteriormente le dimensioni, passare l’immagine attraverso TinyJPG

TinyJPG (gratuito)

https://tinyjpg.com/

Incredibilmente simile a tinypng, ma utilizza un algoritmo leggermente diverso. Eseguire le immagini attraverso TinyJPG dopo TinyPNG (o viceversa)

Comprimere o morire (gratuito)

https://compress-or-die.com/

Comprimere in blocco (gratuito)

https://batchcompress.com/en

La compressione batch converte i PNG in JPG ed elimina qualsiasi effetto di trasparenza sul png compresso. Usare batchcompress solo se non si ha bisogno della trasparenza dei png.

Spremere le foto (gratis)

https://www.squeeze.pics/ Comprimere le immagini in batch

11zon (Gratuito)

https://imagecompressor.11zon.com/

Convertire gratuitamente (gratuito)

https://www.freeconvert.com/

Nota

Consiglio di far rimbalzare le immagini da comprimere attraverso più servizi, comprimendo l’immagine più volte.

È meglio iniziare con un’immagine di alta qualità e di grandi dimensioni, perché quando la si fa passare più volte attraverso un compressore, la qualità si degrada a ogni passaggio.

Con questo procedimento è possibile ridurre le immagini a meno di 100 kb, anche se l’immagine parte da 4-9 MB. È certamente una seccatura, ma funziona. La qualità diminuisce a ogni compressione, quindi è meglio iniziare con un’immagine ultra nitida e di alta qualità, in modo che la degradazione non si noti. Una volta che si inizia ad arrivare alle centinaia di immagini basse, controllare la qualità dell’immagine dopo ogni operazione di compressione per assicurarsi che sia ancora accettabile.

Alcuni servizi di compressione sono migliori di altri e producono immagini di qualità migliore con dimensioni equivalenti.

Quando si nota che la qualità dell’immagine si degrada oltre il punto in cui è accettabile (la foto diventa troppo sgranata), utilizzare l’immagine compressa con il peso del file più basso (versione più compressa) dell’immagine che è ancora visivamente di alta qualità.

Le immagini compresse dovrebbero essere possibilmente inferiori a 100 kb. Più bassa è la dimensione del file, meglio è. Una differenza di 300-400 kb nel peso del file potrebbe fare la differenza tra un punteggio di 80 e 90 (ad esempio, 490 kb per il file originale e 90 kb per l’immagine compressa).

Il peso dei file immagine può sicuramente fare la differenza nei punteggi di pagespeed, quindi comprimete le immagini il più possibile!

Plugin di compressione delle immagini

Controllo della qualità delle immagini (gratuito)

https://wordpress.org/plugins/still-be-image-quality-control/

Piccolo plugin pulito, molto personalizzabile, utilizzo gratuito illimitato.

Ottimizzatore di immagini (gratuito)

https://wordpress.org/plugins/bulk-image-resizer/

Comprime le immagini, le ridimensiona e le converte in WebP. Tutto completamente gratuito, senza limiti di dimensione delle immagini, tutto sul server dell’host, senza servizi di terze parti.

Smush (gratuito e premium)

https://wordpress.org/plugins/wp-smushit/

Uno dei migliori plugin per l’ottimizzazione delle immagini. Il suo livello gratuito è estremamente generoso (immagini illimitate sotto i 5 MB) e ha una suite completa di funzioni di ottimizzazione delle immagini. Smush Pro è utile perché permette di eseguire l’ottimizzazione delle immagini in background, il che è necessario se avete una grande quantità di immagini sul vostro sito (se scegliete Smush).

PhastPress (gratuito)

https://wordpress.org/plugins/phastpress

Ottimizzazione delle immagini:

  • Phast ottimizza le immagini utilizzando la quantizzazione PNG (pngquant) e la ricodifica JPEG (libjpeg-turbo).
  • Phast inserisce immagini piccole (< 512 byte) nella pagina.
  • Phast converte le immagini JPEG in WebP per i browser supportati.
  • Phast consente il caricamento pigro nativo per accelerare il caricamento delle pagine e risparmiare larghezza di banda.

Immagini volanti (gratuito)

https://wordpress.org/plugins/nazy-load/

Plugin gratuito per l’ottimizzazione delle immagini con compressione al volo. Utilizzo gratuito e illimitato.

ShortPixel (Freemium)

https://wordpress.org/plugins/shortpixel-image-optimiser/

Articolo di ThemeIsle

https://themeisle.com/blog/wordpress-image-optimizer-plugins-compared/#image-compression- vincitore

ShortPixel è il miglior plugin per l’ottimizzazione delle immagini secondo i test di confronto di ThemeIsle.

Google Pagespeed Insight: ecco cosa c'è da sapere

Il mobile è l’obiettivo dell’ottimizzazione e ShortPixel vince di gran lunga. Sebbene la compressione delle immagini di ShortPixel sia apparentemente inferiore a quella di Optimole, ShortPixel ottiene risultati complessivi migliori e migliora le prestazioni rispetto a Optimole.

Resmush it (Gratuito)

https://wordpress.org/plugins/resmushit-image-optimizer/

“ReSmush.it Image Optimizer consente di utilizzare gratuitamente l’ottimizzazione delle immagini basata sulle API di reSmush.it. reSmush.it fornisce una riduzione delle dimensioni delle immagini basata su diversi algoritmi avanzati. L’API accetta file JPG, PNG e GIF fino a 5MB”.

CompressX (gratuito)

https://wordpress.org/plugins/compressx/

Compressione e conversione di immagini gratuita, completamente locale.

WP Vivid Image Optimization (freemium)

https://wordpress.org/plugins/wpvivid-imgoptim/

Plugin di ottimizzazione completo, con la maggior parte delle funzioni di ottimizzazione abilitate gratuitamente. 2000 immagini/mese, qualsiasi immagine di dimensioni inferiori a 5 MB. Si consiglia vivamente di verificare questo plugin e di confrontarlo con le altre opzioni.

WP-Optimize (gratuito)

https://wordpress.org/plugins/wp-optimize/

Compressione massiva di immagini gratuita

Ridurre i colori

Riducendo la quantità di colori utilizzati in un’immagine si riduce la dimensione del file. È possibile rimuoverne alcuni senza danneggiare la qualità dell’immagine, ma è necessario fare qualche prova per trovare ciò che rientra in una soglia accettabile. La quantità di colori che può essere rimossa senza danneggiare la qualità dell’immagine varia da immagine a immagine.

Strumenti PNG online (gratuiti) Riduzione del numero di colori PNG

https://onlinepngtools.com/decrease-png-color-count

Ridurre il numero di colori WebP

https://onlinetools.com/webp/reduce-webp-colors

Ridurre i colori JPG

https://onlinejpgtools.com/reduce-jpg-colors

Software di compressione installabile

Software di compressione installabile sul dispositivo host (Windows, Mac, Linux)

LibVips (gratuito)

https://github.com/libvips/libvips

LibVips è una libreria per la compressione e l’ottimizzazione delle immagini con una moltitudine di funzioni che vanno oltre la semplice compressione delle immagini, consentendo di comprimere/ottimizzare le immagini in modo profondo e granulare.

GUI ufficiale Nip2 (gratuita)

https://github.com/libvips/nip2

WSRV (gratuito)

https://wsrv.nl/

https://github.com/weserv/images

wsrv.nl è un servizio di cache e ridimensionamento delle immagini. I loro server ridimensionano le immagini, le mettono in cache in tutto il mondo e le visualizzano. Utilizza la libreria LibVips e la estende con ulteriori funzionalità.

ImgProxy (gratuito)

https://github.com/imgproxy/imgproxy

Utilizza la libreria LibVips e dispone di una moltitudine di funzioni di ottimizzazione delle immagini.

Documentazione

https://docs.imgproxy.net/

Caricamento pigro di immagini e video

Lazyload impedisce il caricamento delle immagini che si trovano sotto la piega (fuori dal viewport dell’utente al momento del caricamento del sito) fino a quando l’immagine non entra nel viewport dell’utente (cioè, può essere vista sullo schermo), riducendo così il peso delle pagine che contengono immagini e accelerando in modo significativo il loro tempo di caricamento. Questo è fondamentale se avete un sito web molto ricco di immagini.

Escludere le immagini Above the Fold dal caricamento pigro

Le immagini sopra la piega (immagini che vengono caricate all’interno della viewport senza scorrere) devono essere escluse dal caricamento pigro. Caricare solo le immagini sotto la piega. La maggior parte dei plugin è in grado di rilevare automaticamente le posizioni delle immagini, ma potrebbe essere necessario aggiungere esclusioni manuali. Perfmatters fa un buon lavoro (ed è quello che uso io) per escludere automaticamente le immagini che riesce a rilevare, ma non è perfetto.

Ogni plugin per il caricamento pigro è funzionalmente uguale per quanto riguarda l’esclusione delle immagini. Ci sarà una casella di testo in cui incollare il nome del file dell’immagine per escluderla dal caricamento pigro, basta controllare le impostazioni.

Dimensioni automatiche per le immagini caricate con lazy (gratis)

https://wordpress.org/plugins/auto-sizes/

Questo plugin implementa le specifiche HTML per l’aggiunta di sizes=”auto” alle immagini caricate in modo pigro. Per informazioni di base, vedere: https://github.com/whatwg/html/issues/4654

Immagini volanti (gratuito)

https://wordpress.org/plugins/nazy-load/

Ha una funzione di caricamento pigro, sia nativo del browser che in javascript.

Rocket Lazyload (gratuito)

https://wordpress.org/plugins/rocket-lazy-load/

A3 Lazyload (gratuito)

https://wordpress.org/plugins/a3-lazy-load/

Plugin di ottimizzazione a pagamento

Tutti i plugin di caching a pagamento hanno la capacità di caricare le immagini in modo pigro. Anche molti plugin per l’ottimizzazione delle immagini ne sono dotati.

Convertitori di immagini

Convertitore per media (gratuito)

https://wordpress.org/plugins/webp-converter-for-media/

Converte automaticamente le immagini in WebP.

Convertitore batch di formato immagine XnConvert (gratuito)

https://www.xnview.com/en/xnconvert/

XnConvert è un convertitore di immagini batch multipiattaforma veloce, potente e gratuito. È possibile convertire e comprimere facilmente le immagini, le foto e le immagini, e applicare oltre 80 azioni (come ridimensionamento, ritaglio, regolazioni del colore, filtro e altro ancora). Sono supportati tutti i formati di immagine e grafica più comuni (JPEG, TIFF, PNG, GIF, WebP, PSD, JPEG2000, JPEG-XL, OpenEXR, Camera RAW, HEIC,

PDF, DNG, CR2). È possibile salvare e riutilizzare le preimpostazioni per un’altra conversione di immagini in batch.

Selezionare la giusta dimensione dell’immagine

Una volta caricato il file su WordPress, WordPress creerà automaticamente diverse dimensioni delle immagini. Se si sceglie una delle dimensioni più piccole create (media, medio-grande ecc.), se si utilizza un costruttore di pagine come Elementor, è possibile selezionare la dimensione più piccola (se appropriata) e la dimensione del file verrà ulteriormente ridotta.

È anche possibile utilizzare un plugin per immagini adattive/reattive per ridimensionarle automaticamente.

Assicuratevi che l’immagine sia di qualità accettabile prima di pubblicarla sul vostro sito.

Immagini volanti (gratuito)

https://wordpress.org/plugins/nazy-load/

Flying Images per la compressione delle immagini, WebP e lazyload (gratuito):

È possibile utilizzare Flying Images per comprimere e ottimizzare le immagini.

Li serve automaticamente da un cdn basato sulle immagini e li converte al volo nel formato WEBP per i browser supportati. Non installate Flying Images se state usando WP-Rockets lazyload invece di Flying Images lazyload, che caricherà i file multimediali dal vostro sito invece del cdn statico. Se si desidera utilizzare Flying Images/il cdn statico, il Lazy Load deve essere disabilitato negli altri plugin. Si dovrebbe utilizzare un solo plugin per la funzionalità di caricamento pigro.

Correggere i problemi del CLS relativi alle immagini

Aggiungere gli attributi di larghezza e altezza mancanti alle immagini

L’aggiunta degli attributi di altezza e larghezza mancanti alle immagini contribuisce a ridurre la velocità della pagina del Content Layout Shift (CLS).

Perfmatters (a pagamento)

https://perfmatters.io/docs/missing-width-height-images/

Flyingpress (a pagamento)

https://docs.flyingpress.com/en/article/add-missing-width-and-height-i1n2w9/

L’aggiunta delle dimensioni mancanti di altezza e larghezza alle immagini riduce in modo significativo il Content Layout Shift (CLS) nei punteggi di Page Speed.

Ottimizzare di più! Immagini (gratuito)

https://wordpress.org/plugins/optimize-more-images/

Aggiunge gli attributi di altezza e larghezza mancanti per migliorare i punteggi CLS.

Specificare le dimensioni mancanti dell’immagine (gratuito)

https://wordpress.org/plugins/specify-missing-image-dimensions/

Plugin gratuito, l’unica caratteristica è l’aggiunta delle dimensioni delle immagini mancanti

JCH Optimize (gratuito)

https://wordpress.org/plugins/jch-optimize/

Plugin per l’ottimizzazione di più funzioni in grado di aggiungere gli attributi di altezza e larghezza mancanti

Phastpress (gratuito)

https://wordpress.org/plugins/phastpress/

Plugin di ottimizzazione multifunzione, può anche aggiungere gli attributi di altezza e larghezza mancanti Tuttavia, è necessario aggiungere esclusioni di immagini nella casella di esclusione a tutte le

immagini che vengono caricate nel contenuto above the fold, in modo che non vengano caricate pigramente nelle impostazioni di WP-Rockets se si utilizza il loro caricamento pigro.

Non si deve effettuare il lazyload dei file che si trovano sopra la piega, perché questo rallenterà artificialmente i loro tempi di caricamento, in quanto verranno caricati dopo il file js di lazyload. Questo avrà un impatto negativo sulle prestazioni se non si aggiungono le esclusioni, quindi non dimenticatelo! Se non si dimentica di aggiungere le esclusioni, lazyload aumenterà notevolmente le prestazioni del sito.

Ridimensionamento dell’immagine

Imsanity (completamente gratuito)

https://wordpress.org/plugins/imsanity/

Caratteristiche:

  1. Ridimensiona automaticamente i caricamenti di immagini di grandi dimensioni a dimensioni più “sane”.
  2. Funzione di ridimensionamento in blocco per ridimensionare le immagini esistenti
  3. Ridimensionare selettivamente le immagini direttamente nel Catalogo multimediale (vista elenco)
  4. Consente la configurazione di larghezza/altezza massima e qualità JPG
  5. Converte facoltativamente i file BMP e PNG in JPG per un maggiore risparmio.
  6. Una volta attivata, Imsanity non richiede alcuna azione da parte dell’utente.
  7. Utilizza le funzioni di ridimensionamento delle immagini integrate in WordPress

Bulk Image Optimizer (completamente gratuito)

https://wordpress.org/plugins/bulk-image-resizer/

Comprime le immagini, le ridimensiona e le converte in WebP. Tutto completamente gratuito, senza limiti di dimensione delle immagini, tutto sul server dell’host, senza servizi di terze parti.

Dimensioni semplici delle immagini (gratuito)

https://wordpress.org/plugins/simple-image-sizes/

Questo plugin consente di creare dimensioni personalizzate per le immagini del sito. Sostituisce le dimensioni del tema direttamente nella pagina delle opzioni multimediali.

Migliori dimensioni delle immagini (completamente gratuito)

https://wordpress.org/plugins/better-image-sizes/

Questo plugin consente di:

  • disabilitare le dimensioni delle immagini generate automaticamente
  • generare dinamicamente solo le dimensioni delle immagini necessarie per le sole immagini necessarie
  • eliminare le dimensioni delle immagini generate da questo plugin singolarmente o tutte insieme
  • specificare un diverso punto focale da mettere a fuoco durante la creazione di versioni ritagliate dell’immagine
  • rilevare automaticamente il punto focale tramite l’algoritmo di rilevamento del volto
  • disabilitare la soglia per le immagini di grandi dimensioni, in modo che le immagini più grandi di 2560x2560px non vengano ridimensionate.

ImgProxy (gratuito)

https://github.com/imgproxy/imgproxy

Imgproxy è un server autonomo veloce e sicuro per il ridimensionamento, l’elaborazione e la conversione delle immagini. I principi guida di imgproxy sono sicurezza, velocità e semplicità.

Immagini adattive

Immagini adattive (gratuito)

https://wordpress.org/plugins/adaptive-images/

Plugin gratuito per la generazione di immagini adattive

Immagini adattive ShortPixel (Freemium)

https://wordpress.org/plugins/shortpixel-adaptive-images/

Abilitare le immagini reattive per Gutenberg (gratis)

https://wordpress.org/plugins/enable-responsive-image/

Immagini volanti (gratuito)

https://wordpress.org/plugins/nazy-load/

Plugin gratuito per l’ottimizzazione delle immagini con funzioni interessanti come CDN gratuito per le immagini, compressione delle immagini al volo, conversione webP al volo e immagini adattive.

Precaricare le immagini

Lazyload, Preload e altro (gratis)

https://wordpress.org/plugins/lazyload-preload-and-more/

Può aggiungere l’attributo Preload e l’attributo loading eager.

Preload è più potente di Fetch Priority e ha la precedenza sull’attributo Fetch Priority. Se si desidera che un’immagine venga scaricata il prima possibile, utilizzare Preload rispetto a Fetch Priority.

Precaricare le immagini in primo piano (gratuito)

https://wordpress.org/plugins/preload-featured-images/

Precarica automaticamente le immagini in primo piano

Pre-festa (gratuito)

https://wordpress.org/plugins/pre-party-browser-hints/

Pre-Party può aggiungere una serie di attributi di caricamento, tra cui l’attributo preload.

Perfmatters (a pagamento)

https://perfmatters.io/docs/preload/

Perfmatters dispone di una funzione integrata di precaricamento delle immagini

Priorità di recupero delle immagini

Attributi immagine personalizzati (gratuito)

https://wordpress.org/plugins/custom-image-attributes/ Un altro

plugin per aggiungere gli attributi delle immagini (compresa la priorità di recupero).

Priorizzatore di immagini (gratuito)

https://wordpress.org/plugins/image-prioritizer/

Questo plugin ottimizza il caricamento delle immagini che sono l’elemento LCP (Largest Contentful Paint), compresi gli elementi img e gli elementi con immagini di sfondo CSS (dove esiste un attributo di stile con proprietà background-image). Diversi punti di rottura nella progettazione responsive di un tema possono far sì che elementi diversi siano l’elemento LCP. L’elemento LCP per ogni punto di interruzione viene catturato in modo da aggiungere collegamenti di precaricamento ad alta priorità con query multimediali che danno la priorità al caricamento dell’immagine LCP specifica per il viewport del visitatore.

Plugin Fetch Priority (gratuito)

https://wordpress.org/plugins/fetchpriority/

Plugin Fetch Priority realizzato dal WordPress Performance Team. Applica automaticamente l’attributo fetch priority a una singola immagine determinata automaticamente. Non ci sono impostazioni e non c’è nulla da configurare.

Se avete bisogno di un controllo granulare sull’attributo Fetch Priority, vi consiglio di acquistare Perfmatters.

Perfmatters (a pagamento)

https://perfmatters.io

https://perfmatters.io/docs/fetch-priority/

Perfmatters offre un controllo esplicito su quali immagini hanno l’attributo di priorità di fetch

SpeedSize (a pagamento)

https://wordpress.org/plugins/speedsize-ai-image-optimizer/

Interessanti caratteristiche uniche. Potrebbe essere buono, ma non ho ancora avuto modo di testarlo.

Decodifica dell’immagine

Immagine WordPress Async

https://kybernaut.cz/en/clanky/the-unintended-consequences-of-decodingasync-on-your-wordpr ess-sites-lcp/

Immagine in linea Base64 (gratuito)

https://wordpress.org/plugins/inline-image-base64/

Con Inline Image Base64 è possibile inserire immagini specifiche direttamente nell’HTML come base64.

Nota: utilizzare questa funzione solo con immagini estremamente piccole, inferiori a 20- 30 kb (idealmente meno di 10 kb). Se possibile, mantenere la dimensione del file delle immagini in linea ancora più bassa.

Rigenerazione delle miniature

Rigenerare le miniature (gratis)

https://wordpress.org/plugins/regenerate-thumbnails/

Rigenerare le miniature consente di rigenerare tutte le dimensioni delle miniature di una o più immagini caricate nel Catalogo multimediale.

WebP e AVIF

CompressX (gratuito)

https://wordpress.org/plugins/compressx/

Plugin di conversione WebP e AVIF del team WPVivid. Completamente gratuito, la compressione e la conversione vengono effettuate localmente sul vostro sito.

QuickWebP (gratuito)

https://wordpress.org/plugins/quickwebp/

Plugin di conversione WebP completamente gratuito. Converte completamente in WebP, senza fallback.

PhastPress (gratuito)

https://wordpress.org/plugins/phastpress

Ottimizzazione delle immagini:

  • Phast ottimizza le immagini utilizzando la quantizzazione PNG (pngquant) e la ricodifica JPEG (libjpeg-turbo).
  • Phast inserisce immagini piccole (< 512 byte) nella pagina.
  • Phast converte le immagini JPEG in WebP per i browser supportati.
  • Phast consente il caricamento pigro nativo per accelerare il caricamento delle pagine e risparmiare larghezza di banda.

Convertitori di formato immagine di

nuova generazione WebP Express

(gratuito)

https://wordpress.org/plugins/webp-express/

Servire immagini WebP generate automaticamente invece di jpeg/png ai browser che supportano WebP.

WebP Express Plus (a pagamento)

https://wordpress.org/plugins/webp-express-plus/

Addon per WebP Express che aggiunge ulteriori funzioni. Richiede che il plugin WebP Express sia attivo.

AVIF Express (gratuito)

https://wordpress.org/plugins/avif-express/

Al momento del caricamento, le immagini vengono convertite in formato AVIF. Le immagini AVIF sono un nuovo formato e non sono supportate da tutti i browser. Le immagini di riserva sono in formato WebP.

Miniature di immagini remote (gratuito)

https://wordpress.org/plugins/wp-remote-thumbnail/

WP Remote Thumbnail è un plugin per WordPress molto leggero che non richiede alcuna configurazione e si configura con un solo clic. Utilizzando questo plugin, è possibile impostare facilmente qualsiasi immagine esterna come immagine in primo piano di qualsiasi post/pagina o anche di tipi di post personalizzati.

Nota: Assicurarsi di usarlo insieme a un plugin per i suggerimenti delle risorse (pre- party) per aggiungere gli attributi preload e preconnect al dominio di terze parti.

Caching dinamico delle immagini

Memorizzazione locale con blob IndexedDB

Fasi di implementazione

Aprire un database: Utilizzare JavaScript per aprire un database IndexedDB. Creare un archivio di oggetti per le immagini, se non esiste già.

Recupero e archiviazione delle immagini: Quando si recupera un’immagine dalla galleria remota, la si scrive nell’archivio IndexedDB. È possibile che la chiave sia basata su un identificatore univoco, come un URL o un ID personalizzato.

Controllare prima la cache: prima di recuperare un’immagine, verificare se esiste nella cache di IndexedDB. Se esiste, caricarla da lì.

Strategia di aggiornamento: Decidere una strategia per l’aggiornamento delle immagini nella cache. Per le foto in tempo reale, potrebbe essere necessario un controllo periodico per verificare se sono disponibili versioni più recenti delle immagini.

Filtri immagine

Filtri immagine facili (gratis)

https://wordpress.org/plugins/easy-image-filters/

Plugin leggero e gratuito per aggiungere filtri alle immagini

Immagini gratuite di alta qualità

Immagini istantanee (gratis)

https://wordpress.org/plugins/instant-images/

Immagini gratuite di alta qualità

Filigrana dell’immagine

Filigrana immagine (gratuito)

https://wordpress.org/plugins/image-watermark/

Plugin ultra leggero per la filigrana delle immagini.

Ottimizzazione delle icone

Icone SVG gratuite

È possibile scaricare gratuitamente gli SVG da qui:

FontAwesome (gratuito)

https://fontawesome.com/download

FlatIcon (gratuito)

https://www.flaticon.com/

IconFinder (gratuito)

https://www.iconfinder.com/

Comprimere gli SVG

Utilizzate insieme Vecta.io e SVGOMG per ridurre il più possibile le dimensioni delle vostre icone SVG.

Vecta.io (Gratuito)

https://vecta.io

Compressore SVG

SVGOMG (gratuito)

https://jakearchibald.github.io/svgomg/

Un altro ottimizzatore SVG. Consiglio di usarlo insieme a Vecta.io

<!––nextpage––>

Ottimizzazione video

Caricamento pigro degli iframes

Incorporamento pigro (gratuito)

https://wordpress.org/plugins/lazy-embed/

Il plugin Lazy Embed rinvia il caricamento di qualsiasi risorsa necessaria per la riproduzione del video fino a quando non viene richiesta la riproduzione del video. Lo fa aggiungendo un attributo srcdoc all’iframe, che viene visualizzato al posto del normale contenuto dell’iframe.

Altri plugin

Molti plugin, oltre a Lazy Embed, possono caricare in modo pigro gli iframe video. Anche Perfmatters, Flyingpress e un’ampia gamma di altri plugin gratuiti possono farlo.

Compressione video

Handbrake (gratuito)

https://handbrake.fr/

Un programma open source installabile che può comprimere i video.

Convertire i video in WebM per comprimere ulteriormente le dimensioni dei file video

I file video WebM sono più piccoli del 30% rispetto agli MP4. Handbrake consente di convertire i video in formato WebM. WebM è l’equivalente video delle immagini WebP.

Convertitore video gratuito (gratuito)

https://www.freeconvert.com/video-compressor

Articolo di 10web.io sull’ottimizzazione dei video

https://10web.io/blog/optimizing-videos-on-your-wordpress-site/

Ottimo articolo con ulteriori suggerimenti per l’ottimizzazione dei siti con video.

Plugin per lettori video

Lettore Presto (gratuito)

https://wordpress.org/plugins/presto-player/

Lettore video leggero. Supporto video HTML5, Youtube e Vimeo.

Super Video Player (gratuito)

https://wordpress.org/plugins/super-video-player

Super Video Player è un plugin leggero e completamente personalizzabile per la riproduzione di video self-hosted che supporta MP4/OGG e più tracce di didascalie o file di sottotitoli.

Lettore video HTML5 (gratuito)

https://wordpress.org/plugins/videojs-html5-player/

Un altro lettore video leggero.

Pacchetto video (gratuito)

https://wordpress.org/plugins/video-embed-thumbnail-generator/ Lettore

video leggero, hosting locale.

Compressore di animazione Lottie

Plugin leggero di animazione Lottie

AM Lottie Player (gratuito)

https://wordpress.org/plugins/am-lottieplayer/

Il Lottie Player gratuito più completo che ci sia.

AM LottiePlayer è facile da usare, leggero e vi dà il controllo totale su come implementare animazioni nitide e vettoriali nel vostro sito web.

Ottimizzazione Lottie

Lottiemizer (gratis)

https://www.lottiemizer.com/ Comprime

le animazioni di Lottie

Ottimizzatore JSON Lottie (gratuito)

https://lottiefiles.com/tools/lottie-json-to-optimized-lottie-json

Ottimizzare i file JSON di Lottie.

dotLottie (Gratuito)

https://dotlottie.io/

dotLottie è un formato di file open-source che aggrega uno o più file Lottie e le loro risorse associate in un unico file. Sono archivi ZIP compressi con il metodo di compressione Deflate e hanno l’estensione “.lottie”.

Come creare animazioni interattive di Lottie

Tutorial su Youtube (gratuito)

https://www.youtube.com/watch?v=-bGTLlnGbZo

Tutorial su come realizzare l’interattivo di Lottie

Gif

Convertire gratuitamente (gratuito)

https://www.freeconvert.com/gif-compressor

Ezgif (Gratuito)

https://ezgif.com/optimize

Un altro compressore gif

Gifcompressor (gratuito)

https://gifcompressor.com/

Compressore Gif

Xconvert (gratuito)

https://www.xconvert.com/compress-gif

ILoveIMG (gratuito)

https://www.iloveimg.com/compress-image/compress-gif

Veed.io (Gratuito)

https://www.veed.io/tools/video-compressor/gif-compressor

Animatamente (gratuito)

https://animately.co/tools/compress-gif

Ottimizzare gli embed

Embed Optimizer (gratuito)

https://wordpress.org/plugins/embed-optimizer/

Lo scopo di questo plugin è quello di ottimizzare le prestazioni degli embed in WordPress, come i video di YouTube, TikToks e così via. Inizialmente questo obiettivo viene raggiunto caricandoli in modo pigro solo quando vengono visualizzati.

Questo migliora le prestazioni, perché gli embed sono in genere molto impegnativi dal punto di vista delle risorse e quindi il caricamento pigro assicura che non competano con le risorse durante il caricamento della pagina. Altre ottimizzazioni sono previste per il futuro.

Temi

Utenti di Pagebuilder

Il vostro tema vi sta rallentando

Se si utilizza un page builder, i temi sono un peso morto. Non aggiungono assolutamente nulla al design, poiché tutti i css e i js necessari per una pagina sono generati dal costruttore di pagine stesso. Astra, per esempio, inserisce centinaia di kb di codice inutile e non necessario nell’html, nel css e nel js, quando non ne serve nemmeno una riga. E lo smantellamento di un tema pesante è di per sé problematico. Anche quando tutte le funzionalità del tema sono inutilizzate, la disattivazione dei file css e js generati dal tema compromette il design e la funzionalità del sito.

Il sistema dei temi è una parte fondamentale di WordPress e non può essere disattivato, quindi non si può essere veramente “senza temi”. Dovreste scegliere il tema più ottimizzato e che carichi meno codice fin dall’inizio, per minimizzare il più possibile l’impatto del sistema dei temi. Sarà comunque necessario rimuovere i css inutilizzati e ritardare i js con un plugin, ma i risultati saranno molto migliori.

Se si utilizza un costruttore, si costruisce la pagina da zero o con modelli importati direttamente nel costruttore. Per Elementor, ad esempio, si tratta di “kit di modelli” o di elementi della libreria di modelli.

Non utilizzate mai i componenti aggiuntivi del tema o qualsiasi funzione fornita dal tema e, se possibile, disabilitate le impostazioni che influiscono sulle prestazioni dal pannello delle impostazioni. Tutto ciò aggiunge “ulteriore peso” che si caricherà sul frontend. I plugin installati tramite il tema (in genere accade con i temi a pagamento) vanno bene se sono ben ottimizzati, ma le funzionalità specifiche del tema dovrebbero essere evitate.

Il mio consiglio è di utilizzare Hello Elementor o Picostrap. Questi due caricano pochissimo codice nel frontend. La mia preferenza personale va a Hello Elementor, l’intero zip del plugin è 3 volte più piccolo di Picostrap e carica pochissimo codice. Picostrap è comunque un’opzione fantastica ed entrambi sono incredibilmente veloci. Vi consiglio di provarli entrambi per vedere quale si adatta meglio al vostro caso d’uso. Non uso Picostrap dalla v4 (attualmente è alla v5), quindi sono sicuro che le sue prestazioni siano ulteriormente migliorate.

Temi ottimizzati per le

prestazioni Hello Elementor

(gratis)

https://wordpress.org/themes/hello-elementor/

Hello Elementor è un tema molto, molto leggero e semplice.

Picostrap (gratuito)

https://picostrap.com/

Picostrap è un tema molto leggero. Se state iniziando a costruire il vostro sito, vi consiglio vivamente Picostrap.

Temi da evitare

Astra (Free e Pro)

Non posso più raccomandare Astra. Evitate Astra per le nuove costruzioni se il vostro sito non è già stato costruito su di esso. Astra aggiunge una quantità follemente elevata di css e javascript, che compromette le prestazioni di velocità delle pagine. Aggiunge oltre 300 kb di js/css su un sito di beaver builder che ho ottimizzato. Ritardando il js si interrompono anche le funzionalità (intestazione, menu, ecc.). Non usarlo quando possibile.

Ottimizzazione di Astra

Se si deve usare Astra, ecco alcune misure che possono essere adottate per ottimizzare le prestazioni di Astra.

Non è necessaria la versione pro, che renderà il vostro sito più lento.

Secondo la mia esperienza, queste sono le impostazioni ottimali per Astra da abilitare con Asset Cleanup. Se necessario, eseguire una prova approfondita e riabilitare i file:

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

– ” . “- u-‘^°u ^” *”‘* o*!?e I.” Iflii’>-i1 aite mm – e – n- I” “‘ Ui iIoz-‘J +^ Ae P>gw -‘f “p>$e” |’nrt.ryfJe

i “. uiiiua<I il1nr vaJ.s lee.e’t Ulgi mu’Efiing ‘hiu Reg£c|+yJ! @

|-Traduzione: “Non è vero che non ci sono più i soldi”. : Mostra;’ nId -Ł

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

I U-iIoaJ i11or LffiŁa wItI- i jest UKI mai;hing łhls Reg-L¥[e*): @

in\ix /,wąSrript rode ascnrnscd ‘ I-h rhr h°ndIo” “Show./ Hiule +

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

Dovresti anche scaricare il tema child astra: https://wpastra.com/child-theme-generator/

Copiare e incollare questo file nel file functions.php nell’editor del tema:

Google Pagespeed Insight: ecco cosa c'è da sapere

Mettete queste righe proprio sotto il punto in cui si dice “definire le costanti”.

function astra_remove_header() {

remove_action( ‘astra_masthead’, ‘astra_masthead_primary_template’ );

}

add_action( ‘wp’, ‘astra_remove_header’ );

add_filter( ‘astra_schema_enabled’, ‘return_false’ ); add_filter( ‘astra_meta_box_options’, ‘default_disable_options’ );

/**

  • Disattivare per default le Opzioni Meta

*

  • @param array $meta_option Meta della pagina.
  • @Ritorno array

*/

funzione default_disable_options( $meta_option ) {

$meta_option[‘ast-main-header-display’] = array( ‘default’ => ‘disabled’,

sanitize’ => ‘FILTER_DEFAULT’,

);

$meta_option[‘footer-sml-layout’] = array( ‘default’ => ‘disabled’,

sanitize’ => ‘FILTER_DEFAULT’,

);

$meta_option[‘footer-adv-display’] = array( ‘default’ => ‘disabled’,

sanitize’ => ‘FILTER_DEFAULT’,

);

$meta_option[‘site-post-title’] = array( ‘default’ => ‘disabled’,

sanitize’ => ‘FILTER_DEFAULT’,

);

$meta_option[‘site-sidebar-layout’] = array( ‘default’ => ‘disabled’,

sanitize’ => ‘FILTER_DEFAULT’,

);

$meta_option[‘site-content-layout’] = array( ‘default’ => ‘disabled’,

sanitize’ => ‘FILTER_DEFAULT’,

);

$meta_option[‘ast-featured-img’] = array( ‘default’ => ‘disabled’,

sanitize’ => ‘FILTER_DEFAULT’,

);

$meta_option[‘ast-breadcrumbs-content’] = array( ‘default’ => ‘disabled’,

sanitize’ => ‘FILTER_DEFAULT’,

);

restituire $meta_option;

}

add_filter( ‘astra_amp_support’, ‘ return_false’ );

Costruttori di pagine ottimizzati per le prestazioni

Costruttore di ossigeno (a pagamento)

https://oxygenbuilder.com/

Oxygen Builder è un costruttore di pagine ben ottimizzato che consente una grande flessibilità, producendo allo stesso tempo codice pulito e ottimizzato per la velocità della pagina. Molti meno tag div non necessari, troppi tag div portano a un DOM enorme. Un DOM troppo grande aumenterà il tempo di analisi dell’HTML, con conseguente aumento del TTFB.

Costruttore di mattoni (a pagamento)

https://bricksbuilder.io/

Bricks è un altro page builder ben ottimizzato che produce codice pulito.

Tela dal vivo (a pagamento)

https://livecanvas.com/

LiveCanvas: l’unico page builder che produce un codice HTML5 super pulito e personalizzato con Bootstrap 5, che è sempre possibile modificare e perfezionare tramite un editor di codice live integrato.

Live Canvas è estremamente leggero e crea codice pre-ottimizzato. Si consiglia vivamente di considerare Live Canvas come un’opzione.

Live Canvas è meglio abbinato a Picostrap, un tema ottimizzato per le prestazioni realizzato dagli stessi sviluppatori:

Picostrap (gratuito)

https://picostrap.com/

Tema ottimizzato per le prestazioni creato dal team di sviluppatori di Live Canvas.

Elementor (Freemium)

https://elementor.com/

Contrariamente a quanto si crede, una volta ottimizzato, Elementor è molto performante. Elementor non ottimizzato, invece, ha prestazioni molto scarse. Mentre Elementor è molto pesante pre-ottimizzazione, è uno dei costruttori più leggeri dopo l’ottimizzazione ed è molto facile da ottimizzare.

I plugin per rimuovere i CSS inutilizzati e ritardare i Javascript hanno esclusioni incorporate per Elementor (tranne Flyingpress, che non ha esclusioni incorporate con una casella di controllo), il che significa che ottimizzare le risorse CSS e JS di Elementor core e Elementor Pro è un gioco da ragazzi. Debloat e Perfmatters hanno un modo per applicare esclusioni automatiche quando viene utilizzata la funzionalità Delay All JS.

Esperimenti sulle prestazioni

Elementor ha molte funzioni di miglioramento delle prestazioni integrate che si trovano nella scheda Caratteristiche (Impostazioni>Caratteristiche).

Google Pagespeed Insight: ecco cosa c'è da sapere

Molti di questi non sono attivati per impostazione predefinita, soprattutto se si dispone di un sito preesistente quando sono stati aggiunti in un aggiornamento. Ciò significa che molti siti Elementor stanno lasciando sul tavolo prestazioni gratuite che possono essere migliorate semplicemente cambiando l’esperimento da inattivo ad attivo nel menu a tendina!

Ad esempio, Elementor ha aggiunto di recente il caricamento ottimizzato dei controlli, che può migliorare notevolmente le prestazioni dei siti di grandi dimensioni. Questa funzione non è abilitata di default e deve essere attivata manualmente.

Google Pagespeed Insight: ecco cosa c'è da sapere

Nota: è possibile attivare la funzionalità di Elementor Lazy Loading sopra un altro plugin di ottimizzazione. Personalmente, non ho trovato che il caricamento pigro nativo di Elementor funzioni bene, quindi continuo a utilizzare le opzioni di caricamento pigro dei plugin di ottimizzazione delle prestazioni.

Tuttavia, l’abbinamento con la funzionalità nativa di Elementor non compromette le prestazioni.

A parte questo, vi consiglio di eseguire un test di pagespeed per vedere i vostri punteggi di base prima di attivare ogni funzione di performance, e poi un altro test dopo che la funzione è stata attivata per fare un confronto.

Limitare l’uso di Contenitori, Sezioni e Colonne

Ogni contenitore/sezione/colonna aggiuntiva aggiunge ulteriori elementi DOM e peso HTML alla pagina. Sebbene i contenitori/sezioni/colonne siano talvolta più facili da usare nel design, influiscono negativamente sulla velocità della pagina. I contenitori (che sostituiscono le sezioni e le colonne) sono molto flessibili e consentono di posizionare più elementi al loro interno. Se lo si desidera, è possibile utilizzare i contenitori in formato griglia per imitare le colonne.

Google Pagespeed Insight: ecco cosa c'è da sapereMetodo di stampa CSS Incorporamento

interno

L’abilitazione del metodo di stampa del CSS di incorporamento interno nelle impostazioni di Elementor consente di allineare alcuni dei CSS che la funzione Rimuovi CSS inutilizzati non può utilizzare. Si consiglia di attivarlo solo dopo aver applicato tutte le ottimizzazioni CSS.

Google Pagespeed Insight: ecco cosa c'è da sapere

Se si vedono file post-xxxx.css nell’albero delle richieste, la modifica del metodo di stampa dei CSS eliminerà queste richieste, inlining nel documento HTML. Se viene inlining una quantità eccessiva di CSS, questo può avere l’effetto contrario a quello desiderato e danneggiare le prestazioni, quindi assicuratevi di eseguire i test di Pagespeed prima di abilitare la funzione e una volta abilitata per verificare se il suo impatto è positivo. Rimuovi le funzioni CSS inutilizzate in genere non si rivolgono a questi file, quindi l’inlining è necessario per eliminare queste richieste.

Non impostare immagini di sfondo su elementi non convenzionali

Google Pagespeed Insight: ecco cosa c'è da sapere

Le immagini di sfondo impostate su elementi non convenzionali non possono essere caricate pigramente con i plugin di ottimizzazione, poiché non vengono rilevate dai loro algoritmi. Se un’immagine è impostata come immagine di sfondo su un elemento come uno spaziatore, la funzione di caricamento pigro delle immagini di sfondo di Elementor ne catturerà alcune, ma non tutte, il che influirà negativamente sulla velocità delle pagine. Anche la funzione di caricamento pigro di Elementor non le rileva per qualche motivo.

È necessario impostare le immagini solo sui widget che contengono una sezione con un selezionatore di immagini O come immagine di sfondo normale (non attraverso la sezione avanzata quando si modifica un elemento).

Se le immagini non possono essere caricate pigramente, ciò influisce negativamente sulla velocità delle pagine. Quando si ottimizza un sito, controllare sempre nella scheda network di inspect per vedere quali file vengono caricati. Questo vale per qualsiasi sito, che sia costruito con Elementor o meno.

Integrare le icone SVG nel documento HTML principale (gratis)

https://github.com/jazir555/Inline-SVGs-uploaded-to-Elementor-Icon-Widget

Questo è il mio plugin sviluppato personalmente per inserire le icone SVG nel documento HTML principale per il widget delle icone di Elementor (attualmente l’unico widget supportato). Questo plugin è ancora in fase di sviluppo e sarà ampliato per coprire tutti i widget/elementi con funzionalità di icone SVG ospitate localmente.

La funzionalità attuale funziona come previsto e aggiunge un toggle alla scheda Impostazioni avanzate per il widget Icona, che può essere attivato su base individuale (non è globale, il che consente un’implementazione granulare).

Ulteriori aggiornamenti successivi del plugin (dopo che la funzionalità sarà stata estesa a tutti i widget Elementor basati su icone) includeranno una pagina di opzioni nella dashboard dell’amministratore che consentirà l’hosting locale di qualsiasi file SVG arbitrario, ospitato localmente o in remoto da un dominio di terze parti, eliminando tutte le richieste HTTP.

Nota: questo plugin sarà aggiunto al Repository dei plugin di WordPress.org una volta che la funzionalità di Elementor sarà stata completata.

Editor del pannello Elementor Pannello Elementor flessibile (gratuito)

https://wordpress.org/plugins/flexible-elementor-panel/

Plugin molto leggero che migliora il pannello dell’editor. Può essere tranquillamente disattivato in modo selettivo nel frontend.

  • Pannello Elementor trascinabile e salvataggio della posizione
  • Spostarsi sul lato destro e passare alla modalità RTL
  • Pannello Elementor verticale e pieghevole
  • Ridimensionare il pannello di Elementor e salvare le dimensioni
  • Più skin scure per l’editor di Elementor
  • Categoria “Tutti i widget” collassabili
  • Categoria dei widget ordinabile e salvataggio della posizione
  • Aggiungere il pulsante di uscita nel piè di pagina dell’editor del pannello
  • Opzione per chiudere la prima scheda nel widget Accordion
  • Aggiungere altre opzioni per la modalità responsive

Editor Performance Optimization Pro Elements (gratuito)

https://proelements.org/

https://github.com/proelements/proelements

Abilita tutte le funzionalità di Elementor Pro (costruttore di intestazioni/footer, tag dinamici, css personalizzati, ecc).

Se utilizzato, non è necessario alcuno dei plugin necessari per abilitare le singole funzioni di Elementor Pro elencate.

Element Manager consente di disattivare tutti i widget nativi di Elementor.

Pulizia dell’editor per Elementor (gratis)

https://wordpress.org/plugins/editor-cleanup-for-elementor/

Editor Cleanup For Elementor è un componente aggiuntivo di Freesoul Deactivate Plugins per ripulire l’editor di Elementor.

  • Non solo pulirà le risorse degli altri plugin, ma il loro codice PHP non verrà eseguito.
  • L’editor di Elementor sarà più veloce e senza conflitti con altri plugin.
  • Sia Freesoul Deactivate Plugins che Elementor devono essere installati e attivi, altrimenti questo plugin non funzionerà.

Contenuto limitato QuentnWP (gratuito)

https://wordpress.org/plugins/quentn-wp/

Plugin gratuito per la limitazione dei contenuti con integrazione di Elementor.

Visibilità dinamica per Elementor (gratis)

https://wordpress.org/plugins/dynamic-visibility-for-elementor/

L’estensione Dynamic Visibility consente di nascondere widget, colonne, contenitori, sezioni o pagine.

È particolarmente utile quando si sta costruendo qualcosa che non si vuole mostrare a tutti.

  • Scegliere una condizione OR/AND.
  • Limitare la visibilità di specifici campi o pagine personalizzate.
  • Impostate una data (dal al), un giorno della settimana o un’ora e decidete quando ogni elemento sarà visibile.
  • Limitare la visibilità per ruoli utente specifici, meta-utente, IP, referral o utenti.
  • Limitare la visibilità dei prodotti WooCommerce
  • Impostare un testo di riserva (ad esempio: “Prossimamente”) per gli elementi nascosti, che verrà visualizzato al posto dell’elemento.
  • Si può scegliere di nascondere l’elemento tramite i CSS o di rimuoverlo dal DOM.

Query avanzate (gratuito)

https://wordpress.org/plugins/advanced-post-queries/

Un’estensione di Elementor PRO che consente di interrogare facilmente e dinamicamente i risultati dei widget dei post e del portfolio senza ID di interrogazione personalizzati.

Nota: richiede Elementor Pro

Classi CSS extra per i widget

Elementi Pro (gratuito)

https://proelements.org/

https://github.com/proelements/proelements

Abilita tutte le funzionalità di Elementor Pro (costruttore di intestazioni/footer, tag dinamici, css personalizzati, ecc).

Se utilizzato, non è necessario alcuno dei plugin necessari per abilitare le singole funzioni di Elementor Pro elencate.

Fundamento (gratuito)

https://wordpress.org/plugins/fundamento/

Permette di iniettare classi CSS aggiuntive nei widget di Elementor.

Colonne e sezioni cliccabili

Rendere cliccabili le sezioni e le colonne (gratuito)

https://wordpress.org/plugins/make-section-column-clickable-elementor/

Plugin ultraleggero per rendere cliccabili sezioni e colonne.

Elementor gratuito Elementi Pro (gratuito)

https://proelements.org/

https://github.com/proelements/proelements

Abilita tutte le funzionalità di Elementor Pro (costruttore di intestazioni/footer, tag dinamici, css personalizzati, ecc).

Se utilizzato, non è necessario alcuno dei plugin necessari per abilitare le singole funzioni di Elementor Pro elencate.

CSS personalizzato

Elementi Pro (gratuito)

https://proelements.org/

https://github.com/proelements/proelements

Abilita tutte le funzionalità di Elementor Pro (costruttore di intestazioni/footer, tag dinamici, css personalizzati, ecc).

Se utilizzato, non è necessario alcuno dei plugin necessari per abilitare le singole funzioni di Elementor Pro elencate.

RRdevs (gratuito)

https://wordpress.org/plugins/rrdevs-for-elementor/

Plugin gratuito per Elementor che aggiunge css personalizzati

Ultra Addons lite (Gratuito)

https://wordpress.org/plugins/ultraaddons-elementor-lite/

Pacchetto di addon gratuiti con funzionalità CSS personalizzate.

Componenti aggiuntivi Xpro (gratuiti)

https://wordpress.org/plugins/xpro-elementor-addons/

Un altro plugin per Elementor Free che abilita la funzionalità CSS personalizzata.

Mini carrello per Woocommerce Pro Elements (gratuito)

https://proelements.org/

https://github.com/proelements/proelements

Abilita tutte le funzionalità di Elementor Pro (costruttore di intestazioni/footer, tag dinamici, css personalizzati, ecc).

Se utilizzato, non è necessario alcuno dei plugin necessari per abilitare le singole

funzioni di Elementor Pro elencate.

Ultra Addons Lite (gratuito)

https://wordpress.org/plugins/ultraaddons-elementor-lite/

Include un widget per il mini-carrello

Chat in diretta (gratuita) Elementi Pro (gratuito)

https://proelements.org/

https://github.com/proelements/proelements

Abilita tutte le funzionalità di Elementor Pro (costruttore di intestazioni/footer, tag dinamici, css personalizzati, pulsanti flottanti, ecc.) I pulsanti fluttuanti in Elementor Pro hanno la funzionalità di chat dal vivo.

Se utilizzato, non è necessario alcuno dei plugin necessari per abilitare le singole funzioni di Elementor Pro elencate.

Plugin di chat semplice (gratuito)

https://wordpress.org/plugins/simple-chat-button/

Plugin gratuito ultra leggero (senza javascript!) per la chat live di Whatsapp

Chat dal vivo Indigital (gratis)

https://wordpress.org/plugins/indigitall-web-push-notifications/

Plugin ultraleggero per la chat Whatsapp gratuita.

Costruttore di temi Elementi Pro (gratuito)

https://proelements.org/

https://github.com/proelements/proelements

Abilita tutte le funzionalità di Elementor Pro (costruttore di intestazioni/footer, tag dinamici, css personalizzati, ecc).

Se utilizzato, non è necessario alcuno dei plugin necessari per abilitare le singole funzioni di Elementor Pro elencate.

Costruttore di temi Xpro (gratuito)

https://wordpress.org/plugins/xpro-theme-builder/

Create layout personalizzati per i tipi di post, gli archivi dei blog, i prodotti e le categorie di WooCommerce, le pagine di ricerca, le pagine 404 e altro ancora con Elementor Free. È possibile personalizzare l’esperienza del negozio WooCommerce modificando il layout predefinito per adattarlo a qualsiasi stile.

  • Intestazione
  • Piè di pagina
  • Layout singolari
  • Messaggio singolo
  • Pagina singola
  • Pagina Archivio(Blog)
  • 404 Pagina
  • Pagina di ricerca
  • Pagina di prodotto singola WooCommerce
  • Pagina del carrello di WooCommerce
  • Pagina di checkout di WooCommerce
  • Pagina dell’account WooCommerce
  • Post singolo personalizzato (CPT)
  • Layout di archivio
  • Archivio dei post del blog
  • Archivi di categoria
  • Archivio dei tag
  • Archivio autori
  • Archivio messaggi personalizzato (CPT)
  • Tag dinamici e globali
  • Tag dinamici ACF
  • Tag del Gruppo ACF
  • Tag post dinamici
  • Tag dinamici di Woo
  • Tag di termini e tassonomia
  • Tag utente e sito
  • Tag PHP personalizzato
  • Importatore di modelli con un solo clic

Tag dinamici

Elementi Pro (gratuito)

https://proelements.org/

https://github.com/proelements/proelements

Abilita tutte le funzionalità di Elementor Pro (costruttore di intestazioni/footer, tag dinamici, css personalizzati, ecc).

Se utilizzato, non è necessario alcuno dei plugin necessari per abilitare le singole funzioni di Elementor Pro elencate.

Componenti aggiuntivi reali (gratuiti)

https://wordpress.org/plugins/royal-elementor-addons/

Aggiunge la funzionalità dei tag dinamici a Elementor free. È molto più di questo, un costruttore di siti web dinamici completo per Elementor.

Usare i tag dinamici per creare siti web guidati da contenuti dinamici. Creare tipi di post e tassonomie personalizzate. Modellare e personalizzare campi personalizzati, tipi di post personalizzati e modelli di tassonomie personalizzate. Aggiungete dati dinamici sui prodotti anche per le pagine di Woocommerce Archive Grid e Single Products e molto altro ancora.

Campi personalizzati avanzati supportati: Testo, casella di testo, numero, intervallo, e-mail, URL, password, selezione, casella di controllo, pulsante di opzione, vero/falso, galleria, immagine, ripetitore, file, contenuto flessibile, clone, editor WYSIWYG, oEmbed, selezionatore di date, relazioni, tassonomia, selezionatore di orari, selezionatore di colori, oggetto post, fisarmonica, scheda, Google Maps.

Visibilità dinamica

Visibilità dinamica per Elementor (gratis)

https://wordpress.org/plugins/dynamic-visibility-for-elementor/

L’estensione Dynamic Visibility consente di nascondere widget, colonne, contenitori, sezioni o pagine.

È particolarmente utile quando si sta costruendo qualcosa che non si vuole mostrare a tutti.

  • Scegliere una condizione OR/AND.
  • Limitare la visibilità di specifici campi o pagine personalizzate.
  • Impostate una data (dal al), un giorno della settimana o un’ora e decidete quando ogni elemento sarà visibile.
  • Limitare la visibilità per ruoli utente specifici, meta-utente, IP, referral o utenti.
  • Limitare la visibilità dei prodotti WooCommerce
  • Impostare un testo di riserva (ad esempio: “Prossimamente”) per gli elementi nascosti, che verrà visualizzato al posto dell’elemento.
  • Si può scegliere di nascondere l’elemento tramite i CSS o di rimuoverlo dal DOM.

Intestazione appiccicosa per Elementor

Elementi Pro (gratuito)

https://proelements.org/

https://github.com/proelements/proelements

Abilita tutte le funzionalità di Elementor Pro (costruttore di intestazioni/footer, tag dinamici, css personalizzati, ecc).

Se utilizzato, non è necessario alcuno dei plugin necessari per abilitare le singole funzioni di Elementor Pro elencate.

JetSticky per Elementor (Gratuito)

https://wordpress.org/plugins/jetsticky-for-elementor/

Aggiunge la funzionalità sticky alla versione gratuita di Elementor.

Incorporamento di documenti

Incorporatore di documenti (gratuito)

https://wordpress.org/plugins/media-player-addons-for-elementor/

Animazioni

Elementi Pro (gratuito)

https://proelements.org/

https://github.com/proelements/proelements

Abilita tutte le funzionalità di Elementor Pro (costruttore di intestazioni/footer, tag dinamici, css personalizzati, ecc).

Se utilizzato, non è necessario alcuno dei plugin necessari per abilitare le singole funzioni di Elementor Pro elencate.

UiCore Animate (gratuito)

https://wordpress.org/plugins/uicore-animate/

Leggere animazioni aggiuntive gratuite per

Elementor.

Incorporati

Tutti incorporano (gratis)

https://wordpress.org/plugins/all-embed-addons-for-elementor/

All Embed Addon For Elementor è una raccolta di widget audio, video e social media per Elementor. Dispone di oltre 20 widget e consente di incorporare qualsiasi contenuto.

Pacchetti di addon Elementor Xpro Addons (gratis)

https://wordpress.org/plugins/xpro-elementor-addons/

Un altro plugin per Elementor Free ha una serie di widget solitamente premium e abilita la funzionalità CSS personalizzata per Elementor free.

Componenti aggiuntivi superbi (gratis)

https://wordpress.org/plugins/superb-blocks/

Un piccolo pacchetto di addon con miglioramenti all’editor, nuovi widget e modelli gratuiti.

LA-Studio Element Kit (gratuito)

https://wordpress.org/plugins/lastudio-element-kit/

Kit di widget e modelli gratuiti.

Effetti Hover dell’immagine (gratis)

https://wordpress.org/plugins/image-hover-effects-addon-for-elementor/

Plugin ultraleggero per gli effetti hover delle immagini.

Icone personalizzate (gratis)

https://wordpress.org/plugins/custom-elementor-icons/

Gestore di icone personalizzato gratuito con icone aggiuntive

Elementi di hash (gratuito)

https://wordpress.org/plugins/hash-elements/

Set gratuito di elementi aggiuntivi.

Costruttore di intestazioni e piè di pagina (gratuito)

https://wordpress.org/plugins/header-footer-elementor/

Permette di costruire l’intestazione e il piè di pagina con la versione gratuita di Elementor (non è necessario un professionista). Leggero.

Kit di modelli (gratuiti) Modelli SKT (gratuiti)

https://wordpress.org/plugins/skt-templates/

Modelli gratuiti.

Estensioni Rife (gratuito)

https://wordpress.org/plugins/rife-elementor-extensions/

Ampio set di modelli gratuiti. Leggero.

Templately (Gratuito e Pro)

https://wordpress.org/plugins/templately/ Leggero

plugin di template gratuito

Envato Elements (Gratuito e Pro)

https://wordpress.org/plugins/envato-elements/

Kit di modelli precostruiti da Envato. Sia template gratuiti che pro. Modelli leggeri, ma come qualsiasi altra cosa richiedono un’ottimizzazione.

Widget ottimizzati per Elementor (gratis)

https://wordpress.org/plugins/optimized-widgets-for-elementor/

Riduce la dimensione del DOM rimuovendo uno dei contenitori annidati predefiniti in ogni widget.

I widget inclusi sono: Titolo, Testo, Immagine.

Poiché sta rimuovendo il div elementor-widget-container, può potenzialmente rompere il tema o altri plugin/script che richiedono la presenza del div. Si prega di usare con cautela e di testare la pagina per vedere se tutto funziona ancora. Si consiglia di attivare questo plugin in fase di staging prima di attivarlo in modalità live.

Importazione di disegni Figma UIChemy (Free e Pro)

https://wordpress.org/plugins/uichemy/

Permette di importare 10 progetti al mese con il piano gratuito. Per utilizzare il piano gratuito per importare un numero illimitato di modelli, basta creare un nuovo sito temporaneo su instawp.com e registrare un altro account.

Ottimizzazione di Elementor Punteggio di velocità delle pagine

Elementor può essere facilmente ottimizzato per ottenere punteggi di pagespeed mobile superiori a 90.

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

Questo sito si trova nel 5% delle classifiche di velocità delle pagine web. Questo risultato è stato banale da ottenere. Plugin utilizzati:

  1. Advanced Database Cleaner Pro (Sostituire AAA Option Optimizer e Advanced Database Cleaner Free per l’equivalente gratuito)
  2. Indice WP MySQL per la velocità (gratuito)
  3. Asset Cleanup Pro (Asset Cleanup Pro ha delle alternative, tra cui le opzioni di plugin gratuiti elencati nella sezione Disabilita selettivamente i plugin). Utilizzate la versione gratuita se non volete spendere per quella pro per disabilitare il caricamento di file WP Core non necessari, come ad esempio i polyfill.

Se si utilizza Asset Cleanup Free, è necessario un plugin sostitutivo per la disattivazione selettiva dei plugin, come Freesoul Plugin Deactivator o WP Plugin Manager. Scorrete la sezione “Disabilitazione selettiva dei plugin” per maggiori informazioni. Asset Cleanup Free può comunque disabilitare selettivamente le risorse css e js.

  1. Perfmatters (a pagamento)
  2. Disattivare Gutenberg (gratuito)
  3. Docket Cache (gratuito)
  4. Pre-festa (gratuito)
  5. Flyingpress (a pagamento). Ci sono altri plugin gratuiti per la cache che potrebbero soddisfare il requisito di plugin per la cache anche sul repository https://wordpress.org/plugins (consiglio WP Speed Of Light per un’ottima opzione gratuita come sostituto).
  6. Flying Pages (gratuito): Precarica le pagine interne HTML per velocizzare i tempi di caricamento (assicurarsi di ritardare flying-pages.min.js nel plugin javascript delay per annullare l’impatto sulle prestazioni).
  7. Ispezione delle richieste HTTP (gratuito)
  8. Disattivare la pesantezza di WordPress e Woocommerce (gratuito)
  9. Yabe Webfont (Gratuito)
  10. Tema: Hello Elementor (gratuito).

Le alternative gratuite necessarie per ottenere le stesse funzionalità di Perfmatters sono:

  1. Pulizia delle risorse (versione gratuita)
  2. Debloat (gratuito)
  3. Pre-festa (gratuito)
  4. Rimuovere gli stili globali (gratuito)
  5. Disabilitare la pesantezza di WordPress e Woocommerce (gratis)
  6. CAOS per l’analisi locale (gratuito)
  7. Disattivatore di plugin Freesoul (gratuito)
  8. Snippet fluenti (gratuito)
  9. A3 Lazyload o qualsiasi plugin con funzionalità Lazy Load (gratuito)
  10. Controllo dinamico del battito cardiaco (gratuito)
  11. CDN Enabler (se desiderato per la riscrittura di URL CDN) (gratuito)
  12. Yabe Webfont (per l’hosting locale dei font) (gratuito)
  13. Disable Google Fonts (Disabilita completamente Google Fonts, se lo si desidera) (Gratuito)
  14. WPS Hide Login (gratuito)
  15. Caricare pigramente qualsiasi cosa (gratuito)

Nota: poiché sono necessari 15 plugin gratuiti per replicare completamente le funzionalità di Perfmatters, consiglio di acquistare Perfmatters, ma l’accozzaglia di plugin gratuiti combinati funziona altrettanto bene se il denaro è un problema.

Raccomando inoltre di utilizzare Yabe Webfont invece di Perfmatters o OMGF per ospitare localmente i font di Google.

Hosting: VPSDime.

File Javascript ritardati con perfmatters (potete usare qualsiasi plugin con Javascript Delay, incluso Debloat):

https://pastebin.com/m94cSYku

Google Pagespeed Insight: ecco cosa c'è da sapere Selettori CSS esclusi da Rimuovi CSS inutilizzati: https://pastebin.com/j4QeL89d

È possibile rilasciare le esclusioni del selettore anche nella casella delle esclusioni di Debloat, dopo aver selezionato l’opzione per rimuovere i css inutilizzati da tutti i file.

Dovrete implementare la disabilitazione selettiva dei plugin, nonché la disabilitazione selettiva delle risorse (ci sono sezioni dedicate a questo aspetto più avanti nella guida). Non dimenticate di disabilitare i file WP Core non necessari. È necessario attivare l’impostazione che consente di disabilitare i file WP Core tramite una casella di controllo nel pannello delle impostazioni della pulizia delle risorse.

Un sito Elementor può essere ottimizzato a 90+ in 20 minuti se fatto bene. Facile.

Questo è replicabile su qualsiasi sito Elementor! Una volta che la configurazione è stata stabilita sul primo sito, è possibile esportare le impostazioni e importarle su qualsiasi sito Elementor. Alcune funzioni caricano file aggiuntivi (ad esempio le animazioni di Elementor), quindi a seconda che si utilizzino le animazioni su un sito o su un altro, potrebbe essere necessario aggiungere qualche altro file all’elenco dei ritardi o delle esclusioni.

Nota

È necessario configurare manualmente la disattivazione selettiva delle risorse di Asset Cleanup, la disattivazione selettiva dei plugin, il ritardo di javascript e la rimozione delle esclusioni css inutilizzate. È necessaria una configurazione minore per i plugin di cache.

Per la cache degli oggetti, una volta installata Docket Cache è necessario entrare nelle impostazioni di Docket Cache e abilitare manualmente la cache degli oggetti, quindi entrare nella scheda delle impostazioni di configurazione e abilitare le funzioni di ottimizzazione aggiuntive che si desidera utilizzare. Anche Pre-Party deve essere configurato manualmente. Le impostazioni dell’opzione di caricamento automatico del database devono essere configurate manualmente tramite uno dei plugin di ottimizzazione del database.

Gli altri 5 plugin non hanno impostazioni da configurare, basta attivarli e il gioco è fatto. Se disattivate Google Fonts, dovrete caricare i font locali (ammesso che vogliate dei font personalizzati), che potrete scaricare tramite il link nella sezione fonts. Non dimenticatevi di fare il subset per ridurre il peso dei file dei font!

Se qualcosa si rompe copiando i miei elenchi Delay JS e Remove Unused CSS, è possibile rimuovere i file dall’elenco javascript delay uno alla volta (o pochi alla volta) finché non si identifica il file che deve essere escluso dal delay, quindi riadattare i file all’elenco che sono sicuri per il delay.

Perché ricevo errori nella console dopo aver ritardato i file del vostro elenco?

Sto intenzionalmente ritardando il file javascript i18n.min.js, necessario per le traduzioni. WordPress dà un errore nella console quando questo file viene ritardato, ma non ci sono impatti sulla funzionalità del sito, a meno che non si utilizzino le traduzioni. È possibile rimuovere questo file dall’elenco dei ritardi se si desidera eliminare gli errori della console, oppure è possibile scaricarlo completamente con Asset Cleanup.

I file che potrebbero dover essere rimossi dall’elenco dei ritardi a seconda della configurazione: wp-util.min.js

underscore.min.js i18n.min.js hooks.min.js

Costruttori da evitare

Panificio WP

Ma… non fatelo. È difficile trovare un plugin più problematico di WPBakery. Evitatelo.

Costruttore di castori

Beaver Builder è scarsamente ottimizzato. Mentre il suo javascript può essere tranquillamente ritardato senza problemi, funzioni di base come i divisori di forma nativi di Beaver Builder gonfiano massicciamente il documento HTML. Inoltre, i temi generano una tonnellata di CSS inutilizzato per beaver builder, che viene inserito sia nel documento HTML sia nei file, aggiungendo tonnellate di codice morto che non fanno altro che appesantire la pagina, rallentando il sito.

Google Pagespeed Insight: ecco cosa c'è da sapere

135 KB di CSS per una singola sezione della pagina per implementare un divisore di forma che non può essere rimosso con la funzione Rimuovi CSS inutilizzati (Debloat, Flyingpress, Perfmatters, ecc.). Sebbene l’HTML sia compresso da GZIP e Brotli e la dimensione finale del documento HTML sia di ~240 kb, il documento HTML dovrebbe essere al massimo di 80 kb, preferibilmente 50 KB o meno. Beaver Builder = Cruft. Questo documento HTML è almeno 3 volte più grande di quanto dovrebbe essere.

Divi

Un altro sviluppatore estremamente pesante. È possibile mitigare l’impatto di Divi sulle prestazioni, ma non del tutto. Questo costruttore poco ottimizzato ha anche delle croste inamovibili e quindi dovrebbe essere evitato. Per ribadire che, anche se Elementor ha prestazioni scarse fuori dalla scatola, una volta ottimizzato è il costruttore drag and drop più performante.

File di terze parti

Ospitare i file in locale per ridurre le richieste esterne e migliorare le prestazioni:

I file di terze parti sono tutti i file che non sono serviti dal vostro dominio.

Dovreste sempre ospitare ogni file possibile sul vostro server in locale. Questo include le immagini, anche se si utilizza un CDN per la distribuzione delle immagini. Non caricate mai i file da server di terze parti se potete evitarlo, perché si caricheranno sempre molto più lentamente.

Non si vuole che il sito scarichi Google Fonts o il file di Google Analytics per ogni utente da un dominio esterno. Introduce una latenza aggiuntiva e ci sarà sempre un ritardo aggiuntivo quando ci si connette a un sito esterno. Utilizzate Perfmatters o Pre-Party per precaricare i font, i css e i file js che volete caricare per primi, come già detto. Tutti i font locali (che potete identificare tramite il grafico a cascata di Gtmetrix/Debug Bear, se vedete un’estensione di font (WOFF, WOFF2, TTF ecc.) potete precaricarli in Perfmatters. Di seguito è riportato un frammento del grafico a cascata di GTMetrix per un test di velocità del dominio CBDMDs.

Google Pagespeed Insight: ecco cosa c'è da sapere

Youtube, fonts.gstatic.com e cdn.searchspring.net sotto la colonna dei domini nel grafico a cascata sono i domini di terze parti elencati in questa schermata.

È consigliabile ospitare il maggior numero possibile di file dei plugin in locale sul sito. Foto, video, tutto ciò che è possibile. CAOS per Google Analytics, ad esempio, scarica i file necessari per Google Analytics in locale e li serve dal vostro sito, invece di scaricarli dai server di Google.

A questo proposito, le normali implementazioni di Youtube, nello specifico, distruggono assolutamente la velocità del sito (utilizzare WP Youtube Lyte, elencato di seguito). Se il vostro cliente vi chiede di usare Youtube e voi non potete fare a meno di usarlo, la velocità del vostro sito ne risentirà a prescindere dal player usato, ma una parte di questo peso può essere mitigata usando player Youtube ottimizzati.

Ci sarà un breve ritardo per la comparsa del lettore video se si carica il video in modo pigro (verrà caricato/apparirà mentre l’utente scorre verso il basso), e forse un po’ di CLS dato che il lettore è così grande (specialmente sulle connessioni mobili), dato che richiede un po’ di tempo per essere scaricato una volta entrato nel viewport, ma è meglio che rallentare il tempo di caricamento iniziale della pagina. Molti plugin di youtube ora hanno immagini segnaposto che impediscono il download dell’intero video finché l’utente non interagisce con l’iframe del player tramite un clic o un tocco.

I tempi di caricamento per gli utenti mobili (soprattutto per i video) saranno esacerbati dalla bassa velocità di Internet, quindi se i siti dei vostri clienti operano in aree rurali, subiranno un ritardo ancora più grave rispetto alle aree popolate come le grandi città.

Ritardate il WP Youtube Lyte JS per ottenere i migliori risultati!

Ospitare localmente script di terze parti e

articoli di stile Articolo di Daan.dev

https://daan.dev/blog/how-to/host-js-locally-crontab/

Articolo WPFY

https://wpfy.org/host-any-external-file-locally-in-wordpress/

Script e stili per la cache GDPR (gratis)

https://wordpress.org/plugins/gdpr-cache-scripts-styles/

Memorizza nella cache gli script e gli stili CSS e JS esterni di terze parti.

Flyingpress (a pagamento)

https://flyingpress.com/

Non esiste ancora una documentazione, ma si tratta di una funzione aggiunta di recente a Flyingpress, che ospita localmente tutti i file CSS e JS di terze parti.

HELL (Ospitare qualsiasi cosa a livello locale) (gratuito)

https://github.com/Dan0sz/host-everything-locally/

Estrae i file CSS e JS di terze parti e li serve localmente dal vostro dominio. Non è stato aggiornato da molto tempo, attivatelo in fase di staging per assicurarvi che non ci siano problemi prima di attivarlo su un sito live. Dai miei test precedenti, i CSS e i JS della pagina delle opzioni non funzionano sulle versioni più recenti di WordPress, ma non è detto.

Font di Google ospitati localmente

Scaricare manualmente in locale i file dei font di Google Google Fonts Web Helper (gratuito)

https://gwfh.mranftl.com/fonts

I font sono file pesanti che appesantiscono la pagina e quando si utilizzano i font di Google dal CDN di Google, l’utente deve effettuare richieste al server esterno, con un notevole costo in termini di prestazioni. Se si utilizza un VPS veloce o un host gestito, è preferibile servire i font in locale.

Ogni singola chiamata esterna a un dominio di terze parti introduce un ulteriore ritardo. Riducete il più possibile le chiamate di terze parti. I font rappresentano una grande opportunità per ridurre i ritardi, quindi si tratta di un tipo di file fondamentale da auto-ospitare.

Controllare il waterfall di GTMetrix per identificare i font utilizzati. Molti plugin caricano font che non vengono nemmeno utilizzati, per cui si consiglia di disabilitare completamente la funzione Google Fonts del plugin e di sostituirli con i file WOFF2 scaricati (che hanno la massima compatibilità con i browser e le dimensioni più ridotte).

Se si utilizza Elementor, nelle impostazioni è presente una sezione per caricare i font personalizzati. Quando si utilizza un elemento, utilizzare l’impostazione per selezionare il font, che dovrebbe essere elencato in cima alla lista una volta caricato. Anche altri costruttori dovrebbero avere questa opzione; se non si utilizza Elementor, è necessario controllare la loro documentazione per scoprire come utilizzarla sul proprio costruttore.

Ospitare automaticamente in locale i file di font Yabe Webfont (gratuito)

https://wordpress.org/plugins/yabe-webfont/ Il

miglior plugin per ospitare localmente i font di Google.

OMGF (Gratuito)

https://wordpress.org/plugins/host-webfonts-local/

OMGF ospiterà anche localmente i Google Webfonts, eliminando così le chiamate esterne per i font. Consiglio invece di utilizzare Yabe.

Flyingpress (a pagamento)

https://docs.flyingpress.com/en/article/optimize-google-fonts-1lotnj4/

Flyingpress può anche ospitare localmente i font di Google. Non può servire font locali specificati manualmente; utilizzare OMGF o Yabe Webfont se si desidera caricare manualmente i font locali.

Suggerimenti sulle risorse

Quando non è possibile ospitare localmente file di terze parti, è opportuno utilizzare i suggerimenti sulle risorse per migliorare la velocità di connessione e le prestazioni quando si richiama un file da un dominio di terze parti.

Pre-festa (gratuito)

https://wordpress.org/plugins/pre-party-browser-hints/

Questo plugin consente agli utenti di incorporare automaticamente e facilmente i suggerimenti alle risorse per migliorare il tempo di caricamento delle pagine.

Suggerimenti sulle risorse inclusi: Sono supportati DNS prefetch, prerender, preconnect, prefetch e preload.

Combinazione con HTTP/2 Server Push (gratuito)

HTTP/2 Server Push è più potente e ha un vantaggio in termini di prestazioni rispetto ai suggerimenti sulle risorse.

HTTP/2 e i suggerimenti per le risorse sono complementari e dovrebbero essere usati insieme. Tuttavia, HTTP/2 Rel=”preload” è più potente del suggerimento di risorsa Rel=”preload”, perché con HTTP/2 Server Push il server invia la risorsa prima che il browser dell’utente la richieda (prima che il documento HTML venga servito).

I suggerimenti di risorse, invece, sono collocati all’interno del documento HTML, il che significa che il browser dell’utente deve prima effettuare una richiesta della risorsa per avviare il trasferimento. I suggerimenti di risorse hanno vantaggi in termini di prestazioni e dovrebbero essere usati quando possibile, ma Server Push ha ulteriori vantaggi in termini di prestazioni rispetto ai suggerimenti di risorse e dovrebbe essere usato al loro posto quando possibile.

Spiegazione estesa e confronto/confronto

https://docs.google.com/document/d/1ZHGvCrXyKxAFLwVqj-Y1nRtzIYmU_vur0G1Ro8TDEkk/e dit?usp=sharing

Caratteri

Migliori pratiche

  • Utilizzare WOFF/WOFF2, non TTF/altri formati di font, poiché WOFF2 ha la migliore compressione.
  • Consolidare le famiglie di font, i pesi e le icone.
  • Disattivare le librerie di icone di font (woff2, ttf, ecc.) e utilizzare invece singoli file SVG. Le librerie di icone di font caricano l’intero set di icone invece delle sole icone necessarie, appesantendo inutilmente la pagina.
  • Ospitare i font a livello locale (anziché i font di Google da fonts.gstatic.com).
  • Una volta ospitati localmente, precaricate i file di font importanti caricandoli sopra la piega.
  • Se il caso d’uso richiede il caricamento di font da un dominio esterno (ad esempio Google Fonts da fonts.gstatic.com), assicurarsi di impostare la preconnessione (suggerimenti di risorse pre-party, perfmatters e altri plugin hanno questa funzione) al dominio esterno.

Font di Google ospitati localmente

Scaricare manualmente in locale i file dei font di Google Google Fonts Web Helper (gratuito)

https://gwfh.mranftl.com/fonts

I font sono file pesanti che appesantiscono la pagina e quando si utilizzano i font di Google dal CDN di Google, l’utente deve effettuare richieste al server esterno, con un notevole costo in termini di prestazioni. Se si utilizza un VPS veloce o un host gestito, è preferibile servire i font in locale.

Ogni singola chiamata esterna a un dominio di terze parti introduce un ulteriore ritardo. Riducete il più possibile le chiamate di terze parti. I font rappresentano una grande opportunità per ridurre i ritardi, quindi si tratta di un tipo di file fondamentale da auto-ospitare.

Controllare il waterfall di GTMetrix per identificare i font utilizzati. Molti plugin caricano font che non vengono nemmeno utilizzati, per cui si consiglia di disabilitare completamente la funzione Google Fonts del plugin e di sostituirli con i file WOFF2 scaricati (che hanno la massima compatibilità con i browser e le dimensioni più ridotte).

Se si utilizza Elementor, nelle impostazioni c’è una sezione per caricare i font personalizzati. Quando si utilizza un elemento, utilizzare l’impostazione per selezionare il font, che dovrebbe essere elencato in cima all’elenco una volta

li caricate. Anche altri costruttori dovrebbero avere questa opzione, ma dovrete controllare la loro documentazione per scoprire come usarla sul vostro costruttore se non usate Elementor.

Yabe Web Font (Gratuito)

https://wordpress.org/plugins/yabe-webfont/

Yabe è un plugin per l’hosting di font locali molto flessibile.

  • Compatibile con GDPR / DSGVO: potete importare/auto-ospitare i file di Google Fonts dal vostro server attraverso la pagina di amministrazione di WordPress. Meno motivi per preoccuparsi della conformità GDPR / DSGVO.
  • Google Fonts e Adobe Fonts sono pronti: Iniziate a utilizzare tutti i font disponibili su Google Fonts e Adobe Fonts.
  • Font personalizzati: Un gestore di font personalizzati dedicato per WordPress. Il luogo centrale per gestire tutti i font e la tipografia.
  • Leggero e velocissimo: Il sistema di gestione dei caratteri utilizza WordPress REST API e un moderno framework JavaScript per un’esperienza utente immediata e reattiva. La cache della prima pagina garantisce un caricamento rapido e riduce le query al database.
  • Supporto dei font variabili: Il formato consente a un singolo file di font di contenere più variazioni stilistiche.

OMGF (Gratuito)

https://wordpress.org/plugins/host-webfonts-local/

OMGF ospiterà localmente i vostri Google Webfonts, eliminando così le chiamate esterne per i vostri font.

Flyingpress (a pagamento)

https://docs.flyingpress.com/en/article/optimize-google-fonts-1lotnj4/

Flyingpress può anche ospitare localmente i font di Google. Non può servire font locali specificati manualmente; utilizzare OMGF o Yabe Webfont se si desidera caricare manualmente i font locali.

Sottoimpostazione dei caratteri

Utilizzate un subsetter di font per eliminare i caratteri inutilizzati dai file di font, in modo da ridurre le dimensioni dei file.

Everything Fonts Subsetter (gratuito)

https://everythingfonts.com/subsetter

Aspose Subsetter (gratuito)

https://products.aspose.app/font/generator

Typst Subsetter (gratuito)

https://github.com/typst/subsetter

Glyphhanger (Gratuito)

https://www.stefanjudis.com/notes/glyphhanger-a-tool-subset-and-optimize-fonts/

https://github.com/zachleat/glyphhanger

Sottofondo (gratuito)

https://github.com/Munter/subfont

Font Squirrel (Gratuito)

https://www.fontsquirrel.com/tools/webfont-generator

Generatore di font Web ottimizzato per le prestazioni granulari. Può ridurre in modo significativo le dimensioni dei font ospitati localmente. Lo consiglio vivamente.

Font Squirrel può essere abbinato a qualsiasi font ospitato localmente ed è complementare agli altri plugin qui elencati. È possibile utilizzarli insieme.

Molto simile alla suddivisione. Raccomanderei l’uso di entrambi.

Visualizzazione dei caratteri (gratuito)

Come funzionano le proprietà di visualizzazione dei caratteri

https://css-tricks.com/almanac/properties/f/font-display/

Caricatore WP FOFT (gratuito)

https://wordpress.org/plugins/wp-foft-loader/

Questo plugin implementa e automatizza il metodo di Zach Leatherman “Critical FOFT with preload, with a polyfill fallback emulating font-display: optional” per ottimizzare e velocizzare il caricamento dei font web e migliorare l’UX riducendo al minimo Flash of Invisible Text, Flash of Unstyled Text e DOM Reflow.

Articolo

https://github.com/zachleat/web-font-loading-recipes#the-compromise-critical-foft-with-preload-w ith-a-polyfill-fallback-emulating-font-display-optional

Pulizia delle attività (gratuito)

https://wordpress.org/plugins/wp-asset-clean-up/

È possibile applicare le proprietà di visualizzazione dei font sia ai font ospitati localmente che a quelli di Google.

OMGF (Gratuito e Pro)

https://wordpress.org/plugins/host-webfonts-local/

Font Style Matcher (gratuito)

https://meowni.ca/font-style-matcher/

Se si utilizza un font per il Web, è inevitabile vedere un lampo di testo non stilizzato (o FOUC), tra il rendering iniziale del font websafe e il font Web scelto. Di solito questo comporta un cambiamento stridente nel layout, dovuto alle discrepanze di dimensione tra i due font. Per ridurre al minimo questa discrepanza, si può cercare di far coincidere le altezze e le larghezze x del font di riserva con quelle del font Web previsto. Questo strumento aiuta a fare esattamente questo.

Articolo

https://blog.hubspot.com/website/web-safe-html-css-fonts

FontForge (gratuito)

https://fontforge.org/en-US/

Rimuovere i glifi non necessari per ridurre il peso dei caratteri (gratuito)

FontForge è un software gratuito e open-source che vi permetterà di scavare nei file dei font. Rimuovendo i glifi non necessari, possiamo tranquillamente ridurre le dimensioni dei nostri font dell’80-90%!

Ottimizzare i glifi dei caratteri (gratuito)

Anche la semplificazione del disegno dei glifi nel font può ridurre le dimensioni del file. Si tratta di eliminare i punti superflui dei contorni dei glifi senza compromettere il design.

Rimuovere le caratteristiche dei caratteri per ridurre le dimensioni del file

La regolazione delle impostazioni dei font, come l’accenno, le coppie di crenatura e le legature, può essere un modo per ottimizzare le dimensioni dei file dei font, ma queste regolazioni spesso comportano compromessi in termini di aspetto e funzionalità del testo.

Rimuovere il font hinting (gratuito)

L’accenno è una tecnica utilizzata per migliorare la leggibilità dei caratteri a piccole dimensioni sui display digitali. Regola il contorno del carattere per allinearlo meglio alla griglia di pixel.

Impatto della rimozione: L’eliminazione dell’accenno può ridurre le dimensioni del file, ma può peggiorare l’aspetto del carattere su schermi a bassa risoluzione dove il rendering del carattere si basa sull’accenno per la chiarezza.

Coppie di crenatura (gratuito)

La crenatura consiste nel regolare la spaziatura tra coppie specifiche di caratteri per renderla più uniforme. Questa operazione è particolarmente importante per alcune combinazioni di caratteri in cui la spaziatura predefinita appare sgradevole.

Impatto della rimozione: L’eliminazione o la riduzione del numero di coppie di crenatura può ridurre le dimensioni del file del font, ma può portare a una spaziatura dei caratteri non uniforme che può influire sulla leggibilità e sull’estetica.

Legature (gratuito)

Le legature sono glifi singoli che rappresentano una combinazione di due o più caratteri, comunemente utilizzati per coppie di caratteri come “fi”, “fl”, ecc.

Impatto della rimozione: L’omissione delle legature può ridurre le dimensioni del file e semplificare il carattere, ma può degradare la qualità tipografica del testo, soprattutto nella stampa o nelle visualizzazioni ad alta risoluzione.

Ottimizzazione del database

Eseguite sempre dei backup prima di implementare qualsiasi ottimizzazione del database.

Disattivare le opzioni del database caricate automaticamente e non necessarie

Disattivare le opzioni del database non necessarie e caricate automaticamente è un ottimo modo per aumentare le prestazioni, eliminando le spese generali e i pesi morti. Molte opzioni dei plugin non hanno bisogno di essere caricate automaticamente e possono essere

tranquillamente impostate su no.

Tuttavia, l’impostazione di alcune opzioni di caricamento automatico su no per molti plugin può danneggiare il sito. Eseguire sempre un backup del database prima di modificare queste impostazioni. In genere si dovrebbe essere in grado di ripristinare l’opzione autoload yes se qualche funzionalità si interrompe, ma come migliore prassi si raccomanda sempre di eseguire un backup del database prima di modificare qualsiasi cosa, per sicurezza. In rari casi è possibile essere bloccati completamente dal backend di WP-Admin a causa di un errore critico causato dalla disabilitazione di un’opzione di autocaricamento.

SweepPress (gratuito)

https://wordpress.org/plugins/sweeppress/

Autoload Option Manager e Database Sweeper con 43 elementi separati puliti. Molto utile.

Ottimizzatore di opzioni AAA (gratuito)

https://wordpress.org/plugins/aaa-option-optimizer/

Questo plugin tiene traccia di quali opzioni autocaricate sono utilizzate in una pagina e memorizza questi dati alla fine del rendering della pagina. Mantiene un array di opzioni che ha visto essere utilizzate. Nella pagina di amministrazione, confronta tutte le opzioni caricate automaticamente con l’array di opzioni memorizzate e mostra le opzioni caricate automaticamente che non sono state utilizzate durante la navigazione del sito.

Se si è visitata ogni pagina del sito o si è tenuto il plugin per una settimana o poco più, significa che probabilmente non è necessario caricare automaticamente le opzioni.

Controllo del caricamento automatico (gratuito)

https://wordpress.org/plugins/autoload-checker/

Autoload Checker aiuta a monitorare la dimensione totale dei dati caricati automaticamente nella tabella wp_options del database. I dati caricati automaticamente sono quelli che vengono caricati a ogni caricamento di pagina, indipendentemente dal fatto che siano necessari o meno. Questo può influire sulle prestazioni e sulla velocità del sito, soprattutto se sono installati molti plugin.

Autoload Checker non rimuove alcun dato caricato automaticamente dal database, ma si limita a verificarne lo stato e a visualizzarlo nella dashboard di WordPress. È possibile vedere la dimensione totale dei dati caricati automaticamente e le voci di dati più caricate ordinate per dimensione. Questo può aiutare a identificare i plugin o i temi che aggiungono più dati in autocaricamento al database e a decidere se è necessario ottimizzarli o meno.

Pulitore di database (gratuito)

https://wordpress.org/plugins/database-cleaner/

Un’altra opzione gratuita per gestire lo stato di autocaricamento delle opzioni del database.

Advanced Database Cleaner (Freemium)

https://wordpress.org/plugins/advanced-database-cleaner/

Neat plugin per la gestione dei database.

Pulitori di database

SweepPress (gratuito)

https://wordpress.org/plugins/sweeppress/

Sweeper del database con 43 elementi separati puliti. Molto utile.

WP-Sweep (gratuito)

https://wordpress.org/plugins/wp-sweep/

Advanced Database Cleaner (Freemium)

Versione gratuita:

https://wordpress.org/plugins/advanced-database-cleaner/

Google Pagespeed Insight: ecco cosa c'è da sapere Advanced DB Cleaner PRO ‘3.1.6″

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

e Alcuni di voi optzsns am m t categoruad y “o ‘ Please ¢iiclr on.the. buI1on belt to ca e’gorizo theml

Google Pagespeed Insight: ecco cosa c'è da sapere r “{, i i –r i”- i it I ” ‘ i i I I ir’r -: i; – i”.¿ – i: : i:: i I . i ‘ . .’ . ‘ ‘ . .i :;. I –.’-‘

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

Versione Pro a pagamento

https://sigmaplugin.com/downloads/wordpress-advanced-database-cleaner/.

È importante esaminare ed eliminare tutte le opzioni non necessarie; le opzioni del database non necessarie si accumulano nel tempo con la rimozione dei plugin e il cambio dei temi e possono rallentare il sito senza che ve ne rendiate conto. Se installate un plugin e poi lo disinstallate, cancellate sempre le tabelle e le opzioni rimaste con advanced database cleaner pro o un altro plugin per la pulizia del database.

Alcuni plugin creano una tonnellata di tabelle e opzioni del database, quindi è meglio evitarli (Sumo Plugin, ad esempio). Si vuole un impatto sulla base dati il più basso possibile, quindi è meglio un numero minore di query. Questo è importante per le prestazioni della cache degli oggetti (Redis, Docket Cache, Memcached, ecc.).

I plugin meglio ottimizzati effettueranno meno chiamate al database. Impostare anche tutto ciò che non dovrebbe essere caricato automaticamente su “autoload no” tramite la pulizia avanzata del database o un altro plugin.

Molti plugin caricano automaticamente dati non necessari a ogni caricamento di pagina, quindi la disabilitazione del caricamento automatico dovrebbe aumentare la velocità del sito.

Assicuratevi di eseguire un bug test sul sito per verificare che le voci disabilitate non causino problemi con le funzioni del plugin.

Analisi e diagnosi delle query di database

Query Monitor (gratuito)

https://wordpress.org/plugins/query-monitor/

Usate Query Monitor per eseguire il debug e identificare i plugin che hanno query di database lente. È uno dei migliori strumenti che si possono usare per diagnosticare i problemi di prestazioni.

Una volta individuati i plugin che presentano query lente, è possibile cercare plugin alternativi che abbiano le stesse funzionalità, ma che siano più snelli e veloci.

Componenti aggiuntivi (gratuiti)

https://querymonitor.com/help/add-on-plugins/

Collezione di componenti aggiuntivi di Query Monitor per estendere le funzionalità di Query Monitor.

Logger di query Fluent (gratuito)

https://wordpress.org/plugins/fluent-query-logger/

Query Logger con funzionalità di registrazione selettiva.

Indicizzazione del database

Non si dovrebbe utilizzare Index MySQL for Speed e Scalability Pro insieme. Scegliete uno o l’altro

Indice WP MySQL per la velocità (gratuito)

https://wordpress.org/plugins/index-wp-mysql-for-speed/

(Non necessario se si usa Scalability Pro)

Indicizzare gli utenti WP per la velocità (gratuito)

https://wordpress.org/plugins/index-wp-users-for-speed/

Questo plugin velocizza la gestione degli utenti registrati su WordPress, soprattutto quando il vostro sito ne ha molte migliaia.

Questo plugin inserisce indici separati che Index MySQL for Speed non indicizza. Non consiglio di usare questo plugin insieme a Scalability Pro. Se acquistate Scalability Pro, non usate nessuno degli altri plugin per l’indicizzazione dei database di cui sopra.

Non lasciare Index WP Users For Speed attivo dopo l’aggiunta degli indici, perché quando è attivo effettua molte chiamate al database non necessarie per ogni caricamento di pagina, il che probabilmente avrà un impatto negativo sulla velocità delle pagine del sito. Una volta aggiunti gli indici, è possibile disattivare il plugin.

Scalabilità Pro (a pagamento)

https://www.wpintense.com/product/scalability-pro/

Utile praticamente per qualsiasi sito, ma in particolare per i negozi Woocommerce. Se il vostro sito utilizza Woocommerce, vi consiglio vivamente di scegliere Scalability Pro rispetto a Index Mysql For Speed, se potete permettervelo, in quanto aggiunge indici alle tabelle di Woocommerce (purtroppo Index MySQL For Speed non lo fa).

Meta Optimizer (gratuito)

https://wordpress.org/plugins/meta-optimizer/

Questo plugin ottimizza la memorizzazione dei meta-dati di WordPress salvando tutti i meta-dati per ogni post, commento, utente o termine in un’unica riga con colonne separate per ogni meta- chiave. Questo riduce il numero di righe e migliora le prestazioni delle query e l’esportazione dei dati. Converte le tabelle myISAM in InnoDB.

Ottimizzatore di template (gratuito)

https://wordpress.org/plugins/templ-optimizer/

Converte automaticamente le tabelle myISAM in tabelle InnoDB, più performanti. La stragrande maggioranza dei siti WordPress utilizza già tabelle InnoDB, ma questo plugin è utile per tutti i siti legacy che utilizzano ancora myISAM.

Gestore dei transitori (gratuito)

https://wordpress.org/plugins/transients-manager/

Gestire i transitori di WordPress memorizzati nel database.

Eliminare i transitori scaduti (gratuito)

https://wordpress.org/plugins/delete-expired-transients/

Eliminare i transienti vecchi e scaduti dalla tabella delle opzioni di WordPress (wp_options), per evitare che gonfino il database e rallentino il sito web.

Disattivare WP Rest API (gratuito)

https://wordpress.org/plugins/disable-wp-rest-api/

Disabilita l’API Rest.

Analisi

Ritardare l’uso di Javascript per le analisi influisce sulle vostre metriche

Consiglio di ritardare tutti gli script di analisi per mitigare l’impatto sulle prestazioni. Le piattaforme di analisi funzionano tramite javascript, che è incredibilmente pesante dal punto di vista delle prestazioni e causa un forte impatto sulla velocità delle pagine. Il rinvio dell’esecuzione del javascript attenua solo leggermente il problema; per eliminare completamente l’impatto sulle prestazioni, il javascript deve essere ritardato dal download fino all’interazione con l’utente.

Se si ritarda il javascript di analisi, i dati si confondono. È un compromesso per mantenere le prestazioni. I dati raccolti non saranno accurati al 100% se il javascript viene ritardato e il conteggio del traffico potrebbe essere superiore a quello indicato dai dati raccolti. Ciò che conta sono le conversioni, non le statistiche. Un aumento delle conversioni in cambio di dati più confusi non è un problema.

Analitica locale autogestita

Matomo Analytics (Freemium)

https://wordpress.org/plugins/matomo/

Matomo è un ottimo plugin di analisi open source e gratuito. Senza addons, ha funzionalità equivalenti a quelle di Google Analytics. È possibile ospitare localmente le analisi di Matomo e non è necessario condividerle con un servizio di terze parti, una necessità fondamentale per il GDPR. Le analisi saranno anche più accurate di quelle di Google Analytics.

Consiglio di preferire Matomo a Google Analytics, anche se, se lo si desidera, è possibile utilizzare entrambi contemporaneamente.

Ottimizzazione

Ritardare Matomo.js nel plugin di ritardo javascript per mitigare l’impatto sulle prestazioni.

Koko Analytics (gratuito)

https://wordpress.org/plugins/koko-analytics/

Analisi locali leggere e ospitate. Statistiche molto semplici. Consiglierei di preferire Matomo a Koko Analytics solo per ottenere dati più approfonditi, ma sono entrambe ottime soluzioni in hosting locale.

Analisi del carico pigro

Veri analitici pigri (gratuito)

https://wordpress.org/plugins/true-lazy-analytics/

Questo plugin abilita il caricamento pigro per Google Analytics, Facebook Pixel, Hotjar, Yandex Metrica (Yandex Metrika) e Liveinternet.

Chiarezza del carico pigro (gratuito)

https://wordpress.org/plugins/lazy-load-clarity/

Caricamento pigro dello script di monitoraggio di Microsoft Clarity

Heatmap e Clickmap

Aurora Heatmap (gratuito)

https://wordpress.org/plugins/aurora-heatmap/

Un piccolo plugin gratuito, heatmap e clickmap, tutte raccolte e memorizzate localmente sul vostro server web.

Microsoft Clarity (gratuito)

https://clarity.microsoft.com/

https://wordpress.org/plugins/microsoft-clarity/

Microsoft Clarity è un sostituto di Hotjar per la raccolta di dati analitici sui clic e sugli scorrimenti (Heatmap, scrollmap, mappe dei clic, clic rabbiosi, ecc.), nonché per la registrazione delle sessioni e alcune altre funzioni interessanti, completamente gratuite!

Microsoft Clarity è migliore e ha più funzioni di Aurora Heatmaps, ma è necessario creare un account (gratuito). Non ci sono vincoli, è davvero totalmente gratuito.

Caricamento pigro Microsoft Clarity (gratuito)

https://wordpress.org/plugins/lazy-load-clarity/

Il plugin Lazy Load Clarity è un semplice plugin che consente di caricare lo script Microsoft Clarity senza influire sulla velocità della pagina del sito web.

Lo script verrà caricato solo dopo un’interazione iniziale da parte dell’utente, riducendo così a zero l’impatto di Clarity sulla velocità della pagina.

Registrazione della

sessione Microsoft Clarity

(gratuita)

https://clarity.microsoft.com/

https://wordpress.org/plugins/microsoft-clarity/

https://wordpress.org/plugins/lazy-load-clarity/

Test A/B

Mojito (gratuito)

https://github.com/mint-metrics/mojito

https://github.com/mint-metrics/mojito-js-delivery

Mojito è un toolkit open source incredibilmente potente per i test A/B con un peso del file JS di soli 5 KB. È il modo più veloce e performante per eseguire test A/B basati su JavaScript. Può anche essere collegato a Google Optimize per vedere i dati in uscita nell’interfaccia web di Google.

NOTA

Mojito può sembrare morto a prima vista a causa dell’inattività del repo di primo livello, ma i suoi repo di dipendenza (e quindi il progetto) sono ancora in fase di sviluppo attivo!

Non ritardare il file JS di Mojito

Nota: non ritardare il file JS di Mojito. Deve essere caricato senza ritardi per determinare correttamente la variante di pagina da visualizzare.

Google Analytics

Come mitigare l’impatto delle prestazioni di Google Analytics Ritardo di Analytics Javascript

Elenco dei file Javascript da ritardare (è possibile copiare e incollare questo elenco):

gtag.js gtag.min.js analytics.min.js

google-analytics.com ga

/gtag/js gtag(

/gtm.js

/gtm- gtm.js gtag

googletagmanager.com

Ospitare localmente Google Analytics

Oltre a ritardare i file javascript di analytics, è necessario ospitarli localmente. Di seguito sono riportati un paio di plugin che consentono di ospitare localmente i file di analisi, ma anche molti altri plugin dispongono di questa funzione.

Rankmath – Analitica in hosting (a pagamento)

Google Pagespeed Insight: ecco cosa c'è da sapere

Nella versione pro, Rankmath offre come opzioni il tracciamento cookieless e l’hosting di Google Analytics in locale. È sempre consigliabile ospitare il file di analisi in locale.

La sua opzione di tracciamento senza cookie significa che è possibile rimuovere completamente o ignorare qualsiasi plugin di conformità GDPR relativo ai cookie, poiché non si tracciano più gli utenti con i cookie!

CAOS (gratuito)

https://wordpress.org/plugins/host-analyticsjs-local/

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

Se si utilizzano analisi di tracciamento o tag (si dovrebbe!), utilizzare CAOS analytics per ospitare gtag.js localmente per annullare l’impatto sulle prestazioni del sito.

Il valore dei cookie dipenderà dalle leggi vigenti nelle aree in cui si trovano i clienti, quindi è bene tenere presente le leggi locali sulla privacy.

Google Tag Manager

https://tagmanager.google.com/#/home

Utilizzare Google Tag Manager per aggiungere tag di tracciamento di terze parti. Non utilizzate mai plugin di tracciamento aggiuntivi. Una volta impostati tutti i tag con Tag Manager, utilizzare CAOS per scaricare gtag.js. Tutti i tag di tracciamento dovrebbero funzionare attraverso questo file, che dovrebbe ridurre le richieste e accelerare i tempi di caricamento. Molti siti sono molto lenti a causa di cattive implementazioni dei tag di tracciamento.

Kit GTM (gratuito)

https://wordpress.org/plugins/gtm-kit/

Plugin gratuito per l’hosting locale di Google Tag Manager, in grado di caricare gli script di Tag Manager con un ritardo per eliminare l’impatto sulle prestazioni di Tag Manager.

Ottimizzazione

Vedere la sezione precedente per ottimizzare google analytics. È possibile ritardare gli stessi file JS. È sufficiente copiare e incollare l’elenco nell’elenco di script del plugin di ritardo javascript.

Klaviyo (a pagamento)

Ritardo Klaviyo Javascript

Klaviyo non dispone di una soluzione per il caricamento pigro, tuttavia i file Javascript di Klaviyo possono essere ritardati utilizzando qualsiasi plugin con una funzione di ritardo JS, compresi quelli elencati di seguito.

Altre piattaforme di analisi

L’impatto sulle prestazioni di altri fornitori di analisi/piattaforme può essere annullato semplicemente ritardando i loro file javascript con la funzione Delay JS di qualsiasi plugin di ottimizzazione.

Ritardo Javascript

Stessa cosa, tutti i plugin di analisi utilizzano javascript per calcolare le analisi. Ritardare i file di analisi o i domini di analisi per evitare che vengano caricati fino all’interazione con l’utente, in modo da mitigare l’impatto sulle prestazioni.

Server HTTP Push

Articolo della rivista Smashing

https://www.smashingmagazine.com/2017/04/guide-http2-server-push/

Contenuto HTTP Push (gratuito)

https://wordpress.org/plugins/http2-push-content/

  • Push / Pre-load di tutti i file JS nel sito con una semplice opzione
  • Spingete / precaricate tutti i file CSS del vostro sito web
  • Push / Pre-load di altre risorse in tutto il sito o in base ai tipi di pagina
  • Caricare i CSS in modo asincrono o Rimuovere qualsiasi file CSS in tutto il sito, o c’è un selettore condizionale che è possibile applicare
  • Async / Defer / Rimuovere qualsiasi file JS in tutto il sito o in base al tipo di pagina WordPress
  • È possibile creare regole specifiche per i dispositivi mobili per spingere, precaricare, rimuovere, asincronizzare js o css, in base al rilevamento dell’agente utente del dispositivo.
  • È possibile creare regole specifiche per i dispositivi desktop per spingere, precaricare, rimuovere, asincronizzare js o css, in base al rilevamento dell’agente utente del dispositivo.
  • Rimuovete in modo condizionato JS e CSS da varie pagine di WooCommerce come la pagina di checkout, la pagina del carrello, la pagina del prodotto e la pagina della categoria di prodotto.
  • Si può spingere il pre-caricamento di risorse specifiche su alcune pagine con l’ID
  • Rimuovere CSS e JS specifici per la pagina o il post in base al loro ID.

Rimuovere CSS e JS in linea tramite l’ID risorsa HTTP

Ottimizzare di più! (Gratuito)

https://wordpress.org/plugins/optimize-more/

Ha la capacità di rimuovere gli stili CSS in linea e i file javascript in linea in modo selettivo per ogni pagina.

Suggerimenti sulle risorse

Suggerimenti per il browser prima delle feste (gratis)

https://wordpress.org/plugins/pre-party-browser-hints/

Questo plugin consente agli utenti di incorporare automaticamente e facilmente i suggerimenti alle risorse per migliorare il tempo di caricamento delle pagine.

Suggerimenti sulle risorse inclusi: Sono supportati DNS prefetch, prerender, preconnect, prefetch e preload.

Pulire i tipi di post personalizzati non utilizzati

Pulizia dei tipi di post personalizzati (gratuito)

https://wordpress.org/plugins/custom-post-type-cleanup/

Pulizia dei tipi di post personalizzati inutilizzati per migliorare le prestazioni del database.

Ridurre le richieste HTTP

Ispezione delle richieste HTTP (gratuito)

https://wordpress.org/plugins/inspect-http-requests/

Monitorare tutte le richieste HTTP effettuate tramite i metodi HTTP di WP, ossia wp_remote_get, wp_remote_post. Bloccate qualsiasi richiesta con un semplice clic su un pulsante.

Tiene traccia anche di quanto tempo richiede una richiesta come l’aggiornamento di core/plugin/theme.

Gestore delle richieste HTTP (gratuito)

https://wordpress.org/plugins/http-requests-manager/

Impedite che le richieste HTTP di WP rallentino il vostro sito web WordPress e l’interfaccia di amministrazione. Il plugin HTTP Requests Manager registra tutte le richieste HTTP di WP con il tempo di completamento di ciascuna richiesta. Se ci sono più richieste per pagina, saranno raggruppate per colore.

Aiuta a prevenire il rallentamento del sito web grazie a:

  • Imposta il periodo di timeout della richiesta a 2 secondi. L’impostazione predefinita è 5.
  • Limita il numero di richieste per pagina di 3. L’impostazione predefinita è illimitata.
  • Limita la richiesta HTTP di WP se il tempo di caricamento della pagina è superiore a 3 secondi. L’impostazione predefinita è illimitata.
  • Possibilità di bloccare tutte le richieste esterne o di consentire solo le richieste a wordpress.org per gli aggiornamenti di plugin, temi e core.

Ascoltatori passivi

Helper Lite For Pagespeed (Gratuito)

https://wordpress.org/plugins/helper-lite-for-pagespeed/

Rimuove l’avviso Passive Listeners nei test Pagespeed, migliorando i punteggi. Non è stato aggiornato da oltre un anno, testatelo in fase di staging prima di attivarlo su un sito live!

Ottimizzare di più! (Gratuito)

https://wordpress.org/plugins/optimize-more/

Funzione per rimuovere l’avviso di ascolto passivo

Ridurre l’uso di Ajax da parte dell’amministratore

Diagnosticare l’uso elevato di admin-ajax: https://kinsta.com/blog/admin-ajax-php/

https://koerge.com/learn/wordpress-admin-ajax-php-error/

Registrazione dell’uso di Ajax

Amuga Ajax Log (Gratuito)

https://wordpress.org/plugins/amuga-ajax-log/

Amuga Ajax Log traccia e registra le azioni che colpiscono l’admin-ajax.

  • Nome dell’azione richiesta
  • Possibile nome di funzione o metodo
  • Luogo sospetto
  • Pagina che ha generato l’hit

Nota: lasciare attivo solo durante la diagnosi, disattivare dopo l’uso per eliminare l’impatto sulle prestazioni.

Controllo del battito cardiaco

Controllo dinamico del battito cardiaco del frontend (gratuito)

https://wordpress.org/plugins/dynamic-front-end-heartbeat-control/

L’API WordPress Heartbeat fornisce una comunicazione in tempo reale tra il server e il browser quando si è connessi al pannello di amministrazione di WordPress. Utilizza il file

/wp-admin/admin-ajax.php per eseguire chiamate AJAX dal browser. Per impostazione predefinita, le richieste AJAX vengono inviate ogni 15 secondi sulle pagine di modifica dei post e ogni 60 secondi sulla dashboard.

Quasi tutti i plugin di ottimizzazione a pagamento hanno una funzione per controllare anche il battito cardiaco di WordPress.

Cache delle richieste Ajax

Rompere la cache dei cookie per memorizzare nella cache i contenuti dinamici Ajax

https://wpshout.com/crash-course-ajax-wordpress/

https://wpshout.com/using-cookies-in-wordpress-part-ii-cache-busting-with-ajax/

Prestazioni rapide

https://swiftperformance.io/

https://swiftperformance.io/blog/how-to-cache-ajax-get-requests-with-swift-performance-pro/

https://docs.swiftperformance.io/knowledgebase/cache-ajax-requests/

Swift Performance Lite (gratuito)

https://wordpress.org/plugins/swift-performance-lite/

La versione Lite è in grado di memorizzare nella cache le richieste Ajax. Questo è probabilmente il modo più semplice per memorizzare nella cache le richieste Ajax.

Cloudflare Super Page Cache (gratuito)

https://wordpress.org/plugins/wp-cloudflare-page-cache/

Oltre a Varnish (o Swift Performance, se lo si usa), Cloudflare Super Page Cache può memorizzare nella cache le richieste Ajax get (non le richieste post, purtroppo).

https://imgur.com/xWmKHmL

Deselezionate la casella di “Non memorizzare nella cache i contenuti dinamici”, intitolata “Richieste Ajax”.

Limitazioni di Cloudflare

Se le richieste Ajax provengono da un plugin che utilizza Ajax Nonces, la pagina/ajax non potrà essere messa in cache (quando si utilizza Cloudflare Super Page Cache*).

Vedere la spiegazione dello sviluppatore qui: https://wordpress.org/support/topic/how-to-correctly-cache-or-bypass-ajax-requests/

Controllo delle attività di WP-Cron

Cron Scheduler avanzato (gratuito)

https://wordpress.org/plugins/migrate-wp-cron-to-action-scheduler/

Gestore di cronjob avanzato e leggero

WP Crontrol (gratuito)

https://wordpress.org/plugins/wp-crontrol/

WP Crontrol consente di visualizzare e controllare ciò che accade nel sistema WP-Cron.

Registrazione cron (gratuito)

https://wordpress.org/plugins/cron-logger/

Questo plugin vi aiuterà a identificare quali Cronjob (se ce ne sono) sono problematici.

Creare lavori Cron per il server/sistema e disabilitare WP Cron (gratis)

https://wpspeedmatters.com/external-cron-jobs-in-wordpress/

Disattivare i Pingback (gratuito)

https://wordpress.org/plugins/no-self-ping/

Un pingback è un commento automatico che viene creato quando un altro blog vi linka. Ci possono essere anche i self-pingback, che vengono creati quando ci si collega a un articolo all’interno del proprio blog.

Ad alcuni piace molto che WordPress invii dei ping dal proprio sito al proprio sito quando si scrivono dei post; in questo modo si ottiene una traccia di post correlati.

Ad alcune persone questo comportamento non piace, in quanto ingombra i loro commenti. Questo plugin disabilita il ping intra-blog.

Disattivare il Bloat

Unbloater (Gratuito)

https://wordpress.org/plugins/unbloater/

Alcune caratteristiche uniche di debloat che altri plugin non hanno, tra cui:

  1. Rimuovere il prefetch DNS a s.w.org
  2. Caricare lo script dei commenti solo quando necessario
  3. Rimuovere lo stile inline dei commenti recenti
  4. Impedire il collegamento automatico agli URL nei commenti
  5. Normalizzare la favicon
  6. Normalizzare il titolo del logo di accesso
  7. Normalizzare l’URL del logo di accesso
  8. Disattivare il selettore della lingua di accesso

WP Control (gratuito)

https://wordpress.org/plugins/wpcontrol/

Toolkit gratuito per debloat. Alcune opzioni per disabilitare funzioni non presenti negli altri plugin di questa sezione.

Disabilitare pesantezza per WordPress e WooCommerce (gratuito)

https://wordpress.org/plugins/disable-dashboard-for-woocommerce/

Ottimo plugin con molte funzioni di Debloat sia per Woocommerce che per WordPress. Tutte le opzioni “pro” a pagamento possono essere ottenute con altri plugin gratuiti. Non c’è motivo di acquistare la versione pro del plugin. La versione pro è completamente inutile.

Disattivare i commenti

Disattivare i commenti (gratuito)

https://wordpress.org/plugins/turn-off-comments/

Disabilita i commenti in tutto il sito

Kit di strumenti per l’ottimizzazione

Si tratta di kit di strumenti di ottimizzazione con molte funzioni aggiuntive rispetto agli altri plugin inclusi in questa guida. Tutti i plugin elencati sono complementari a tutto il resto, non sono il fine ultimo dell’ottimizzazione.

Impostazioni avanzate (gratuito)

https://wordpress.org/plugins/advanced-settings/

Toolkit con molte funzioni. Aggiunge altri plugin per l’ottimizzazione.

  • Rimuovere l’attributo type=”text/javascript” dal tag <script>.
  • Traccia ed elenca gli script/stili richiesti
  • Unire e includere gli script/stili rimossi
  • Caricamento degli script rimossi nel piè di pagina
  • Caricare gli stili rimossi uniti

Tipi di messaggi

  • Gestire/creare/modificare
  • Supporta: titolo, editore, autore, miniatura, estratto, trackback, campi personalizzati, commenti, revisioni, attributi della pagina, ecc.
  • Configurare: gerarchico, has_archive, query_var, show_in_menu, show_ui, publicly_queryable, public, ecc.
  • Tassonomie: categoria, post_tag

Codice HTML

  • Correggere le miniature non corrette di Facebook, inclusi i meta OG
  • Nascondere il menu di amministrazione superiore
  • Aggiungere automaticamente una FavIcon (ogni volta che c’è un file favicon.ico o favicon.png nella cartella del modello)
  • Aggiungere un meta tag di descrizione utilizzando la descrizione del blog (SEO)
  • Aggiungere i meta tag descrizione e parole chiave in ogni post (SEO)
  • Rimuovere il meta tag del generatore di WordPress
  • Rimuovere il meta tag WLW Manifest dell’intestazione (collegamento a Windows Live Writer)
  • Rimuovere il meta tag dell’intestazione RSD (Weblog Client Link)
  • Rimuovere il meta tag shortlink dell’intestazione
  • Configurare il titolo del sito in modo che utilizzi solo la funzione wp_title() (meglio per la programmazione hardcode)
  • Limitare la lunghezza dell’estratto
  • Aggiungere un link di approfondimento dopo l’estratto
  • Rimuovi il filtro wptexturize
  • Rimuovere i trackback e i pingback dal conteggio dei commenti
  • Inserire la biografia dell’autore in ogni post
  • Consentire l’HTML nel profilo utente
  • Comprimere tutto il codice HTML
  • Rimuovere i commenti HTML (non rimuovere i commenti condizionali di IE, come: <!-[if IE]>).
  • Aggiungere il codice di Google Analytics
  • Aggiungere il codice FeedBurner

Sistema

  • Nascondere il messaggio di aggiornamento di WordPress nella dashboard
  • Aggiungere il logo del cruscotto
  • Disinstallare i widget predefiniti di WordPress
  • Disattivare il sistema di widget
  • Disattivare il sistema dei commenti
  • Disattivare il salvataggio automatico dei messaggi
  • Generare automaticamente la miniatura del post (dalla prima immagine del post)
  • Impostare la qualità JPEG
  • Ridimensionare l’immagine al momento del caricamento alla dimensione massima
  • Visualizzare il numero totale di query SQL eseguite e il tempo di caricamento della pagina.
  • Correggere la paginazione dei tipi di post

Script

  • Rimuovere lo script jQuery migrate non necessario (jquery-migrate.min.js)
  • Includere jQuery Google CDN invece dello script locale (versione 1.11.0)
  • Rimuovere l’attributo type=”text/javascript” dal tag
  • Tracciamento degli script in attesa
  • Unire e includere gli script rimossi
  • Caricamento degli script rimossi nel piè di pagina

Stili

  • Traccia degli stili in attesa
  • Unire e includere gli stili rimossi
  • Filtri/Ganci
  • Disabilitare i filtri/ganci di wp

Falcon (gratuito)

https://wordpress.org/plugins/falcon/

Un piccolo kit di strumenti pulito, con funzioni di base, ma con alcune caratteristiche uniche che altri kit non hanno (come la disattivazione della notifica dell’email dell’amministratore).

Strumenti WP (gratuiti)

https://wordpress.org/plugins/wptools/

Il plugin WP Tools (wp-tools) presenta una dashboard completa che mostra le statistiche del server, compreso un grafico degli errori, il tempo di caricamento della pagina anche per pagina e vanta oltre 47 strumenti progettati per semplificare le attività di gestione di WordPress. È un versatile coltellino svizzero per le vostre esigenze di WordPress.

Disattivare tutto (gratuito e pro)

https://wordpress.org/plugins/disable-everything/

Un altro kit di strumenti con alcune caratteristiche uniche, un altro ausiliario.

MagicBox (gratuito)

https://wordpress.org/plugins/magicbox/

Il coltellino svizzero tutto in uno per l’ottimizzazione e la funzionalità.

  • SMTP
  • Pulsanti di contatto
  • Costruttore di moduli
  • Posta massiva
  • Carico pigro
  • Riparazione del database
  • Gestore della cache
  • Precaricatore
  • Popup
  • Ricerca in tempo reale
  • Fancybox
  • CSS personalizzato
  • Opzioni per l’informativa sui cookie
  • Registri di accesso
  • Informazioni sul PHP
  • Registri degli errori
  • Post-autenticazione
  • Commento Disqus
  • Commento Manager
  • Responsabile del backup
  • Ottimizzatore del caricamento delle immagini
  • Ridimensionamento di immagini in blocco
  • Suggerimento di parole chiave
  • Sostituzione dell’URL
  • Reindirizzamenti del sito
  • Mappa del sito
  • Immagine Seo
  • Reindirizzamenti di errore
  • Gestione delle pagine di errore
  • Gestione duplicati
  • Reindirizzamenti personalizzati
  • Limitazione della visita
  • URL di accesso
  • Autenticatore Google
  • Captcha
  • Codici di tracciamento
  • Editor User.ini
  • Editor Htaccess
  • Gestione inserimento codice
  • Modifiche all’editor Gutenberg
  • Etichetta bianca
  • Interruttore utente
  • Modalità di manutenzione
  • Gestore di cloni
  • Accesso personalizzato
  • Cruscotto personalizzato
  • Admin Menu Manager
  • Permessi dell’utente
  • Robot Txt Editor

WPMasterToolKit (gratuito)

https://wordpress.org/plugins/wpmastertoolkit/

Ottimo toolkit con numerose funzionalità. Alcune caratteristiche uniche.

Stili globali

Disabilitare gli stili globali (gratuito)

https://wordpress.org/plugins/disable-global-style/

Disabilita gli stili globali inseriti da WordPress a partire da WP 5.9. Rimuove anche gli SVG duotone aggiunti dopo il tag body di apertura. Anche Perfmatters ha questa funzione.

Perfmatters (a pagamento)

Caratteristiche: Disabilitazione selettiva di plugin, CSS e JS.

  • Ritardo Javascript
  • Rimuovere i CSS inutilizzati
  • Precarico e precollegamento
  • Inserimento del codice nell’intestazione e nel piè di pagina
  • Rimuovere gli stili globali
  • Rimuovere il bloat predefinito di WordPress (emoji, RSS, shortlink, ecc.)
  • Rinviare Javascript
  • Caricamento pigro di immagini e immagini/video
  • Disattivare i font di Google
  • Riscrittura url CDN
  • URL di accesso personalizzato
  • Woocommerce disabilita gli script sulle pagine non di Woocommerce
  • Minificazione di JS e CSS
  • Controllo del battito cardiaco

Plugin gratuiti per replicare le funzionalità di Perfmatters:

  1. Pulizia delle attività
  2. Debloat (per il rinvio di JS, il ritardo di JS, la minimizzazione e la rimozione dei CSS inutilizzati)
  3. Pre-festa
  4. Rimuovere gli stili globali
  5. Disattivare il bloat di WordPress e Woocommerce
  6. CAOS per l’analisi locale
  7. Intestazioni e piè di pagina di WP per l’inserimento del codice
  8. Disattivatore di plugin Freesoul
  9. Plugin per immagini e Iframe Lazy Load (A3 lazy load, Optimize More!, un milione di opzioni)
  10. Advanced Database Cleaner free o Database Cleaner
  11. Disattivare Google Fonts (se lo si desidera)
  12. Abilitatore CDN
  13. Accesso nascosto WPS
  14. Controllo dinamico del battito cardiaco del front-end

Precaricare le pagine interne

Pagine volanti (gratuito)

https://wordpress.org/plugins/flying-pages/

Google Pagespeed Insight: ecco cosa c'è da sapere

A mio parere, questo è il miglior plugin per il precaricamento delle pagine interne. Flying Pages non solo precarica i link su cui si passa il mouse, ma anche qualsiasi link che entra nel viewport. Questo è ottimo perché quando si clicca su un link, le pagine sono già precaricate.

Questo plugin precarica le pagine interne. Le pagine interne sono quelle che vengono caricate dopo la pagina iniziale dell’utente. Ad esempio, vengono caricate prima la homepage e ci sono collegamenti ad altre pagine nel menu dell’intestazione e del piè di pagina.

L’HTML di queste pagine è precaricato con Flying Pages, in modo che quando si fa clic su questi collegamenti, il loro HTML è già stato scaricato, con conseguente accelerazione dei tempi di caricamento della pagina interna che è stata cliccata.

Nota: assicurarsi di ritardare il file js “flying-pages.min.js” nel pannello delle impostazioni di Perfmatters (o del plugin che si utilizza per ritardare i javascript). WP Meteor, pur ritardando tutto, non sembra toccare questo file, quindi dovrà essere ritardato con un altro plugin.

Collegamenti rapidi (gratuito)

https://wordpress.org/plugins/quicklink/

Quicklink for WordPress cerca di rendere più veloce la navigazione verso le pagine successive. Il plugin contiene una libreria javascript che rileva i link nella viewport, attende che il browser sia inattivo e preimposta gli URL per questi link. La libreria cerca anche di rilevare se l’utente ha una connessione lenta o un piano dati.

Consiglio di ritardare il file javascript dei collegamenti rapidi, come se si usasse Flying Pages.

Caricamento speculativo (gratuito)

https://wordpress.org/plugins/speculation-rules/

Per impostazione predefinita, il plugin è configurato per eseguire il prerendering degli URL del frontend di WordPress quando l’utente passa il mouse su un link pertinente. Questo può essere personalizzato tramite la sezione “Caricamento speculativo” in Impostazioni > Lettura.

Disattivare selettivamente plugin e CSS/JS

Utilizzate Asset Cleanup, Perfmatters, Freesoul Plugin deactivator o qualsiasi altro plugin con questa funzionalità. Raccomando di usare Asset Cleanup Pro, perché ha il maggior numero di opzioni di configurazione e può anche disabilitare i file WP Core non necessari, oltre alla disattivazione selettiva dei plugin.

Quando disattivare selettivamente i plugin

Se un plugin è utilizzato solo nel frontend o nel backend, è necessario scaricarlo dove non è necessario. Un plugin per la gestione dei file, per esempio, deve essere eseguito solo nel backend, quindi dovrebbe essere disabilitato nel frontend.

Asset Cleanup Pro (a pagamento)

https://www.gabelivan.com/items/wp-asset-cleanup-pro/

La versione a pagamento di Asset Cleanup ha un disattivatore di plugin molto configurabile.

Perfmatters (a pagamento)

https://perfmatters.io

Disattivatore di plugin FreeSoul (gratuito)

https://wordpress.org/plugins/freesoul-deactivate-plugins/

Disattivare selettivamente i plugin per tipo di pagina/post sia nel frontend che nel backend.

WP Asset Manager (gratuito)

https://wordpress.org/plugins/gonzales/

Un efficiente gestore gratuito di risorse e di controllo dei plugin. Completo, può disattivare selettivamente css/js/plugin.

Organizzatore di plugin (gratuito)

https://wordpress.org/plugins/plugin-organizer/

Plugin Organizer consente di disattivare selettivamente i plugin e di modificare l’ordine di caricamento.

Filtro di carico dei plugin (gratuito)

https://wordpress.org/plugins/plugin-load-filter/ Un

altro plugin di disabilitazione selettiva

Gestore di plugin WP (gratuito)

https://wordpress.org/plugins/wp-plugin-manager/

Disattivare selettivamente i file css e js

La disabilitazione selettiva delle risorse (file css e js) è più selettiva della disabilitazione totale di un plugin. A volte è necessario che un plugin venga caricato su una pagina, ma non è necessario che tutti i file caricati dal plugin siano predefiniti. Pulizia delle risorse, Perfmatters

Pulizia delle risorse (gratuita e pro)

https://wordpress.org/plugins/wp-asset-clean-up/

https://www.gabelivan.com/items/wp-asset-cleanup-pro/

Pulizia delle risorse Disabilitare i file CSS e JS nel metabox di pulizia delle risorse nelle pagine:

Google Pagespeed Insight: ecco cosa c'è da sapere

È necessario disabilitare tutti i file js e css non necessari dei plugin che vengono caricati su una pagina, se non si desidera disabilitarli completamente con il gestore di plugin, senza interrompere la pagina.

Google Pagespeed Insight: ecco cosa c'è da sapere

Ulteriori informazioni sulle funzioni di Asset Cleanup sono riportate più avanti nella guida.

Ottimizzare di più! (Gratuito)

https://wordpress.org/plugins/optimize-more/

Optimize More! può disattivare selettivamente i file js e css.

Perfmatters (a pagamento)

https://perfmatters.io/

Responsabile della sceneggiatura

Google Pagespeed Insight: ecco cosa c'è da sapere

Attivare il gestore di script nel pannello delle impostazioni di perfmatters, quindi aprire il gestore di script dalla barra superiore di frontend per accedere all’interfaccia utente del gestore di script.

WP Asset Manager (gratuito)

https://wordpress.org/plugins/gonzales/

Un efficiente gestore gratuito di risorse e di controllo dei plugin. Completo, può disattivare selettivamente css/js/plugin.

Rimuovere i CSS inutilizzati

Istruzioni

Nota: nell’esempio seguente è stata utilizzata l’interfaccia Perfmatters.

    1. Abilita la funzione di rimozione dei CSS inutilizzati:

Google Pagespeed Insight: ecco cosa c'è da sapere

    1. Cancellare la cache del plugin di caching in uso e la cache del server, se il vostro host ne ha una o se l’avete abilitata sul vostro VPS, se ne avete una configurata.
    2. Controllate il frontend per assicurarvi che non ci sia nulla di rotto. Controllare accuratamente ogni pagina dell’intero sito. Rimuovi i CSS inutilizzati rimuove i CSS inutilizzati su ogni pagina del sito.
    3. Aggiungere le esclusioni, se necessario. Cancellare i css inutilizzati utilizzando il pulsante in basso o la funzione Cancella css inutilizzati del plugin in uso.
    4. Cancellare di nuovo le cache e verificare che non ci siano problemi. Se qualcosa è ancora rotto, ripetere l’aggiunta di esclusioni finché il progetto non si rompe più.
    5. Una volta escluso tutto ciò che è necessario escludere (se è necessario aggiungere esclusioni), si passa a ritardare il javascript

Come identificare le classi che devono essere escluse

Google Pagespeed Insight: ecco cosa c'è da sapere

  1. L’elemento Inspect sopra l’elemento css che si sta cercando di escludere.
  2. Fare doppio clic sulla classe per evidenziare il testo e copiarlo.
  3. Incollatelo nella casella delle classi escluse con un punto prima del testo. Ad esempio, “.media-wrap medium-down–hide”.

Come identificare i fogli di stile da escludere

Se l’esclusione di una classe o di un selettore non funziona, potrebbe essere necessario escludere un intero foglio di stile CSS.

  1. Per prima cosa, andate su https://gtmetrix.com o https://www.debugbear.com/test/website-speed e testate la velocità del sito web che state cercando di ottimizzare. A tal fine, è necessario copiare e incollare l’URL nella casella di testo sulla homepage di GTMetrix:

Google Pagespeed Insight: ecco cosa c'è da sapere

  1. Passare quindi alla scheda Grafico a cascata e ordinare per file CSS:

Google Pagespeed Insight: ecco cosa c'è da sapere

  1. Individuare i fogli di stile da escludere, incollarli nella casella delle esclusioni e premere Salva.

Dovrete giocarci un po’. Vi consiglio vivamente di testare l’implementazione di questa funzione su un sito di staging (non sul vostro sito live), in modo che l’esperienza dell’utente non venga compromessa sul sito live a causa di rotture del design.

Debloat (gratuito)

https://wordpress.org/plugins/debloat/

Ottima opzione gratuita (e l’unica esistente) per rimuovere i CSS inutilizzati.

CSS critico per WordPress (gratuito)

https://wordpress.org/plugins/critical-css-for-wp/

Rimuove il CSS inutilizzato e inlinea il CSS critico.

Flyingpress (a pagamento)

https://flyingpress.com/

Flyingpress è uno dei migliori plugin di caching e ha la funzione di rimozione dei CSS inutilizzati.

Perfmatters (a pagamento)

https://perfmatters.io/

Perfmatters (descritto di seguito) è un ottimo plugin di ottimizzazione che offre una maggiore configurabilità e può anche rimuovere i css inutilizzati.

Rimuovere manualmente i CSS inutilizzati (gratuito)

https://purifycss.online/

File CSS/JS in linea di piccole dimensioni

Quando usare l’inlining

Questo è utile per i file di piccole dimensioni per ridurre la quantità di richieste http, ma l’inlining di file css/js di grandi dimensioni danneggia le prestazioni. Usate l’inlining con parsimonia e verificate sempre che non si sia rotto nulla dopo l’inlining di un file. Se un file dipende da uno specifico ordine di caricamento (ad esempio uno specifico script js), lo spostamento dell’ordine di caricamento nella root html può interrompere la funzionalità.

Ottimizzare di più! (Gratuito)

https://wordpress.org/plugins/optimize-more/

Optimize More! ha una funzione che consente di inserire i file javascript e css nell’intestazione del documento html.

Pulizia delle risorse (gratuita e pro)

https://wordpress.org/plugins/wp-asset-clean-up/

Asset Cleanup può inserire file css in linea.

Inlining automatico dei file CSS in base alla dimensione del file

Asset Cleanup dispone di una funzionalità che inlinea automaticamente i file CSS al di sotto di una certa dimensione (ad esempio, 3 kb).

Come ottimizzare manualmente i CSS (gratis)

Non è necessario se si utilizzano gli altri plugin elencati sopra, ma se un plugin non è desiderabile queste risorse spiegano come rimuoverlo manualmente.

Micro-ottimizzare i CSS

https://perishablepress.com/how-to-micro-optimize-your-css/

Formattazione del codice CSS

https://perishablepress.com/series-summary-obsessive-css-code-formatting/

Proprietà di visibilità dei contenuti (gratuita)

https://bloggingcommerce.com/en/improve-wordpress-loading-speed-with-css-content-visibility- property/#Que_hace_content-visibility

https://web.dev/articles/content-visibility

Caricamento condizionato dei CSS tramite funzioni PHP

https://webdesign.tutsplus.com/loading-css-into-wordpress-the-right-way–cms-20402t

Generatore di CSS critici

https://www.corewebvitals.io/tools/critical-css-generator

Minificazione manuale di CSS e JS

https://cssminifier.com/

https://www.toptal.com/developers/javascript-minifier

https://gist.github.com/Ruzgfpegk/4fd666180e40bb8a0e0608ad35fb5a88#minify-your-css

Caricamento pigro degli elementi personalizzati (gratuito)

https://css-tricks.com/an-approach-to-lazy-loading-custom-elements/

Minificazione

https://wpengine.com/resources/how-to-improve-a-wordpress-sites-performance-with-minificatio n/#:~:text=Mentre%20esistono%20diverse%20vie,%2C%20più%20efficienti%2 0%20di%20correre.

I primi paragrafi spiegano come funziona la minificazione.

Minimizzare l’HTML

WP Velocità della luce (gratuito)

https://wordpress.org/plugins/wp-speed-of-light/ Kit per

l’ottimizzazione e plugin per la cache, riduce anche l’html.

Minificare il markup HTML (gratuito)

https://wordpress.org/plugins/minify-html-markup/

Riduce al minimo l’HTML, senza altre funzionalità. Riduce le dimensioni del documento HTML, velocizzando il TTFB. Utilizzatelo insieme al vostro plugin di caching, se non ha una funzione di minificazione dell’HTML (WP Rocket, per esempio, anche se WP Rocket dovrebbe essere generalmente evitato).

Minimizzare i file JS e CSS

Attivare le funzioni di minificazione di css e js usando un plugin per la cache (la maggior parte di essi ha un’impostazione per la minificazione dei file css e js) o Debloat. Se si usa Debloat per la rimozione dei css inutilizzati, attivare la minificazione solo all’interno di Debloat. Non si dovrebbe minificare i file con più plugin, ma solo con uno.

Debloat (gratuito)

https://wordpress.org/plugins/debloat/

Plugin di caching

La maggior parte dei plugin per la cache delle pagine ha una funzione di minificazione dei file css/js. Alcuni sono dotati anche di minificazione dell’html, anche se molti non lo sono. Se un plugin di caching non ha la capacità di minificare l’html, utilizzare il plugin di minificazione dell’HTML di cui sopra.

Ritardo Javascript

Ritardare il javascript è assolutamente necessario per ottenere grandi guadagni in termini di prestazioni, poiché il javascript è uno dei peggiori colpevoli di ridurre le prestazioni della velocità della pagina. Delay JS è essenzialmente un caricamento pigro per i JavaScript, che vengono caricati solo dopo l’interazione dell’utente, per evitare che vengano scaricati durante il caricamento iniziale della pagina.

Esclusioni

Tuttavia, ritardare il javascript ha un’alta probabilità di interrompere le funzionalità e/o il design del sito, quindi molto probabilmente dovrete aggiungere esclusioni per specifici file javascript per evitare che ciò accada. Controllate due e tre volte le vostre pagine e le funzionalità del sito dopo aver attivato questa funzione per assicurarvi che non si sia rotto nulla, perché ho visto alcuni effetti collaterali spiacevoli (come moduli che non vengono inviati, pop-up non funzionanti, lettori video non funzionanti, mappe non funzionanti e altro ancora) se non vengono aggiunte le esclusioni.

Come identificare i file che devono essere ritardati o esclusi dal ritardo.

NOTA: è necessario ritardare gli script su ogni pagina. Alcuni plugin (come alcuni plugin di moduli) vengono caricati solo nella pagina in cui sono utilizzati (la pagina dei contatti, ad esempio, nel caso del plugin di moduli). Ciò significa che è necessario eseguire un test di velocità su ogni URL e aggiungere gli script specifici all’elenco dei ritardi o delle esclusioni.

Test di velocità approfondito!
  1. Google Pagespeed Insight: ecco cosa c'è da sapere Per prima cosa, visitate https://gtmetrix.com (o qualsiasi altro sito di test di velocità che utilizziate e che abbia un grafico a cascata) e testate la velocità del sito web che state cercando di ottimizzare. A tal fine è necessario copiare e incollare l’URL nella casella

di testo sulla homepage di GTMetrix:

  1. Passare quindi alla scheda Grafico a cascata e ordinare per file JS:

Google Pagespeed Insight: ecco cosa c'è da sapere

  1. Per questo esempio, utilizzerò perfmatters per dimostrare come scegliere i file da ritardare. Si sceglieranno gli script specifici che si desidera ritardare dal grafico a cascata. Per esempio, wp-polyfill.min.js. Altri file nell’elenco sono bankful-script.js, w.js, hooks.min.js, ecc. Non è necessario copiare l’URL completo, ma solo il nome del file javascript che si desidera ritardare.
  2. Incollare il nome dei file js che si desidera ritardare (o escludere) nella casella e premere Salva.
  3. Successivamente, è necessario accedere al frontend del sito e verificare che non vi siano problemi di design, di funzionalità o di entrambi. Se un file javascript è essenziale e viene ritardato, si verificherà un’interruzione nel frontend, quindi assicuratevi di testare accuratamente il sito dopo aver ritardato un file javascript.
  4. Se invece di ritardare script specifici si desidera ritardarli tutti all’ingrosso e poi aggiungere esclusioni per gli script che devono essere eseguiti senza essere ritardati, perfmatters ha questa funzione.

Google Pagespeed Insight: ecco cosa c'è da sapere

Questa soluzione può essere preferibile se il sito contiene molti script da caricare. Invece di specificare gli script che si desidera ritardare qui, si dovranno elencare gli script che si desidera escludere qui.

Queste istruzioni sono applicabili a tutti i plugin che possono ritardare i JavaScript elencati in questa guida o a qualsiasi altro plugin che contenga funzionalità per ritardare i JavaScript.

Perfmatters (a pagamento)

https://perfmatters.io/

Consiglio vivamente di utilizzare la funzione JS specifica di Perfmatters in combinazione con la funzione JS di WP-Meteors. Qualsiasi javascript che si desidera ritardare per evitare completamente che venga caricato al caricamento iniziale della pagina deve essere aggiunto manualmente. È basata su parole chiave, quindi è possibile specificare un file js specifico o una stringa utilizzata in più file js.

Se si desidera ritardare tutti i file javascript relativi a un plugin, ecco un esempio casuale di un ipotetico plugin che sto inventando. Se ogni file di “Sumo Wrestler forms” ha la parola “wrestler” in ogni file javascript, è sufficiente usare la parola “wrestler” nella casella delay js per ritardare tutti quei file.

Non utilizzare la funzione Perfmatters Delay All JS (c’è un menu a tendina in cui è possibile selezionare una delle due opzioni) se si utilizza WP Meteor o la funzione javascript delay di WP-Rocket.

Come già detto, il file Javascript di Flying Pages verrà visualizzato nella cascata di GTMetrix del report sulla velocità della pagina e verrà scaricato su ogni pagina del sito quando un utente visita una pagina.

Il ritardo con la funzione Perfmatters Specific Delay JS impedisce il caricamento completo del file fino all’interazione dell’utente con la pagina ed è necessario per eliminare l’impatto sul peso della pagina dell’uso delle Flying Pages. In caso contrario, le pagine volanti comprometteranno le prestazioni di velocità della pagina.

Se un file non è necessario fino all’interazione con l’utente, ritardarlo con la funzione specifica di ritardo dei file JS di Perfmatters. Questo vale anche per i file di analisi (Google Analytics, Hotjar o qualsiasi altro software di monitoraggio analitico in uso). Questo può valere anche per i lettori video (utilizzare questa funzione sui file javascript del lettore video solo se il lettore video si trova sotto la piega), altrimenti si otterrà un pop-in quando il file JS del lettore video viene scaricato, il che è piuttosto stridente e danneggia l’esperienza dell’utente.

Flyingpress (a pagamento)

Flyingpress è dotato di una funzione di ritardo Javascript integrata.

Debloat (gratuito)

https://wordpress.org/plugins/debloat/

Debloat dispone anche della funzione Delay JS.

Script di volo (gratuito)

https://wordpress.org/plugins/flying-scripts/

Semplice plugin per ritardare javascript.

WP-Meteor (gratuito)

https://wordpress.org/plugins/wp-meteor/

WP-Meteor ritarda tutti i javascript e questo può e probabilmente interromperà alcuni elementi delle pagine del sito. In questo caso, è necessario aggiungere manualmente le esclusioni per i file javascript necessari per il funzionamento di specifiche funzionalità di un plugin. Anche gli elementi di design potrebbero rompersi a causa del ritardo del javascript, quindi è fondamentale esaminare il sito dopo aver abilitato questa funzione e controllare tutte le pagine (e/o i tipi di post) per assicurarsi che qualcosa non si sia rotto.

Questa funzione vi darà uno dei maggiori incrementi di velocità delle pagine che potete ottenere dai metodi elencati in questa guida, tuttavia è probabile che si verifichino dei problemi prima di aggiungere le esclusioni dei file. Controllate due e tre volte il vostro sito per assicurarvi che tutto funzioni correttamente. Verificate che l’invio dei moduli funzioni ancora, che il processo di aggiunta al carrello funzioni ancora, che i popup e tutto ciò che dipende da javascript funzionino. Se si tratta di una funzionalità e non di un elemento di design, è molto probabile che sia implementata tramite javascript.

Per identificare i file da escludere, prima di attivare la funzione di ritardo javascript, testate il vostro sito in GTMetrix e filtratelo per visualizzare solo i file javascript con la scheda javascript, in modo da sapere quali sono i file da escludere.

Ottimizzare di più! (Gratuito)

https://wordpress.org/plugins/optimize-more/

Dispone di numerose funzioni, tra cui il ritardo dei file javascript.

Ritardo vs Rinvio Attributo

Ritardo vs Rinvio: Casi

d’uso Come funziona il

ritardo

  • Caricamento iniziale della pagina: Quando una pagina viene caricata, Perfmatters impedisce il caricamento immediato di alcuni file JavaScript specificati. Il resto della pagina (HTML, CSS e JavaScript non ritardato) viene caricato come di consueto.
  • Innesco dell’interazione con l’utente: Gli script ritardati vengono caricati ed eseguiti dopo una specifica interazione dell’utente, come un movimento del mouse, uno scorrimento o un input da tastiera.
  • Poiché il javascript non viene caricato fino all’interazione con l’utente, l’impatto sulla velocità della pagina del file javascript è completamente annullato. Assolutamente zero codice del file verrà scaricato o eseguito prima dell’interazione con l’utente.

Quando è preferibile un ritardo

Il ritardo è l’opzione più vantaggiosa per la velocità della pagina, migliore degli attributi defer o async, ed è l’opzione migliore quando è possibile ritardare gli script e non si verificano interruzioni di funzionalità quando si ritardano i file javascript. Si dovrebbe sempre usare delay quando possibile.

Il ritardo può essere applicato a un singolo file o a più file, a seconda della funzionalità. A volte è necessario ritardare tutti i file della funzione per non interrompere la funzionalità specifica che si interrompe quando viene applicato il ritardo, nel qual caso è necessario ritardare tutti i file relativi alla funzione.

Per essere chiari, il vantaggio in termini di velocità di pagina di ritardare il javascript è molte volte superiore a quello di rinviare il javascript. Dovreste usarli entrambi insieme.

Come funziona Defer

In alcuni casi, il ritardo interrompe semplicemente la funzionalità. Sebbene alcuni script non possano essere ritardati, molti di essi possono essere differiti.

Script che dipendono dal DOM: Defer assicura che gli script vengano eseguiti solo dopo che il documento HTML è stato analizzato completamente. Questo è fondamentale per gli script che interagiscono con il DOM o lo modificano.

Se uno script di questo tipo viene caricato con ritardo, non verrà eseguito fino all’interazione con l’utente, causando errori o funzionalità non funzionanti.

Quando è preferibile rinviare Scenario del menu a discesa

Uno scenario in cui il rinvio può essere preferibile è quello dei menu a tendina. In genere, i menu a tendina non funzionano fino a quando tutte le dipendenze necessarie degli script non sono state caricate nel DOM. Se gli script dovessero essere ritardati, se il menu si trova above the fold su mobile e un utente tocca il menu a tendina prima di qualsiasi altra interazione con la pagina, il menu a tendina potrebbe impiegare due tocchi per aprirsi.

Un utente potrebbe pensare che il sito sia rotto/non funzionante se la tendina non si apre immediatamente, causando potenzialmente un aumento della frequenza di rimbalzo. In questo scenario, è preferibile Rinviare, anche se aumenterà il peso della pagina rispetto al ritardo, aumentando leggermente il tempo di caricamento.

L’esperienza dell’utente è fondamentale. Quindi il tempo di caricamento leggermente più lungo è preferibile in questo caso. Raccomando di impostare sempre il ritardo, quindi di testare il rinvio se il ritardo interrompe la funzionalità.

Il rinvio può essere applicato a più file per determinate funzionalità, oppure solo a un singolo file.

  • Prima dell’interazione: Quando l’utente visita inizialmente la pagina, il menu a discesa potrebbe non essere completamente funzionante se il suo comportamento dipende da JavaScript in ritardo.
  • Alla prima interazione: Supponendo che lo script della tendina sia tra quelli ritardati, la prima interazione dell’utente sulla pagina attiva il caricamento dello script. A seconda della velocità di caricamento ed esecuzione dello script, potrebbe esserci un piccolo ritardo prima che il menu a tendina diventi completamente interattivo.

Ottimizzare di più! (Gratuito)

https://wordpress.org/plugins/optimize-more/

Optimize More! e molti altri plugin possono applicare l’attributo Defer.

Attributo Async e attributi Defer

Uno degli unici scenari in cui l’attributo async è potenzialmente preferibile (e solo se si ha bisogno di metriche molto precise) è per gli script di analisi. Questo sacrificherà molto la velocità della pagina, a causa del peso e della lentezza degli script di analisi.

Tuttavia, gli script saranno caricati e attivi non appena scaricati e verranno scaricati più velocemente rispetto a delay o defer. Raccomanderei async solo per i siti ad alto traffico. Le metriche saranno comunque molto accurate quando si usa il delay (non usare mai il defer per gli script di analisi) e per ottenere la massima velocità della pagina, il delay è altamente raccomandato.

A mio parere, questo è l’attributo di caricamento meno rilevante e dovrebbe essere usato solo in scenari molto specifici, come gli script di analisi, dove sono necessarie metriche rigorosamente accurate. Se si è disposti a sacrificare leggermente l’accuratezza delle metriche di analisi, è sempre meglio ritardarle.

Se siete ancora interessati a testare la sincronizzazione dei file javascript, potete utilizzare questo plugin:

Javascript asincrono (gratuito)

https://wordpress.org/plugins/async-javascript/

Questo plugin può applicare l’attributo async o defer ai file JavaScript.

Rimuovere i tag di Noscript

Snippet di codice

Snippet fluenti (gratuito)

https://wordpress.org/plugins/easy-code-manager/

Aggiungere questa funzione a Fluent Snippets o a functions.php nelle impostazioni del tema:

funzione remove_noscript_tags($html) {

return preg_replace(‘/<noscript>(.*?)<\/noscript>/is’, ”, $html);

}

add_filter(‘the_content’, ‘remove_noscript_tags’); Questo rimuoverà i tag noscript inline a livello

globale.

Avvertenze

Questo interromperà la funzionalità per gli utenti che hanno disabilitato i javascript!

Elementi HTML di Lazyrender

Spiegazione:

https://wpspeedmatters.com/reduce-dom-size-in-wordpress/

https://perfmatters.io/docs/lazy-load-elements/

Si può dire al browser di rendere pigro il contenuto (o gli elementi) se non è necessario per la piega sopra descritta. È come il caricamento pigro delle immagini, ma per gli elementi HTML. È utile per ritardare il caricamento di elementi html come il piè di pagina (e altri oggetti sotto la piega) durante il caricamento iniziale della pagina.

Ritardo/Caricamento pigro di qualsiasi cosa (gratuito)

https://wordpress.org/plugins/delay-load-any-content/

Possibilità di caricare in modo pigro qualsiasi tipo di contenuto, allegando una piccola classe CSS all’elemento.

Perfmatters (a pagamento)

https://perfmatters.io/docs/lazy-load-elements/

Perfmatters dispone della funzionalità di rendering pigro degli elementi HTML.

Flyingpress (a pagamento)

https://flyingpress.com/
<!––nextpage––>
L’opzione migliore, soprattutto se si utilizza Elementor o Gutenberg. Dispone di un semplice toggle per rendere pigre le sezioni selezionate negli editor di pagebuilder, nonché di una casella nella sezione avanzata per aggiungere manualmente i selettori CSS per il rendering pigro.

Non combinare/concentrare i file CSS o JS

La concentrazione (combinazione di tutti i JavaScript caricati sul sito in un unico file) impedisce il funzionamento di alcune funzioni di ottimizzazione elencate in questa guida. Molti plugin per la cache e l’ottimizzazione forniscono una funzione di combinazione/concentrazione per i file js e css, che li combina in un unico file. Non attivatela!

La concentrazione di css e js è una funzione obsoleta che molti plugin di ottimizzazione ancora includono. La concentrazione è una funzionalità di ottimizzazione obsoleta, da evitare.

Caching di WordPress

Tutte le cache devono essere svuotate insieme per evitare cache stantie

Nota: per garantire che le modifiche ai contenuti o le ottimizzazioni si riflettano sul frontend, è necessario eliminare ciascuno di questi tre livelli di cache: Server Cache, Object Cache e CDN Cache. Lo svuotamento di tutti e tre i livelli assicura che il browser ottenga la versione corrente della pagina.

Lo spurgo della cache (gratuito)

https://wordpress.org/plugins/the-cache-purger/

Ottimo plugin per eliminare più cache contemporaneamente, ma non elimina ogni livello di cache. Se si utilizza la cache dei service worker, questa deve essere eliminata separatamente.

Livelli di cache

  1. Cache del browser: Si tratta di una cache lato client in cui il browser dell’utente memorizza i file statici (come CSS, JavaScript e immagini). Aiuta a ridurre i tempi di caricamento per le visite ripetute allo stesso sito.
  2. Cache del server: Di solito si riferisce ai meccanismi di caching sul lato server. Può includere vari tipi di strategie di caching implementate sul server.

La cache Varnish/NGINX FastCGI si trova su questo livello.

  1. Cache della pagina/applicazione: Questo è il livello di cache in cui si trova WordPress. È qui che entrano in gioco i plugin per la cache di WordPress, come Flyingpress, ecc. Quando un utente richiede una pagina, il server può servire questa versione in cache invece di generare dinamicamente la pagina ogni volta.
  2. Cache CDN: Le reti di distribuzione dei contenuti (CDN) memorizzano nella cache le risorse statiche del sito in più località geografiche. In questo modo si riduce la distanza tra l’utente e il server che contiene i dati del sito, con conseguenti tempi di caricamento più rapidi. Cloudflare, BunnyCDN, Stackpath, ecc.
  3. Cache degli oggetti (cache del database): Si tratta di memorizzare nella cache i risultati delle interrogazioni al database. Quando una query viene ripetuta (cosa che accade spesso nelle applicazioni dinamiche), il server può servire il risultato nella cache invece di interrogare nuovamente il database. È qui che entrano in gioco Memcached, Redis, SQL Lite, Docket Cache ecc.
  4. Cache PHP (OPcache): È specifica di PHP e prevede la memorizzazione nella cache del bytecode degli script precompilati. Ciò significa che PHP non deve analizzare e compilare gli script a ogni richiesta, velocizzando l’esecuzione di PHP.
  5. Service Worker Caching: si tratta di una forma di caching lato client controllata dai service worker, che sono script eseguiti in background nel browser. Possono gestire la cache delle risorse in modo più sofisticato, consentendo un supporto offline e un caricamento più rapido, intercettando le richieste di rete e servendo le risposte in cache.
  6. Caching DNS

Perché è necessario ogni livello di cache

Ogni livello di cache è complementare. Se implementati correttamente, tutti gli 8 livelli di cache possono essere implementati simultaneamente, senza conflitti, il che porta al massimo beneficio in termini di prestazioni.

Molti articoli sostengono che un CDN con cache HTML a pagina intera risolverà magicamente tutti i problemi di velocità delle pagine. Si tratta di un’idea sbagliata molto comune. Se ci si affida esclusivamente a un CDN per la cache, si lasciano sul tavolo molte opportunità di ottimizzazione delle prestazioni.

Un CDN non è in grado di avere sempre un rapporto di risposta alla cache del 100%. Semplicemente non è possibile. Anche quando una CDN mette in cache la maggior parte dei contenuti del sito (siamo generosi e diciamo un 85-90% di cache hit ratio per la cache della CDN), ci sono ancora dei risultati (e probabilmente molti di essi) per il server di origine (l’hardware fisico su cui è ospitato il sito).

Quando una connessione non raggiunge la cache della CDN, viene indirizzata direttamente al server di origine. Senza una configurazione corretta della cache sul server di origine, questi utenti avranno tempi di caricamento molto più lenti.

La cache dei service worker è la priorità più bassa, ma può avere notevoli vantaggi in termini di prestazioni se usata correttamente.

Strato di caching CDN

L’uso di un CDN accelera il vostro sito web perché combina il caching e l’hosting a più server per ridurre al minimo la latenza di rete.

  • Server multipli: La CDN ospita diverse applicazioni web server su ogni computer in tutto il mondo.
  • Caching: il CDN serve ogni pagina dalla cache del server web.
  • Latenza: L’utente del sito web viene indirizzato al server web più vicino quando la CDN ha memorizzato nella cache la pagina web.

Un’approfondita sezione sulle CDN è trattata più avanti nella guida.

Plugin per la cache di

pagina del livello di caching

dell’applicazione

Utilizzate un solo plugin per il caching delle pagine

L’uso di più plugin per la cache delle pagine provoca errori e conflitti con cache non sincronizzate.

Flyingpress (a pagamento)

https://flyingpress.com/

Il miglior plugin per la cache, il più completo, un buon supporto per gli sviluppatori. Gijo (lo sviluppatore) aggiunge nuove funzionalità con una certa frequenza, è una persona estremamente gentile e aiuterà a risolvere qualsiasi problema e a rilasciare patch abbastanza rapidamente. Consigliato.

WP Velocità della luce (gratuito)

https://wordpress.org/plugins/wp-speed-of-light/

Ottimo plugin gratuito per la cache. Combinando la versione gratuita di WP Speed of Light con altri plugin gratuiti presenti nella guida, si ottengono tutte le stesse funzionalità della versione premium.

Pacchetto di potenziamento della velocità (gratuito)

https://wordpress.org/plugins/speed-booster-pack/

Plugin per la cache piuttosto solido.

Rapid Cache (gratuito)

https://wordpress.org/plugins/rapid-cache/

Rapid Cache è un fork di Comet Cache che si concentra su nuove funzionalità, stabilità e semplicità.

Swift Performance (Free e Pro)

https://swiftperformance.io/ (Pro)

https://wordpress.org/plugins/swift-performance-lite/

(Gratuito)

Swift Performance ha un set di funzioni davvero interessante sulla carta, che include funzioni che altri plugin di caching e ottimizzazione non hanno. Tuttavia, personalmente ho avuto scarsi risultati utilizzandolo sui miei siti. Tuttavia, lo lascio nella guida per via delle sue caratteristiche uniche. Potrebbe avere prestazioni migliori su altre configurazioni di siti, quindi spero che qualcuno trovi utile questa menzione.

Cache delle richieste Ajax

Swift Performance può memorizzare nella cache le richieste Ajax

Plugin di caching per evitare WP-Rocket (a pagamento)

https://wp-rocket.me/

Non utilizzare WP Rocket. WP Rocket era un solido plugin per il caching delle pagine. Ora è pieno di bug e gli sviluppatori sono in modalità di manutenzione/rimozione delle funzionalità da circa 3 anni, con quasi nessuna nuova funzionalità e molte altre completamente rimosse o con la flessibilità delle funzionalità esistenti eliminata anziché aggiunta.

Il loro codice è pieno di bug legacy e la cadenza degli aggiornamenti è estremamente lenta. Ci sono oltre 700 problemi aperti sul loro github. È un plugin per la cache estremamente buggato.

WP Rocket rimuove costantemente le funzionalità, non le aggiunge. Hanno continuamente tolto funzioni utili, anche quelle necessarie come la minificazione dell’HTML. Quando WP Rocket aveva più funzioni, per me era il secondo migliore, mentre ora applica automaticamente alcune ottimizzazioni che non possono essere disattivate senza ulteriori inutili plugin

“””helper”””.

La continua rimozione di funzionalità significa che il plugin sta costantemente peggiorando.

Il miglior plugin a pagamento è Flyingpress, a mani basse.

Plugin WP Rocket Helper (gratuito)

https://github.com/wp-media/wp-rocket-helpers

Non dovrebbero essere necessari, la funzionalità dovrebbe essere integrata in WP Rocket, è ridicolo che siano necessari. Un esempio perfetto di come rimuovono costantemente funzionalità. Alcune delle funzionalità rimosse sono state spostate nei plugin di aiuto non necessari che ora sono necessari per recuperarle.

Plugin per la cache di pagina in HTML puro

Questi plugin per la cache delle pagine non hanno altre funzioni di ottimizzazione oltre alla cache delle pagine HTML (tutti gli altri plugin per la cache delle pagine di cui agli articoli precedenti hanno altre funzioni oltre alla cache delle pagine HTML.

Cache Master (gratuito)

https://wordpress.org/plugins/cache-master/

Supporta fino a 10 driver di cache come File, Redis, Memcache, Memcached, APC, APCu, WinCache, MySQL, SQLite e MongoDB.

Il coltellino svizzero del caching. Provateli tutti e scoprite quale tipo di caching funziona meglio per voi!

Cache Enabler (gratuito)

https://wordpress.org/plugins/cache-enabler/

Semplice plugin per la cache delle pagine, la cui unica funzione è la cache delle pagine HTML.

Impennata (gratis)

https://wordpress.org/plugins/surge/

Hyper Cache (gratuito)

https://wordpress.org/plugins/hyper-cache/

Hyper Cache è esclusivamente un plugin per la cache e non ha altre funzioni aggiuntive. È possibile combinarlo con gli altri plugin elencati in questa guida per ottenere tutte le stesse funzioni di ottimizzazione che si possono ottenere gratuitamente con Flyingpress.

Quale plugin per la cache dovrei scegliere?

La mia preferenza personale va a Flyingpress. Entrambe le opzioni sono valide e hanno prestazioni abbastanza simili.

Rimuovere le stringhe di query per aumentare la percentuale di hit della cache

https://wpspeedmatters.com/ignore-query-strings/

WP Stash (gratuito)

https://github.com/inpsyde/WP-Stash

https://inpsyde.com/en/wordpress-caching-system-wpstash/

Scaldacache (gratuito)

https://wordpress.org/plugins/cache-warmer/ Visita

le pagine del sito web per riscaldare (precaricare) la cache.

Eliminazione della cache proxy (gratuito)

https://wordpress.org/plugins/varnish-http-purge/

Il plugin Proxy Cache Purge invia una richiesta di arresto delle cache di NGINX o Varnish quando una pagina o un post viene modificato.

WPGraphQL Cache intelligente (gratuito)

https://wordpress.org/plugins/wpgraphql-smart-cache/

WPGraphQL Smart Cache fornisce il supporto per la cache e l’invalidazione della cache delle query WPGraphQL.

Cache di riposo

WP Rest Cache (gratuito)

https://wordpress.org/plugins/wp-rest-cache/

Questo plugin consente a WordPress di memorizzare nella cache le risposte dell’API REST, rendendole molto più veloci.

  • Caching di tutti i punti GET predefiniti dell’API REST di WordPress.
  • Caching degli endpoint dei tipi di post (personalizzati).
  • Caching degli endpoint di tassonomia (personalizzati).
  • Lavaggio automatico della cache se (alcuni dei suoi contenuti) vengono modificati.
  • Scarico manuale di tutte le cache.
  • Scarico manuale di cache specifiche.
  • Un contatore di quante volte è stata recuperata la cache.
  • Specificare dopo quanto tempo la cache deve essere interrotta.
  • Registrazione di endpoint personalizzati per la cache.
  • Rigenerazione automatica della cache.

Traduzioni Translation

Cache (gratuito)

https://wordpress.org/plugins/speed-up-translation/

Cache dei file delle lingue di traduzione (gratuito)

https://gist.github.com/Ruzgfpegk/4fd666180e40bb8a0e0608ad35fb5a88#cache-language-files

Cache di Gravatar

Cache Gravatar ottimale (gratuito)

https://wordpress.org/plugins/optimum-gravatar-cache/

Se avete bisogno di Gravatar, questo è un solido plugin per la cache dei Gravatar. Se non sono necessarie, si consiglia vivamente di rimuoverle.

FV Gravatar Cache (gratuito)

https://wordpress.org/plugins/fv-gravatar-cache/

Leggero plugin per la cache di gravatar

Caching delle immagini Immagini in cache (gratuito)

https://wordpress.org/plugins/cache-images/

Cache Images è un plugin che offre agli utenti la possibilità di caricare lateralmente sul proprio sito le immagini ospitate su altri domini. Le immagini caricate lateralmente vengono aggiunte alla libreria multimediale di WordPress, in modo da poter utilizzare tutti gli strumenti relativi alle immagini che si possono utilizzare con le immagini caricate tramite WordPress. L’immagine verrà aggiunta come allegato al primo post in cui viene trovata, e ogni

Il post in cui si verifica l’URL originale verrà aggiornato con un nuovo URL. Gli utenti possono scegliere da quali domini caricare le immagini, compresi quelli di Blogger.

Utilizza AJAX, il che significa che è possibile caricare in sideload un gran numero di immagini anche su server lenti.

Widget Output Cache (gratuito)

https://wordpress.org/plugins/widget-output-cache/

Utilizza l’output buffering di PHP per estrarre l’output del widget e memorizzarlo nei transienti di WordPress per un recupero più rapido. Aggiunge anche una casella di controllo ai controlli dei widget per escluderli dalla cache.

Caching delle traduzioni (gratuito)

https://github.com/inpsyde/translation-cache

Deve essere combinato con la cache degli oggetti. Consente di memorizzare nella cache le traduzioni di WordPress.

Menu Cache Docket Cache (gratuito)

https://wordpress.org/plugins/docket-cache/

Docket Cache dispone di una funzionalità per memorizzare nella cache i menu all’interno del pannello di configurazione.

Caching dei menu (gratuito)

https://wordpress.org/plugins/menu-caching/

Questo plugin memorizza nella cache l’HTML del menu e mostra la versione memorizzata nella cache ai visitatori, risparmiando al database un numero eccessivo di chiamate non necessarie. Compatibile con i plugin di caching della pagina (Flyingpress, WP Speed of Light, ecc.).

WP Nav Menu Cache (gratuito)

https://wordpress.org/plugins/wp-nav-menu-cache/

Cache WordPress Nav Menus

WP-Admin Caching

WP-Admin Cache (gratuito)

https://wordpress.org/plugins/wp-admin-cache/

Dovrete abilitarla dopo l’installazione/attivazione, andare alle impostazioni della cache dell’amministratore sotto impostazioni>wp admin cache e premere su tutti per abilitarla per l’intera dashboard dell’amministratore, quindi salvare le impostazioni. Potrebbe essere necessario cancellare la cache dopo l’installazione di un nuovo plugin, se lo si estrae da un file zip tramite un plugin per la gestione dei file, oppure non apparirà nell’elenco a causa di una cache non aggiornata che non ha attivato la cache.

Cache delle richieste Ajax con Varnish

https://guides.wp-bullet.com/how-to-cache-ajax-get-requests-with-varnish-4/

Con Swift Performance

https://swiftperformance.io/blog/how-to-cache-ajax-get-requests-with-swift-performance-pro/

Caching dei frammenti per siti altamente dinamici Spiegazione

https://seravo.com/en/speed-up-your-site-with-fragment-caching/

Quando non è possibile memorizzare nella cache l’intera pagina, entra in gioco il caching dei frammenti. In questo caso vengono memorizzate nella cache porzioni specifiche di una pagina, anziché l’intera pagina.

W3 Total Cache (a pagamento)

https://wordpress.org/plugins/w3-total-cache/ W3

Total Cache ha una funzione di caching dei frammenti.

Borlabs Cache (gratuito)

https://borlabs.io/borlabs-cache/

La versione gratuita ha una limitazione al precaricamento della cache. Utilizzate Cache Warmer per non dover acquistare una licenza (la pagina contiene la versione gratuita, basta scorrere verso il basso).

Scaldacache (gratuito)

https://wordpress.org/plugins/cache-warmer/

Un simpatico workaround per il precaricamento della cache (cache warming) per il plugin Borlabs. Invece di acquistare una licenza, è sufficiente abbinarlo a Cache Warmer.

Fragment Cache Github (gratuito)

https://github.com/Rarst/fragment-cache

Alternative alla cache dei frammenti No Cache Ajax Widgets (gratis)

https://wordpress.org/plugins/no-cache-ajax-widgets/

Con No Cache AJAX Widgets, è sufficiente trascinare e rilasciare i nuovi widget AJAX in una o più aree widget, aggiungere i contenuti e il gioco è fatto. Non dovrete più modificare i file del tema, functions.php, la cache frammentata, mfunc e altri o escludere un’intera pagina dalla cache.

Contenuto No Cache (gratuito)

https://wordpress.org/plugins/content-no-cache/

Questo plugin consente di escludere una parte della pagina dalla cache. Ciò consente di mantenere attiva la cache su siti altamente dinamici.

Blocchi di cache (gratuito)

https://github.com/WordPressUtilities/wpucacheblocks

Altre opzioni in arrivo

Metodi di caching fai da te

https://www.smashingmagazine.com/2012/06/diy-caching-methods-wordpress/

WP Stash (gratuito)

https://github.com/inpsyde/WP-Stash

https://inpsyde.com/en/wordpress-caching-system-wpstash/

WP Cache Remember (gratuito)

https://github.com/stevegrunwell/wp-cache-remember

WP Cache Remember è un semplice plugin per la cache di WordPress che introduce nuove e comode funzioni di caching.

Caching del browser

Articolo di Online Media Masters

https://onlinemediamasters.com/serve-static-assets-with-an-efficient-cache-policy-wordpress/

PHP APCu Caching

Atec Cache APCu (gratuito)

https://wordpress.org/plugins/atec-cache-apcu/

Oggetto APCu di PHP e cache della pagina

Caching degli oggetti

Poiché questo aspetto è stato approfondito all’inizio della guida, mi limiterò ad aggregare qui i link alle risorse per la cache degli oggetti, senza ulteriori spiegazioni.

Redis Cache (gratuito)

https://wordpress.org/plugins/redis-cache/

Docket Cache (gratuito)

https://wordpress.org/plugins/docket-cache/

SQL Lite Object Cache (gratuito)

https://wordpress.org/plugins/sqlite-object-cache/

Memcache (gratuito)

https://wordpress.org/plugins/object-cache-4-everyone/

Spurgo della cache del server Varnish e Nginx

Eliminazione della cache proxy (gratuito)

https://wordpress.org/plugins/varnish-http-purge/

Elimina automaticamente le cache di varnish/nginx quando il contenuto del sito viene aggiornato da WordPress. Il plugin invia al servizio di cache proxy l’URL della pagina, richiedendo la cancellazione della cache.

Lo spurgo della cache (gratuito)

https://wordpress.org/plugins/the-cache-purger/

Ottimo plugin per eliminare più cache contemporaneamente, ma non elimina ogni livello di cache. Se si utilizza la cache dei service worker, questa deve essere eliminata separatamente.

PHP OpCache (gratuito)

https://tideways.com/profiler/blog/fine-tune-your-opcache-configuration-to-avoid-caching-suprise s

https://gist.github.com/rohankhudedev/1a9c0a3c7fb375f295f9fc11aeb116fe

Caching del service worker

https://philipwalton.com/articles/smaller-html-payloads-with-service-workers/

https://vimeo.com/362260166

Da approfondire presto

Caching DNS

Cloudflare (Free e Pro)

Se si imposta Cloudflare come provider DNS, esso fornisce il caching DNS.

Statistiche della cache

Atec Cache Info (gratuito)

https://wordpress.org/plugins/atec-cache-info/

Questo plugin fornisce informazioni dettagliate sullo stato e sulle statistiche delle funzioni di cache di PHP, ovvero OPcache, WP-object-cache, JIT, APCu, Memcached, Redis e SQLite- object-cache.

Caching degli oggetti

Che cos’è la cache degli oggetti?

La cache degli oggetti memorizza i dati di accesso frequente dal database. Quando questi dati sono nuovamente necessari, possono essere recuperati dalla cache invece di interrogare il database. In questo modo si riduce il numero di interrogazioni al database, diminuendo il carico sul server del database e migliorando i tempi di risposta.

A differenza dei metodi di caching precedenti, che sono cache a livello di WordPress, Object Caching è una cache di database a livello di server MySQL/MariaDB. Questi plugin si agganciano a un servizio PHP se utilizzano Redis o Memcached. Docket Cache, invece, utilizza un metodo leggermente meno performante per la cache degli oggetti, creando una cache PHP a livello di WordPress per ottenere la funzionalità di cache del database.

Redis o Memcached sono i metodi di cache degli oggetti più performanti, poiché vengono eseguiti nella RAM, quindi sono da preferire se possibile. La maggior parte dei siti dovrebbe essere in grado di sfruttare Redis con il plugin gratuito Redis Object Cache, purché l’estensione Redis sia abilitata in PHP.

Docket Cache (gratuito)

https://wordpress.org/plugins/docket-cache/

La cache Docket può essere utilizzata quando non è possibile installare Redis (alcuni piani di hosting condiviso non lo prevedono, ad esempio). Docket cache è una cache a oggetti, proprio come Redis, ma funziona a livello di WordPress e non a livello di server. In molti casi può avere prestazioni migliori di Redis.

Redis (gratuito)

Guida all’ottimizzazione delle prestazioni di Dragonfly Redis

https://www.dragonflydb.io/guides/redis-memory-and-performance-optimization

Articolo approfondito sull’ottimizzazione delle prestazioni di Redis.

Informazioni generali su Redis per WordPress

Redis è anche un servizio a livello di server, per il quale è necessario un plugin WordPress da utilizzare come connettore per il servizio redis a livello di server. Affinché il plugin funzioni, è necessario che REdis sia installato sul vostro VPS/da parte del vostro provider di hosting.

Redis Object Cache (gratuito)

https://wordpress.org/plugins/redis-cache/

Redis Object Cache sviluppato da Till Krüss.

Nota

Se il servizio Redis non è attivo a livello di server, questo plugin non farà assolutamente nulla. Il plugin mostrerà che non è in grado di connettersi al servizio nella pagina delle impostazioni del plugin, quindi assicuratevi che possa connettersi quando premete il pulsante nella pagina delle impostazioni per attivare la connessione.

Assicurarsi che la porta di Redis (porta #: 6379) su cui è impostato Redis a livello di server sia quella predefinita utilizzata dal plugin (nella maggior parte dei casi è predefinita la porta utilizzata dal plugin), altrimenti il plugin non sarà in grado di connettersi con il servizio Redis.

È inoltre necessario abilitare l’addon Redis per PHP, che è una dipendenza necessaria per attivare la cache di Redis.

Una volta abilitata la connessione nelle impostazioni del plugin Redis, la cache del database Redis è già configurata e memorizza le chiamate al database. Non sono necessarie altre configurazioni e il gioco è fatto. Facile.

Una volta configurato correttamente, visitando le impostazioni del plugin Redis si vedrà l’opzione flush cache. Il numero di query del database in Query Monitor (se è attivo a scopo di diagnosi) diminuirà significativamente dopo l’installazione e la configurazione di Redis e si noterà immediatamente un miglioramento della velocità del sito.

Non ho notato alcuna differenza di prestazioni tra la versione gratuita del plugin e quella pro. Ho testato la versione pro con la funzione di compressione zlib abilitata (che è una funzione solo pro, e per abilitare la compressione zlib sono necessari ulteriori

configurazione a livello di server), ma se il vostro sito è fortemente dipendente dal database (un esempio potrebbe essere un grande sito di e-commerce), potreste scoprire che la versione pro migliora ulteriormente le prestazioni. NON È DETTO. Consiglio comunque di provare la versione pro, che potrebbe essere adatta al vostro caso d’uso.

Se volete testare la versione Pro, acquistate una licenza Pro e richiedete il rimborso se non aggiunge ulteriori prestazioni.

Google Pagespeed Insight: ecco cosa c'è da sapere

Anche con Redis, si desidera ridurre al minimo le chiamate al database. Riducetele al minimo assoluto rimuovendo le parti inutili da vecchi plugin e temi, così come disabilitando il caricamento automatico delle opzioni del database (che non devono essere caricate automaticamente, ovviamente) tramite Advanced Database Cleaner e avendo il minor numero possibile di plugin attivi per realizzare qualsiasi funzionalità vogliate implementare. Assicurarsi di controllare che non si sia rotto nulla impedendo il caricamento automatico di alcune opzioni.

Se avete bisogno di alcuni plugin che hanno funzionalità solo sul backend, assicuratevi di disabilitarli sul frontend con il gestore di plugin di Asset Cleanup. Più i plugin sono leggeri, meglio è. In questo modo si riduce il numero di interrogazioni del database sul frontend.

Atec Cache APCu (gratuito)

https://wordpress.org/plugins/atec-cache-apcu/

Oggetto APCu di PHP e cache della pagina

Memcached (gratuito)

Cache degli oggetti 4 Tutti

https://wordpress.org/plugins/object-cache-4-everyone/

Connettore della cache degli oggetti basato su Memcached. Solo per siti con Memcached abilitato a livello di server.

SQLite Object Cache (gratuito)

https://wordpress.org/plugins/sqlite-object-cache/

Cache persistente degli oggetti Questo utilizza l’estensione SQLite3 di php, ampiamente disponibile (assicuratevi che sia abilitata sul vostro server, altrimenti questo plugin non funzionerà). Molti servizi di hosting la offrono.

Se il servizio di hosting non fornisce memcached o redis, si può usare questo plugin per ottenere i vantaggi della cache degli oggetti.

SQLite Object Caching: SQLite è un database leggero, basato su disco. Utilizzarlo per la cache degli oggetti può essere vantaggioso se non si ha accesso a soluzioni di cache più avanzate o se il sito è relativamente piccolo e non richiede un’elevata scalabilità. Tuttavia, potrebbe non offrire gli stessi vantaggi in termini di prestazioni di soluzioni in-memory come Redis o Memcached.

Quale tipo di cache degli oggetti è migliore per il mio sito?

Caching degli oggetti PHP (ad esempio, Docket Cache): La cache degli oggetti PHP in WordPress, come Docket Cache, può migliorare le prestazioni mettendo in cache l’opcode compilato degli script PHP. Ciò può ridurre il tempo necessario per caricare ed eseguire gli script PHP. Questo tipo di cache è particolarmente utile se il vostro server non ha la cache degli opcode abilitata a livello di PHP (ad esempio, utilizzando OPcache).

Redis: Redis è un archivio avanzato di valori-chiave noto per le sue prestazioni e la sua flessibilità. Può gestire tipi di dati complessi e offre funzionalità come la replica e la persistenza. Se il vostro sito WordPress ha un traffico elevato e deve gestire query complesse o grandi insiemi di dati, Redis potrebbe essere una buona scelta.

Memcached: Memcached è un sistema di caching di oggetti in memoria distribuita ad alte prestazioni, spesso utilizzato per velocizzare le applicazioni web dinamiche alleggerendo il carico del database. È più semplice di Redis ed è progettato per la velocità. È un’ottima scelta per la memorizzazione nella cache di dati semplici e per accelerare i carichi di lavoro in lettura.

Come capire quale sia la cache degli oggetti migliore per voi

Dopo i test, SQLite Object Cache ha le peggiori prestazioni di cache, ma non è detto. Docket Cache ha prestazioni migliori di Redis in molti casi, tuttavia Redis può essere preferibile per siti ad alto traffico, poiché la cache è conservata nella RAM anziché su disco. Tuttavia, poiché Docket Cache è implementato in modo diverso da Redis, anche se i dati sono memorizzati nella cache su disco, in molti casi può superare Redis. Testateli entrambi e scegliete quello che funziona meglio.

Caching del server

NGINX PHP-FPM Cache (gratuito)

NGINX è dotato di un metodo di caching del server nativo chiamato cache PHP-FPM/FastCGI. Questo è il metodo di cache del server principale utilizzato dai siti configurati per funzionare sul server web NGINX.

Cache del server Apache (gratuita)

https://httpd.apache.org/docs/2.4/caching.html

Documentazione ufficiale sulla cache del server Apache

Articolo LoadForge

https://loadforge.com/guides/leveraging-caching-to-accelerate-apache-server-response-times

Solido articolo sulla cache del server Apache.

PHP OpCache

Configurazione di OpCache (gratuito)

https://loadforge.com/guides/maximizing-your-php-applications-speed-with-opcache-optimizatio n

Un solido articolo che spiega come funziona OpCache a livello superficiale e spiega come funzionano le impostazioni configurabili di OpCache e come modificarle nel file di configurazione PHP.ini.

Come funziona OpCache Articolo di Npopov

https://www.npopov.com/2021/10/13/How-opcache-works.html

Articolo tecnico estremamente approfondito sul funzionamento interno di PHP OpCache. Non tratta della configurazione di OpCache e non è un’informazione necessaria per configurare correttamente OpCache per migliorare le prestazioni di PHP. Non si tratta di informazioni critiche, ma di un’ottima spiegazione approfondita per i curiosi.

Caching di MySQL

Caching di query

SQL

Come la cache delle query SQL si abbina alla cache degli oggetti Diversi livelli di cache

ProxySQL (cache delle query)

Ruolo

Mette in cache i risultati delle query SQL a livello di proxy del database. In questo modo si riduce il carico sul server MySQL/MariaDB, servendo i risultati delle query nella cache direttamente da ProxySQL senza interrogare il database.

Caso d’uso

Particolarmente utile per i carichi di lavoro ad alta intensità di lettura in cui alcune query

vengono eseguite frequentemente con gli stessi parametri, come ad esempio il recupero di post, commenti o dati utente in WordPress.

Caching degli oggetti

Ruolo

Mette in cache oggetti e strutture di dati in memoria, come i risultati di query di database costose, transitori e altri dati non SQL. In WordPress, questa funzione è spesso utilizzata per memorizzare i risultati di query complesse, dati di sessione e altri elementi che non cambiano frequentemente.

Caso d’uso

Ideale per memorizzare nella cache l’output di operazioni costose come WP_Query, transienti e chiamate API. Redis è tipicamente utilizzato per la cache degli oggetti, mentre Docket Cache è un plugin specializzato nella cache degli oggetti per WordPress che può funzionare con Redis o da solo.

Vantaggi della cache complementare Riduzione del carico del database

Con ProxySQL che memorizza nella cache i risultati delle query SQL e Redis/Docket Cache che memorizza i risultati di operazioni e oggetti complessi, i livelli di cache combinati riducono il numero di richieste che colpiscono il database. Ciò contribuisce a ridurre il carico del database e a migliorare i tempi di risposta.

Scalabilità migliorata

Con l’aumento del traffico, la presenza di risultati di query SQL memorizzati nella cache da ProxySQL e di dati di oggetti memorizzati nella cache da Redis o Docket Cache consente al sistema di scalare in modo più efficiente. Ogni livello di cache gestisce un aspetto diverso del recupero dei dati, assicurando che i livelli del database e dell’applicazione non vengano sovraccaricati.

Tempi di risposta più rapidi

La combinazione di ProxySQL e Redis/Docket Cache garantisce che i dati a cui si accede di frequente vengano serviti dalla memoria o dalla cache proxy, con conseguenti tempi di risposta più rapidi per gli utenti finali.

Caching delle query ProxySQL (gratuito)

https://proxysql.com/

La cache delle query di MySQL è stata deprecata; ora si consiglia di utilizzare ProxySQL Cache per la cache delle query.

Articolo sulla configurazione completa di Shurutech

https://shurutech.com/comprehensive-step-by-step-proxysql-guide/

Guida completa passo passo per l’installazione e la configurazione di ProxySQL.

Viste materializzate

Cosa sono le viste materializzate

in MySQL sono essenzialmente risultati precalcolati e memorizzati di una query. A differenza delle viste standard, che sono tabelle virtuali e non memorizzano fisicamente i dati, le viste materializzate memorizzano il risultato della query fisicamente nel database. Ciò consente al database di recuperare rapidamente i dati senza ricalcolare il risultato ogni volta che la vista viene interrogata.

Vantaggi dell’uso delle viste materializzate Articolo di Stella del database

https://www.databasestar.com/sql-views/

Articolo sul raffreddamento di Dude

https://www.coding-dude.com/wp/databases/creating-mysql-materialized-views/

Da Articolo doppio

https://fromdual.com/mysql-materialized-views

Risultati precalcolati

Esecuzione più rapida delle query

Poiché i risultati delle query complesse sono precalcolati e memorizzati, l’interrogazione di una vista materializzata può essere molto più veloce dell’esecuzione della query originale, soprattutto per quanto riguarda join, aggregazioni o sottoquery complesse.

Offloading del calcolo

Precalcolando e memorizzando i risultati, le viste materializzate riducono il carico computazionale del database durante l’esecuzione, il che può essere particolarmente vantaggioso per i grandi insiemi di dati o per le query complesse.

Riduzione del carico del database

Combinazione con ProxySQL

Le viste materializzate possono ridurre la frequenza e la complessità delle query che ProxySQL deve memorizzare nella cache o instradare. ProxySQL può memorizzare nella cache i risultati delle interrogazioni contro le viste materializzate, ottenendo tempi di risposta ancora più rapidi e riducendo il carico del database.

Complementare alla cache degli oggetti

Mentre la cache degli oggetti (come Redis o Docket Cache) memorizza oggetti specifici o risultati di query, le viste materializzate memorizzano dati più complessi e precalcolati a cui è possibile accedere rapidamente. Ciò può ridurre la necessità di alcuni tipi di cache di oggetti o rendere gli oggetti in cache più piccoli e più efficienti.

Consistenza e freschezza dei dati

Aggiornamento periodico

Le viste materializzate possono essere aggiornate periodicamente (ad esempio, giornalmente, ogni ora) o manualmente, a seconda dei requisiti dell’applicazione. Ciò consente di bilanciare i miglioramenti delle prestazioni con la necessità di avere dati aggiornati.

Aggiornamento basato su trigger

È possibile impostare trigger o procedure per aggiornare automaticamente le viste materializzate quando i dati sottostanti cambiano, garantendo che i dati siano relativamente freschi senza dover aggiornare manualmente le viste.

Come creare una vista materializzata aggiornata automaticamente Articolo di Hitesh Gondalia

https://hiteshgondalia.wordpress.com/manage-a-fast-refreshable-materialized-view/

Fantastico articolo lungo e approfondito su come creare una veloce vista materializzata aggiornata automaticamente.

Come combinare le viste materializzate con altre strategie di caching

Viste materializzate e ProxySQL

Caching delle query

ProxySQL può memorizzare nella cache le query che accedono alle viste materializzate. Poiché le viste materializzate forniscono risultati precalcolati, la combinazione della cache di ProxySQL e delle viste materializzate può ridurre significativamente i tempi di esecuzione delle query e il carico sul database.

Instradamento delle query

Se si hanno diverse viste materializzate per diversi tipi di query, ProxySQL può indirizzare le query alla vista appropriata in base a regole predefinite, ottimizzando le prestazioni delle query.

Viste materializzate e cache Redis/Docket

Caching degli oggetti

Per le parti dell’applicazione in cui è necessario memorizzare nella cache pezzi specifici di dati (come i risultati di una query o di un calcolo costoso), Redis o Docket Cache possono integrare le viste materializzate. Ad esempio, è possibile memorizzare nella cache il risultato di una query su una vista materializzata in Redis, garantendo tempi di accesso ancora più rapidi.

Approccio ibrido

Utilizzate le viste materializzate per i dataset complessi e ad accesso frequente e Redis/Docket Cache per altri dati transitori e non relazionali. Questo approccio può ottimizzare le prestazioni utilizzando lo strumento giusto per ogni tipo di dati.

Viste materializzate con la cache della pagina

Riduzione della generazione di contenuti dinamici

Utilizzando le viste materializzate, è possibile ridurre lo sforzo computazionale necessario per generare contenuti dinamici. Questo può, a sua volta, ridurre la dipendenza dai plugin di caching delle pagine, poiché le pagine possono essere generate più rapidamente dalle viste materializzate.

Considerazioni sulla manutenzione e sull’aggiornamento Aggiornamento automatico

Impostate le viste materializzate in modo che si aggiornino automaticamente in base alle esigenze dell’applicazione. Assicuratevi che la frequenza di aggiornamento sia in linea con la

frequenza di modifica dei dati sottostanti.

Aggiornamento manuale per le viste critiche

Per le visualizzazioni che alimentano parti critiche dell’applicazione, considerare l’aggiornamento manuale nelle ore non di punta o quando determinati aggiornamenti dei dati vengono inviati al database.

Sfide potenziali

Spazio su disco

Le viste materializzate consumano ulteriore spazio su disco, poiché memorizzano il risultato della query fisicamente nel database. Assicuratevi di disporre di spazio sufficiente, soprattutto se le viste coinvolgono grandi insiemi di dati.

Scambi di opinioni

A seconda della frequenza di aggiornamento delle viste materializzate, potrebbe esserci un compromesso tra prestazioni e freschezza dei dati. È essenziale determinare il giusto equilibrio per la propria applicazione.

Complessità

La combinazione di viste materializzate con più livelli di cache aggiunge complessità all’architettura. Una gestione, un monitoraggio e una manutenzione adeguati sono fondamentali per garantire che tutti i livelli lavorino insieme in modo armonioso.

Caching Varnish (gratuito)

Articolo di Cloudways

https://www.cloudways.com/blog/configure-varnish-cache/

Articolo solido su come installare e configurare di base la cache di Varnish.

Configurazione avanzata di Varnish

C’è una sezione approfondita sulla configurazione avanzata di Varnish più avanti nella guida, nella sezione Ottimizzazione e configurazione del server.

https://docs.google.com/document/d/1ncQcxnD-CxDk4h01QYyrlOh1lEYDS-DV/#heading=h.c5f vp0ce1bdq

HAProxy Caching

HAProxy Caching è trattato più avanti nella guida, nella sezione dedicata al bilanciamento del carico, con esempi di configurazione avanzata.

https://docs.google.com/document/d/1ncQcxnD-CxDk4h01QYyrlOh1lEYDS-DV/#heading=h.5yf vglokkwc0

Cache proxy Squid

Perché usare due cache proxy separate? Ruoli diversi in un’architettura complessa Squid per il forward proxy (contenuto esterno)

Se la vostra architettura richiede la memorizzazione nella cache di contenuti web esterni (ad esempio, utenti che accedono frequentemente a Internet), Squid può essere utilizzato come forward proxy per ridurre la larghezza di banda e migliorare la velocità di accesso a queste richieste.

Varnish per il proxy inverso (contenuto interno)

Allo stesso tempo, Varnish può essere utilizzato come reverse proxy per memorizzare nella cache e accelerare i contenuti serviti dai server web interni, garantendo una consegna rapida delle applicazioni o dei siti web agli utenti.

Casi d’uso di Squid Cache

Squid viene solitamente utilizzato come proxy di cache in avanti per i contenuti web o come proxy inverso per i contenuti provenienti da altri server. Se usato insieme a Varnish, Squid può gestire i contenuti che Varnish non mette in cache in modo efficace (ad esempio, file molto grandi, applicazioni web specifiche).

Squid Cache può essere utilizzato insieme alla cache PHP-FPM di NGINX, alla cache di HAProxy, alla cache di Apache, alla cache generale del bilanciatore di carico, alla cache di PHP OpCache e alla cache di Varnish, ma ci sono alcune considerazioni importanti per garantire che questa configurazione complessa migliori le prestazioni piuttosto che introdurre ridondanze o conflitti.

Considerazioni chiave Ridondanza del livello di cache

Con più livelli di cache, come Squid, Varnish e HAProxy, potrebbero verificarsi sovrapposizioni

di funzionalità. Ogni livello di cache deve essere configurato con attenzione per evitare una cache ridondante, che può portare a una complessità non necessaria e a un potenziale degrado delle prestazioni.

Gerarchia della cache del server

Definire una chiara gerarchia dei livelli di cache. In genere, un’applicazione web prevede la cache a livello di server (ad esempio, PHP OpCache, PHP-FPM), reverse proxy (ad esempio, Varnish, Nginx) e content delivery (ad esempio, Squid, HAProxy). Assicuratevi che ogni livello abbia uno scopo distinto:

PHP OpCache

Ottimizza l’esecuzione del codice PHP memorizzando il bytecode degli script precompilati.

Caching Nginx/Apache

Esegue il caching di base a livello di server web.

NGINX PHP-FPM Caching

Gestisce la cache a livello di FastCGI.

Caching Varnish

Acceleratore HTTP ad alte prestazioni.

Cache Squid

In genere si usa per la cache di contenuti esterni (ad esempio, la cache proxy), ma può anche memorizzare contenuti dinamici con un’attenta configurazione.

HAProxy Caching

Bilanciatore di carico con funzionalità di caching opzionale

Caching generale del bilanciatore di carico

Bilancia il traffico con funzionalità di caching.

Coerenza dei contenuti

Con più cache, la gestione dell’invalidazione della cache e la garanzia della coerenza dei contenuti possono diventare un problema. È necessario coordinare l’eliminazione della cache su tutti i livelli per evitare di servire contenuti stantii.

Spese generali di rete

L’introduzione di Squid come livello aggiuntivo aggiunge un altro punto di comunicazione di rete. I guadagni in termini di prestazioni devono essere superiori alla latenza e alla complessità aggiunte.

Tipo di traffico

Considerate il tipo di traffico e di contenuti serviti. Ad esempio, se la maggior parte dei contenuti è statica e già ben memorizzata nella cache da Varnish e HAProxy, l’aggiunta di Squid potrebbe non fornire vantaggi aggiuntivi significativi.

Configurazione potenziale

  • Squid può essere posizionato ai margini, fungendo da cache di primo livello per le richieste prima che raggiungano il bilanciatore di carico o il reverse proxy (ad esempio, Varnish). Questo potrebbe essere utile per la cache di risorse statiche o di contenuti esterni provenienti da fonti di terze parti.
  • Varnish e HAProxy possono gestire la cache dei contenuti dinamici e distribuire il traffico ai server web.
  • Nginx/Apache gestirebbe la cache a livello di server e passerebbe le richieste al livello applicativo (PHP-FPM) dopo aver controllato la cache.
  • PHP OpCache ottimizza l’esecuzione del codice PHP senza influenzare il resto dei livelli di cache.

Spurgo della cache

Caching dei livelli di WordPress

Lo spurgo della cache (gratuito)

https://wordpress.org/plugins/the-cache-purger/

Questo plugin tenta di eliminare tutti i metodi di cache lato server.

Questo include i plugin di caching più comuni, alcune cache basate sull’hosting, la maggior parte delle cache basate sul server, le cache di oggetti integrate in WordPress e anche le semplici cache basate sui file.

Eliminazione automatica della cache incorporata per le seguenti cache:

  • Plugin
    • Ottimizzatore SiteGround, Nginx Helper, LiteSpeed Cache, Cachify, Autoptimize, Fast Velocity Minify, WP Rocket, Swift Performance,

Comet Cache, Hummingbird, WP Fastest Cache, WP Super Cache, W3 Total Cache, Hyper Cache, WP Optimize, Cache Enabler, NitroPack

  • Hosting / CDN
    • WPEngine, Kinsta, GoDaddy Managed WordPress, Pantheon, Bluehost, Cloudways, Siteground, RunCloud
  • Basato su server
    • PHP FPM, Zend Opcache, APC e APCU, WinCache, modulo Pagespeed, nginx, cache di file statici, Redis, Memcache, Memcached, Varnish
  • Caching degli oggetti incorporato in WordPress e caching persistente degli oggetti

Super Light Cache Buster (gratuito)

https://wordpress.org/plugins/super-light-cache-buster/

Questo semplice plugin aggiunge numeri di versione casuali alle risorse CSS e JS per evitare che la cache del browser intralci la vostra felicità.

Caching del server

Eliminazione della cache proxy (gratuito)

https://wordpress.org/plugins/varnish-http-purge/

Cancella le cache di Varnish e NGINX

Riscaldamento della cache

Warm Cache (gratuito)

https://wordpress.org/plugins/warm-cache/

Esegue la scansione delle pagine del sito web in base a una sitemap XML. Se si dispone di un plugin per la cache, questo manterrà la cache calda.

Scaldacache (gratuito)

https://wordpress.org/plugins/cache-warmer/

Visita le pagine del sito web per riscaldare (creare) la cache, se sono state configurate soluzioni di caching.

Perfmatters (a pagamento)

https://perfmatters.io/

Le mie impostazioni:

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

Disabilita i pinback automatici

Disabilitare REST Afil

Disattivare le freccette

Disattivare Google Maps

Disattivare i caratteri Goo9le

Disattivare la forza della password

Contatore

Disattivare i commenti

Disattivare il battito cardiaco

Google Pagespeed Insight: ecco cosa c'è da sapere

Disattivare le Emoji

Disabilitare gli incorporamenti

Stringhe di query Ramove

Disattivare XI\/IL- RPC

Rnmove jQuery Migrare

Nascondere la versione di WP

Rimuovere il collegamento wlwmanifest

Rimuovere il collegamento RSD

Collegamento breve Remeve

feed RSS

Disabilitare i Pingback di 5eIf

Google Pagespeed Insight: ecco cosa c'è da sapere

Dovreste sempre preconnettere e prefetchare tutti i domini esterni a cui il vostro sito si collega. Questo include siti come google tag manager, google analytics, facebook o qualsiasi altro sito esterno a cui il vostro sito si collega.

È possibile identificare facilmente questi domini esterni guardando il grafico a cascata in gtmetrix e osservando i domini elencati, è possibile individuare facilmente i siti a cui il sito si connette.

Pulizia delle risorse (gratuita e pro)

Asset Cleanup è un plugin di ottimizzazione essenziale. https://wordpress.org/plugins/wp-asset-clean-up/ (gratuito)

https://www.gabelivan.com/items/wp-asset-cleanup-pro/ (Pro)

Modalità test

Google Pagespeed Insight: ecco cosa c'è da sapere

Abilitate la modalità di prova se state ottimizzando un sito live, in modo che solo l’account utente amministratore possa vedere le modifiche. Oppure installate, migrate il sito su un sito di staging o di sviluppo locale di wordpress, quindi ottimizzate senza abilitare la modalità di test. Altrimenti ci si deve preoccupare di rompere il frontend di un sito che ha già utenti e traffico esistenti.

Pulizia delle risorse Disabilitare i file CSS e JS nel metabox di pulizia delle risorse nelle pagine:

Google Pagespeed Insight: ecco cosa c'è da sapere

È necessario disabilitare tutti i file js e css non necessari dei plugin che vengono caricati su una pagina, se non si desidera disabilitarli completamente con il gestore di plugin, senza interrompere la pagina.

Google Pagespeed Insight: ecco cosa c'è da sapere

Precarico dei file di pulizia delle risorse nel metabox di pulizia delle risorse alle pagine:

Google Pagespeed Insight: ecco cosa c'è da sapere

Si dovrebbero precaricare solo i file css che si desidera caricare per primi e che sono fondamentali per la resa della pagina.

Alcuni file necessitano di un precaricamento di base, altri possono essere precaricati in modo asincrono, altri ancora non possono essere precaricati affatto per non interrompere la pagina. È necessario svuotare le cache e testare nuovamente tutte le funzionalità relative al file sul frontend per assicurarsi di non aver introdotto un nuovo bug. Ad esempio, ho spostato il file dell’icona delle linee semplici da un plugin chiamato Woolentor. Questo ha danneggiato la funzionalità ajax di aggiunta al carrello dell’icona dell’ingranaggio dei widget per una frazione di secondo dopo aver premuto il pulsante di aggiunta al carrello. Non avrei mai saputo che si trattava di un problema se non avessi testato le mie modifiche.

È necessario precaricare i file css above the fold (il contenuto che viene caricato nella viewport senza scorrere) in modo che vengano caricati con priorità e rendano il contenuto più veloce.

Idealmente, il contenuto above the fold non dovrebbe richiedere alcun javascript, il che migliorerà i tempi di caricamento percepiti e reali. Impostare il precaricamento su async, se possibile.

In genere non precaricherei un file js, perché in questo modo lo caricherebbe nella testa e gli darebbe priorità, peggiorando il punteggio di blocco del rendering.

Spostare la posizione di caricamento dei file css/js dalla testa al corpo per ridurre il blocco del rendering

Google Pagespeed Insight: ecco cosa c'è da sapere

Se non è possibile disabilitare completamente un file css/js in una pagina perché è necessario, si dovrebbero spostare tutti i file js/css che non sono immediatamente necessari e che non rompono la pagina al posto della testa, per ridurre il blocco del rendering e migliorare i tempi di caricamento.

La maggior parte dei file js non ha bisogno di essere caricata nell’head e molti plugin sono mal codificati e li caricano nell’head. Si dovrebbero spostare tutti o il maggior numero possibile di file js dall’head al body.

Si dovrebbe fare lo stesso con tutti i file css che non sono immediatamente necessari, in quanto questo riduce anche il punteggio di blocco del rendering.

Si tenga presente che non è possibile cambiare la posizione per ogni pagina; spostando il file da head a body, lo si farà globalmente su ogni pagina del sito, quindi si tenga presente che questo potrebbe rompere qualcosa su una pagina specifica rispetto a un’altra, se il codice deve essere caricato nell’head rispetto a quello nel body.

Pulizia delle risorse Async, rinvio per i file JS:

Google Pagespeed Insight: ecco cosa c'è da sapere

Ho anche impostato tutti i css e i js su async.

È necessario testare la funzionalità del frontend per assicurarsi che non si sia rotto nulla se si imposta un file css o js su preload, async o defer. Dovreste farlo solo per i file CSS che si trovano sopra la piega, poiché sono critici e devono essere caricati per primi per evitare la comparsa di contenuti senza stile. Per le impostazioni di async e defer è necessario Asset Cleanup Pro, non credo che la versione gratuita le abbia.

Si dovrebbe asincronizzare e rinviare qualsiasi file javascript possibile. Queste proprietà possono anche interrompere la pagina, quindi è necessario testarle dopo averle implementate per ogni file. Suggerisco di eseguirli in piccoli gruppi e di tornare indietro in caso di problemi, per motivi di tempo. 2-3 file per ogni esecuzione, in questo modo non si apportano troppe modifiche e si può restringere più facilmente il problema. Fare un file alla volta è terribilmente lento e inefficiente.

Inlining CSS con pulizia delle risorse

https://blog.logrocket.com/improve-site-performance-inlining-css/

Fate attenzione a non inlinizzare troppi file, in quanto ciò può compromettere le prestazioni. L’inserimento di CSS integrerà questo CSS nella testata HTML, che probabilmente verrà scaricato in ogni pagina. Inlineare solo i fogli di stile CSS critici che verranno scaricati in ogni pagina, come ad esempio i piccoli file CSS del tema o di un plugin utilizzato in tutto il sito.

Disabilitare i css/js esterni e non necessari nelle pagine in cui non sono necessari:

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

Alcuni plugin non caricano il loro codice come file identificato sotto il plugin nel metabox Asset Cleanup che appare nelle pagine. Appaiono in fondo nella sezione hardcoded. Un file che mi è apparso in questa sezione proveniva da un plugin per moduli che caricava un captcha. Non sono riuscito a capire da dove provenisse il file finché non ho disabilitato il testo hardcoded che faceva riferimento al captcha.

Stava caricando il file captcha, anche se non avevo nemmeno attivato la funzione captcha. Alcuni plugin caricano file inutili che non servono, rallentando inutilmente la velocità del sito.

Il codice hardcoded non specifica a quale plugin è collegato, ma se si legge la sezione “source” che è hardcoded, è relativamente facile identificare il plugin a cui è collegato. Se non si è sicuri di cosa faccia il codice codificato, è bene disabilitarlo e testare il frontend per assicurarsi che non si sia rotto nulla, oppure lasciarlo stare. In genere questi file non hanno un grande impatto sulle prestazioni, ma questo varia a seconda del plugin, quindi può valere la pena disabilitarli.

Disabilitare JS e CSS del tema usando Pulizia risorse

Google Pagespeed Insight: ecco cosa c'è da sapere Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

Google Pagespeed Insight: ecco cosa c'è da sapere

Se si utilizza Elementor e il costruttore di temi, questo sostituisce molte funzionalità necessarie del tema. È necessario controllare i file css/js caricati dal tema e vedere se un file di un tema può essere disabilitato in modo sicuro senza interrompere la funzionalità o il design.

Disattivare Woocommerce general e Woocommerce layout su pagine non Woocommerce solo se si utilizza Astra. In caso contrario, i layout delle pagine di Woocommerce si romperanno.

Pulizia delle risorse e monitoraggio delle query

Se si disabilitano più file js/css con la pulizia delle risorse prima di salvare la pagina e qualcosa si rompe, Query Monitor è molto utile per diagnosticare quale plugin è responsabile e si dovrebbe sapere quali script o css è necessario riabilitare. Fornirà utili messaggi di errore php che di solito sono specifici del plugin che ha problemi, quindi sarà più facile capire quale file è stato manipolato per causare il problema.

Gestione dei plugin di Asset Cleanup

Google Pagespeed Insight: ecco cosa c'è da sapere

È necessario utilizzare il gestore dei plugin (che si trova sotto la voce Pulizia delle risorse nel backend) e disabilitare tutti i plugin che non devono essere eseguiti su pagine specifiche del frontend. Qualsiasi plugin che funziona interamente nel backend e non ha alcun componente nel frontend può essere disabilitato a livello di sito, non è necessario aggiungere un’eccezione.

Se è necessario aggiungere eccezioni, queste devono essere aggiunte come regole regex. Per ulteriori informazioni su questo aspetto, consultare la documentazione sulla pulizia delle risorse: https://www.assetcleanup.com/docs/what-are-load-exceptions/

È più potente della semplice disabilitazione di js/css. Si dovrebbero anche disabilitare i plugin nella dashboard di amministrazione che non sono necessari in alcune pagine del backend. Per esempio, non è necessario che elementor venga caricato sulle pagine delle impostazioni di altri plugin. Questo velocizzerà notevolmente la dashboard di amministrazione di wordpress.

Siate cauti con questa funzione, perché scaricherà completamente TUTTO il codice del plugin su quella pagina, non solo il CSS o il JS. È come se il plugin fosse completamente disabilitato su quella pagina se si disabilita un plugin tramite la funzione di gestione dei plugin.

La funzionalità può essere interrotta quando si disabilitano i plugin tramite il plugin manager se si disabilitano nelle pagine sbagliate della dashboard di amministrazione. Se si è disabilitato un plugin in una certa pagina di impostazioni e la funzionalità è mancante, molto probabilmente il plugin non dovrebbe essere disabilitato per quella regola url/regex.

Disattivate i font di Google tramite la pulizia delle risorse e precaricate tutti i font locali.

Google Pagespeed Insight: ecco cosa c'è da sapere

Un’altra cosa che si può usare per la pulizia delle risorse e che ha un grande impatto sul sito è disabilitare tutti i font di Google e ospitare tutti i font a livello locale. Asset Cleanup consente di precaricare i font locali e di applicare anche le proprietà di visualizzazione dei font.

Regole di impostazione per l’intero sito e per la sorgente html nelle impostazioni di Asset Cleanup

Google Pagespeed Insight: ecco cosa c'è da sapere

Nelle impostazioni di Asset Cleanup, abilitare tutte le opzioni possibili nella scheda degli scarichi comuni a livello di sito, a meno che non sia necessaria la funzionalità, come ad esempio gli emoji o gli oEmbed. Se il vostro costruttore supporta le emoji, molto probabilmente ha una propria libreria per implementarle e non c’è motivo di lasciare questa funzionalità abilitata, in quanto è quella predefinita di WordPress per Gutenberg o l’editor classico.

Disattivate anche XML-RPC, poiché quasi nessun sito si affida a questa funzionalità e rappresenta una vulnerabilità per la sicurezza. Attivare anche tutte le opzioni della scheda Pulizia HTML.

Velocizzare WP-Admin

WP Admin Cache (gratuito)

WP Admin Cache

Admin Speedo (gratuito)

https://wordpress.org/plugins/admin-speedo/

Velocizzare la libreria multimediale (gratuito)

https://www.itsupportguides.com/knowledge-base/wordpress/using-wordpress-media_library_m onths_with_files-php-filter/

Snippet per migliorare le prestazioni della libreria multimediale.

Ispezionare le richieste HTTP (gratuito)

https://wordpress.org/plugins/inspect-http-requests/

Monitorare tutte le richieste HTTP effettuate tramite i metodi HTTP di WP, ossia wp_remote_get, wp_remote_post. Bloccate qualsiasi richiesta con un semplice clic su un pulsante.

Tenere traccia di quanto tempo impiega una richiesta come l’aggiornamento di core/plugin/tema (può essere utile per l’analisi del consumo di banda).

Gestore delle richieste HTTP (gratuito)

https://wordpress.org/plugins/http-requests-manager/

Impedite che le richieste HTTP di WP rallentino il vostro sito web WordPress e l’interfaccia di amministrazione. Il plugin HTTP Requests Manager registra tutte le richieste HTTP di WP con il tempo di completamento di ciascuna richiesta. Se ci sono più richieste per pagina, saranno raggruppate per colore.

Aiuta a prevenire il rallentamento del sito web grazie a:

  • Imposta il periodo di timeout della richiesta a 2 secondi. L’impostazione predefinita è 5.
  • Limita il numero di richieste per pagina di 3. L’impostazione predefinita è illimitata.
  • Limita la richiesta HTTP di WP se il tempo di caricamento della pagina è superiore a 3 secondi. L’impostazione predefinita è illimitata.
  • Possibilità di bloccare tutte le richieste esterne o di consentire solo le richieste a wordpress.org per gli aggiornamenti di plugin, temi e core.

Docket Cache (gratuito)

https://wordpress.org/plugins/docket-cache/

Oltre a essere un plugin per la cache degli oggetti, ha molte opzioni per velocizzare sia il backend dell’amministrazione che il frontend nelle sue impostazioni di configurazione.

Traduzioni

Traduzioni performanti (gratuito)

https://wordpress.org/plugins/performant-translations/

Questo progetto utilizza un nuovo approccio per gestire i file di traduzione in WordPress, rendendo la localizzazione velocissima.

Un’analisi approfondita delle prestazioni i18n ha dimostrato che i siti WordPress localizzati vengono caricati in modo significativamente più lento rispetto a un sito senza traduzioni.

Nota: è richiesto WordPress 6.5 e versioni successive.

Importante: questa nuova funzionalità è stata integrata in WordPress 6.5! Tuttavia, questo plugin è ancora utile!

Su WordPress 6.5+, questo plugin converte automaticamente i file .mo esistenti in .php e successivamente carica solo le traduzioni dal file .php.

Questo è utile nei casi in cui i pacchetti di lingue non vengono scaricati da WordPress.org ma da qualche altra parte.

Cache di traduzione (gratuito)

https://wordpress.org/plugins/speed-up-translation/

Non è stato aggiornato da più di un anno, testatelo prima su staging!

Translatio (gratuito)

https://wordpress.org/plugins/tmy-globalization/

Translatio è uno strumento open source per l’internazionalizzazione e la localizzazione di siti web basati su WordPress.

Sottolingua (gratuito)

https://wordpress.org/plugins/sublanguage/

Plugin di traduzione ultra leggero.

Plugin Performant Code Snippets

Snippet fluenti (gratuito)

https://wordpress.org/plugins/easy-code-manager/

FluentSnippets memorizza gli snippet in file piatti, quindi non esegue query SQL per gli snippet. È il plugin di snippet di codice più veloce per WordPress.

Snippet di codice per le prestazioni (gratuito)

Luke Cavs Repo

https://github.com/lukecav/code-snippets-wp-speed-up

Squadriglia Web Snippets

https://websquadron.co.uk/page-speed-performance-wordpress-code-snippets/

Geekflare

https://geekflare.com/wordpress-performance-optimization-without-plugin/

WPMunk

https://wpmunk.com/wordpress-performance-optimization-without-plugin/

Convalida del codice (gratuito)

Gli errori di convalida del codice possono causare problemi di prestazioni.

Validatori CSS

Validatore W3 di Jigsaw (gratuito)

https://jigsaw.w3.org/css-validator/

Portale CSS (gratuito)

https://www.cssportal.com/css-validator/

Validatore di Css (gratuito)

https://css-validator.org/

Test Lambda (gratuito)

https://www.lambdatest.com/free-online-tools/css-validator

Validatori JS

Codice Beautify (gratuito)

https://codebeautify.org/jsvalidate

Convalidare Javascript (gratuito)

https://validatejavascript.com/

Validatore del sito 24×7 (gratuito)

https://www.site24x7.com/tools/javascript-validator.html

Esprima JS Validator (gratuito)

https://esprima.org/demo/validate.html

Correggere gli errori di

convalida HTML W3 HTML

Validator (gratuito)

https://validator.w3.org/

Gli errori di convalida HTML possono causare problemi di prestazioni. Utilizzate questo strumento per verificare se il vostro sito presenta errori di convalida HTML che devono essere corretti.

Convalida HTML (gratuito)

https://wordpress.org/plugins/html-validation/

HTML Validation Pro (a pagamento)

https://www.alumnionlineservices.com/our-plugins/html-validation/#proext

Corregge automaticamente una serie di errori HTML.

HTML Tidy (gratuito)

https://www.html-tidy.org/

Tidy è un’applicazione per console per macOS, Linux, Windows, UNIX e altro ancora. Corregge e ripulisce i documenti HTML e XML correggendo gli errori di markup e aggiornando il codice legacy agli standard moderni.

HTMLtidy.net (gratuito)

https://htmltidy.net/

Siti statici

Generazione del sito

HTML pre-generato

Un sito statico consiste in file HTML pre-generati, creati durante il processo di sviluppo. Questi file vengono caricati direttamente sul server web e serviti agli utenti così come sono.

Nessuna elaborazione lato server

Poiché il contenuto è statico, non è necessaria un’elaborazione lato server, come l’esecuzione di PHP o di query di database.

Risorse e prestazioni del server

Basso carico del server

Il servizio di file HTML statici è efficiente dal punto di vista delle risorse e richiede una potenza di elaborazione del server minima, con conseguenti tempi di caricamento più rapidi e la capacità di gestire un traffico elevato con facilità.

Nessun database

I siti statici non richiedono un database, il che riduce ulteriormente la complessità del server e i potenziali punti di guasto.

Flessibilità e funzionalità

Contenuto dinamico limitato

I siti statici sono eccellenti per i contenuti puramente statici, ma richiedono strumenti o framework aggiuntivi (ad esempio, JavaScript, API) per gestire funzionalità dinamiche come moduli, login degli utenti o aggiornamenti in tempo reale.

Distribuzione più semplice

La distribuzione è semplice, poiché non ci sono script lato server da configurare. I file statici possono essere ospitati su qualsiasi server web o CDN.

Sicurezza

Superficie di attacco bassa

Senza elaborazione lato server o database, i siti statici hanno una superficie di attacco molto più bassa, il che li rende intrinsecamente più sicuri contro le vulnerabilità web più comuni (ad esempio, SQL injection, exploit PHP).

Plugin generatori di siti

statici

Semplicemente statico (Freemium)

https://wordpress.org/plugins/simply-static/

Trasformate il vostro sito web in un sito statico! Potrebbe ridurre significativamente i costi di hosting (potenzialmente anche a zero!), potrebbe aumentare la sicurezza del sito e ha molti potenziali vantaggi in termini di velocità. Il vostro sito sarà convertito in un sito puramente html! Questo comporta molte limitazioni e, se disponete di risorse dinamiche, molto probabilmente non sarà un’opzione adatta a voi.

Staatic (Freemium)

https://wordpress.org/plugins/staatic/

Esportazione del sito in HTML statico (Freemium)

https://wordpress.org/plugins/export-wp-page-to-static-html/

Il plugin Export WP page to static HTML/CSS è un generatore di pagine o siti html statici che vi aiuta a convertire il vostro sito o le vostre pagine wordpress in un sito web html statico che potete ospitare sul vostro server, da un provider di hosting html statico o da un cdn.

WP2Static (Gratuito)

https://github.com/elementor/wp2static

Hugo (gratuito)

https://gohugo.io/

Generatore di siti statici open source scritto in Go

Strattic (a pagamento)

https://www.strattic.com/

Strattic è una piattaforma di hosting e generazione di siti statici all-in-one che ottimizza istantaneamente WordPress convertendolo in un’architettura statica. Con Strattic, i content manager e i marketer possono continuare a gestire i contenuti in WordPress come al solito, mentre gli sviluppatori possono crogiolarsi nella gloria (e godersi la tranquillità) di un sito web completamente senza testa.

Pellicano (gratuito)

https://getpelican.com/

Generatore gratuito di siti statici scritto in Python.

Limitazioni dei siti statici

  1. Nessuna ricerca (senza un’implementazione personalizzata come Algolia, Elastic Search, Typesense ecc.)
  2. Nessun commento memorizzato localmente

Queste sono solo alcune delle potenziali insidie (alcune ulteriori insidie non elencate qui), leggete i link qui sotto.

Ulteriori letture

https://blog.hubspot.com/website/static-vs-dynamic-website#:~:text=Static%20Website%20Disa dvantages&text=Il%20problema%20più%20apparente%20è,creare%20un%20nuovo%20 file%20HTML%20

https://uk.indeed.com/career-advice/career-development/static-vs-dynamic-website

https://drewl.com/blog/advantages-and-disadvantages-static-website/

Come sempre, testate a fondo!

Qualità della vita

Nascondere gli avvisi del backend dell’amministratore

Centro notifiche Admin (gratuito)

https://wordpress.org/plugins/wp-admin-notification-center/

Plugin leggero per nascondere gli avvisi nella dashboard dell’amministratore.

Mostra gli ID delle pagine

ID Echo Show (gratuito)

https://wordpress.org/plugins/echo-show-ids/

Plugin leggero che visualizza gli ID delle pagine nella dashboard di amministrazione.

Pagine duplicate

WP Pagina duplicata (gratuito)

https://wordpress.org/plugins/wp-duplicate-page/

Plugin leggero per la duplicazione delle pagine.

Panoramica della pagina Formato albero

Panoramica della pagina dell’albero CMS (gratuito)

https://wordpress.org/plugins/cms-tree-page-view/

Aggiunge a WordPress una panoramica ad albero simile a quella di un CMS di tutte le pagine e i post personalizzati, come spesso accade in un CMS incentrato sulle pagine.

All’interno di questa struttura è possibile modificare le pagine, visualizzarle, aggiungerle, cercarle e trascinarle per riorganizzarne l’ordine.

Riabilitare l’editor classico

Disabilitare Gutenberg

(gratuito)

https://wordpress.org/plugins/disable-gutenberg/

Ripristina l’editor classico e disabilita l’interfaccia Gutenberg durante la modifica di una pagina.

Editor HTAccess

WP HTAccess Editor (gratuito)

https://wordpress.org/plugins/wp-htaccess-editor/

Modifica di Htaccess dalla dashboard di amministrazione.

Pagine annidate

WP Pagine annidate (gratuito)

https://wordpress.org/plugins/wp-nested-pages/

  • Fornisce un’interfaccia drag and drop semplice e intuitiva per gestire la struttura delle pagine e l’ordinamento dei post.
  • Funzionalità di modifica rapida migliorata
  • Aggiunge una vista ad albero modificabile e ordinabile della struttura delle pagine del sito.
  • Genera automaticamente un menu nativo di WordPress che corrisponde alla struttura della pagina.
  • Un modo per aggiungere rapidamente più pagine e post (ideale per lo sviluppo)
  • Funziona con qualsiasi tipo di post
  • Funziona su dispositivi abilitati al tocco

Strumenti dell’editor

Strumenti avanzati dell’editor (gratuito)

https://wordpress.org/plugins/tinymce-advanced/

Advanced Editor Tools (precedentemente TinyMCE Advanced) introduce un blocco “Classic Paragraph” per l’editor di blocchi (Gutenberg).

Se non si è ancora pronti a passare all’editor di blocchi o se si dispone di plugin che non possono essere utilizzati (ancora), l’uso del blocco Classic Paragraph è la scelta migliore. Permette di continuare a usare il familiare editor TinyMCE per la maggior parte dei compiti e allo stesso tempo dà pieno accesso a tutti i blocchi e alle nuove funzioni dell’editor di blocchi.

Stati personalizzati

Gestore dello stato personalizzato di WP (gratuito)

https://wordpress.org/plugins/hw-wp-status-manager/

Gestore di stato personalizzato e leggero

Aggiornamenti del tema e dei plugin Rollback

WP Rollback (gratuito)

https://wordpress.org/plugins/wp-rollback/

Eseguite in modo rapido e semplice il rollback di qualsiasi tema o plugin da WordPress.org a una versione precedente (o più recente) senza dover ricorrere a operazioni manuali. Funziona proprio come il programma di aggiornamento dei plugin, tranne per il fatto che il rollback (o l’avanzamento) avviene a una versione specifica. Non è necessario scaricare e inviare manualmente i file via FTP o imparare Subversion. Questo plugin si occupa di questo problema.

Modalità scura

Editor Markdown di WP (gratuito)

https://wordpress.org/plugins/dark-mode/

Precedentemente intitolato “Dark Mode”, è un plugin ultraleggero con funzioni di miglioramento dell’editor e una modalità scura sia nel frontend che nel backend.

  • Impostazioni tipografiche – È possibile modificare la tipografia della schermata dell’editor, utilizzando quattro diversi tipi di carattere e controlli per la dimensione dei caratteri, l’altezza delle righe, la larghezza delle righe e la spaziatura dei paragrafi.
  • Schema dei colori già pronto – Scegliete rapidamente il vostro colore preferito dallo schema dei colori già pronto disponibile in WP Markdown. Evidenziate e modificate i vostri contenuti nel modo che preferite.
  • Scorciatoie per la sintassi – È disponibile un foglio informativo su Markdown che mostra altre scorciatoie da tastiera per l’intestazione, la formattazione e l’interfaccia.
  • Supporto per le emoji – Potete rendere i vostri contenuti più interattivi e attraenti con le emoji. WP Markdown supporta tutti i tipi di emoji nella scrittura.
  • Colori personalizzati – È possibile personalizzare il testo e il colore dello sfondo come si desidera con la funzione di colore personalizzato di WP Markdown. Scegliete lo schema di colori che preferite e fatelo vostro!
  • Rende facile e veloce la formattazione in WordPress senza pensare ai blocchi.
  • Commutazione della modalità scura – È possibile passare dalla modalità scura a quella chiara utilizzando il menu di commutazione della modalità scura della barra di amministrazione in qualsiasi momento.
  • Auto Match OS Theme – Mostra automaticamente la modalità scura se il tema preferito dal sistema operativo è scuro.
  • Ricorda modalità scura – La modalità scura rimane memorizzata una volta attivata.

DarkMySite (Gratuito e Pro)

https://wordpress.org/plugins/darkmysite/

Modalità scura ultraleggera. Codice di dimensioni ridotte, è improbabile che entri in conflitto con altri plugin. Come per ogni altra cosa, testatelo prima su staging prima di installarlo in live!

Nota: assicurarsi di avere accesso a un file manager esterno (SSH, Cpanel, ecc.) nel caso in cui si venga bloccati dalla dashboard, in modo da poter rimuovere il plugin dalla cartella dei plugin, per sicurezza.

Ricerca dell’amministratore di WP

Ricerca amministrativa (gratuita)

https://wordpress.org/plugins/admin-search/

Admin Search semplifica la ricerca nel vostro sito WordPress riunendo i risultati di tutti i tipi di post, media, tassonomie, commenti, utenti e pagine di amministrazione in un’unica interfaccia semplice da usare, perfettamente integrata nell’interfaccia di amministrazione di WordPress.

È possibile scegliere i tipi di post e le tassonomie da ricercare e il numero di risultati visualizzati per ciascuno di essi. Admin Search supporta anche tipi di post e tassonomie personalizzate.

Supporto per l’aggiornamento SSH

Supporto per l’aggiornamento SSH SFTP (gratuito)

https://wordpress.org/plugins/ssh-sftp-updater-support/

Aggiornare i plugin e WordPress tramite SFTP

Miglioramenti per l’amministrazione e il sito (gratuiti e pro)

https://wordpress.org/plugins/admin-site-enhancements/

Toolkit per i miglioramenti leggeri del sito

Gestione file

FileOrganizer (gratuito)

https://wordpress.org/plugins/fileorganizer/

Leggero file manager gratuito.

Filester (gratuito)

https://wordpress.org/plugins/filester/ File

manager performante e completamente gratuito

Gestore di file, editor di codice e backup (gratuito)

https://wordpress.org/plugins/softdiscover-db-file-manager/

Plugin combinato completamente gratuito per la gestione dei file, l’editor di codice e il backup. Peso medio-pesante, come tutti gli altri plugin solo per il backend, disabilitarlo sul frontend.

Modalità di manutenzione

Manutenzione (gratuita)

https://wordpress.org/plugins/maintenance/

Plugin leggero e gratuito per la modalità di manutenzione.

Modalità Manutenzione Slim (gratuita)

https://wordpress.org/plugins/slim-maintenance-mode/

Un altro plugin gratuito e leggero per la modalità di manutenzione

Editor di codice

Gestore di file, editor di codice e backup (gratuito)

https://wordpress.org/plugins/softdiscover-db-file-manager/

Plugin combinato completamente gratuito per la gestione dei file, l’editor di codice e il backup. Peso medio-pesante, come tutti gli altri plugin solo per il backend, disabilitarlo sul frontend.

Backup

Assicurarsi di disabilitare il plugin di backup dall’esecuzione nel frontend con Asset Cleanup o un altro plugin che possa disabilitare selettivamente i plugin.

Backup Vault (gratuito)

https://wordpress.org/plugins/backup-bolt/ Leggero

plugin di backup, completamente gratuito.

WP Vivid (gratuito)

https://wordpress.org/plugins/wpvivid-backuprestore/

Plugin gratuito per il backup e il ripristino, con funzionalità di staging incluse nella versione gratuita. Assicuratevi di disattivare il plugin sul frontend con uno dei plugin nella sezione “Disattiva selettivamente i plugin”, poiché non è necessario che venga eseguito nel frontend!

Gestore di file, editor di codice e backup (gratuito)

https://wordpress.org/plugins/softdiscover-db-file-manager/

Plugin combinato completamente gratuito per la gestione dei file, l’editor di codice e il backup. Peso medio-pesante, come tutti gli altri plugin solo per il backend, disabilitarlo sul frontend.

FastDup (gratuito)

https://wordpress.org/plugins/fastdup/

Plugin di backup leggero. Completo di tutte le funzioni, a parte la mancanza della funzionalità di cloud storage.

Manutenzione totale (gratuita)

https://wordpress.org/plugins/boldgrid-backup/

  • Backup automatici e manuali
  • Backup completo di file e database o personalizzazione delle impostazioni in base alle proprie esigenze
  • Backup remoti via FTP / SFTP, Amazon S3 e Google Drive (Premium)
  • Total Upkeep controlla che il vostro server web abbia le caratteristiche necessarie per creare correttamente gli archivi di backup, proteggendo così l’integrità dei vostri backup.
  • Clonare, duplicare e/o migrare il vostro sito con pochi clic
  • Site Check monitora il vostro sito alla ricerca di problemi che potrebbero portare a crash del sito, fornisce un set di strumenti per ripristinare il vostro sito anche se la vostra installazione di WordPress è inaccessibile
  • La funzione di rollback automatico crea un backup prima degli aggiornamenti, ripristinando il sito all’ultimo backup in caso di aggiornamento non riuscito.
  • Creare siti di staging per testare nuovi plugin o temi con Total Upkeep + Cloud WordPress

Clone (gratuito)

https://wordpress.org/plugins/wp-clone-by-wp-academy/

Plugin di backup gratuito, di peso medio.

Greenbackup (Freemium)

https://wordpress.org/plugins/green-backup-by-greenwpx/

(Piano gratuito): Siti, backup e migrazioni illimitati. Backup in locale.

Versione Pro: Backup in locale o su vari servizi cloud come: Dropbox, Google Drive, FTP/SFTP, Amazon S3, Wasabi, OneDrive, Google Cloud, Storage, Backblaze B2, Microsoft Azure Blob, DigitalOcean Space.

Xcloner (gratuito)

Questo plugin è pesante. Ma ha una tonnellata di funzioni professionali in un plugin gratuito (come i backup nel cloud). Assicuratevi di disabilitarlo selettivamente sul frontend per ridurre l’impatto sulle prestazioni degli utenti.

Duplicatore (a pagamento)

https://duplicator.com/

Ottimo plugin di backup.

Ricerca e sostituzione

Cerca e sostituisci tutto (gratis)

https://wordpress.org/plugins/search-replace-wpcode/

Un plugin di ricerca e sostituzione ultraleggero. Search & Replace Everything consente di gestire in modo efficiente i contenuti del sito web direttamente dall’amministrazione di WordPress. Questo strumento è essenziale per le migrazioni del sito, per gli aggiornamenti dei contenuti o per qualsiasi situazione in cui sia necessario sostituire in blocco testo e immagini.

È possibile eseguire operazioni dettagliate di ricerca e sostituzione nell’intero database. Selezionate tabelle specifiche, modificate la sensibilità alle maiuscole e visualizzate l’anteprima delle modifiche prima di eseguire il commit. Progettato per gestire siti web di grandi dimensioni.

Ricerca Regex (gratuito)

https://wordpress.org/plugins/search-regex/

Search Regex aggiunge un potente insieme di funzioni di ricerca e sostituzione a post, pagine, tipi di post personalizzati e altre fonti di dati di WordPress. Queste vanno oltre la ricerca standard

e consentono di cercare e sostituire quasi tutti i dati memorizzati nel sito. Oltre alle ricerche semplici, è possibile disporre di tutta la potenza delle espressioni regolari di PHP.

Aggiornamento

massivo degli URL

Aggiornamento degli

URL (gratuito)

https://wordpress.org/plugins/update-urls/

Aggiornamento massivo degli URL in tutto il sito.

Media

Cartelle della mediateca

Categorizzare (gratuito)

https://wordpress.org/plugins/categorify/ Leggero

plugin per cartelle multimediali gratuite.

Cartelle della mediateca (gratuito)

https://wordpress.org/plugins/media-library-plus/

  • Le cartelle effettive facilitano l’organizzazione della libreria multimediale di WordPress e riducono il carico del server.
  • Aggiungere e creare nuove cartelle della libreria multimediale per etichettare e organizzare come si desidera, anziché solo mese/data.
  • Spostare, copiare, rinominare ed eliminare file e cartelle con una piacevole interfaccia di trascinamento.
  • Rigenerare le miniature.
  • Immagini SEO per specificare gli attributi ALT e TITLE al momento del caricamento.
  • Sincronizzazione di cartelle/file quando si sposta o si carica una cartella via FTP.
  • Creare una galleria MaxGalleria.
  • Bloccare l’accesso diretto ai file della mediateca selezionati

Sostituire i supporti

Abilita la sostituzione dei media (gratuito)

https://wordpress.org/plugins/enable-media-replace/

Un plugin gratuito, leggero e facile da usare che consente di sostituire senza problemi un’immagine o un file nella Media Library caricando un nuovo file al suo posto. Non è più necessario cancellare, rinominare e

ricaricare i file! Deve essere eseguito solo nel backend.

Media Cleaner (gratuito)

https://wordpress.org/plugins/media-cleaner/

Media Cleaner – rimuove tutti i media non necessari e le voci interrotte.

Assicuratevi di eseguire dei backup prima di eseguire questa operazione, per sicurezza.

Proteggere i file multimediali

File multimediali protetti AAM (gratuito)

https://wordpress.org/plugins/aam-protected-media-files/

Email

Ultimate WP Mail (gratuito)

https://wordpress.org/plugins/ultimate-wp-mail/

  • Inviare messaggi e-mail automatici o manuali a utenti specifici o a tutti gli utenti.
  • Inviare email WooCommerce agli acquirenti e per azioni specifiche (ad es. carrello abbandonato)
  • Interfaccia visiva pulita per la composizione delle e-mail
  • Creare liste intelligenti di utenti a cui inviare le email
  • Attivare l’invio automatico di e-mail per azioni specifiche (ad es. registrazione di un utente, pubblicazione di un nuovo post, ecc.)
  • Ottime funzioni di anteprima delle e-mail e di invio programmato
  • Modelli di email inclusi per le email più comuni
  • Registrazione delle e-mail

SMTP

Fluent SMTP (gratuito)

https://wordpress.org/plugins/fluent-smtp/ Leggero

plugin SMTP completo

Newsletter

FluentCRM (Gratuito e Pro)

https://wordpress.org/plugins/fluent-crm/

Plugin per newsletter/CRM performante e ospitato localmente. Email illimitate con il piano gratuito per sempre.

Codifica dell’indirizzo e-mail

Codificatore di indirizzi e-mail (gratuito)

https://wordpress.org/plugins/email-address-encoder/

Un plugin leggero che protegge/oscura gli indirizzi e-mail semplici e i link mailto da

robot di raccolta delle e-mail, codificandole in entità decimali ed esadecimali. Ha effetto su post, pagine, commenti, estratti, widget di testo e altri contenuti filtrati. Funziona senza JavaScript – solo una semplice protezione antispam.

Utenti

Gestione dell’accesso degli utenti

Gestione accesso utenti (gratuito)

https://wordpress.org/plugins/user-access-manager/

Lightweight User Access Manager

Permette di gestire l’accesso ai contenuti. È utile se avete bisogno di un’area per i membri, di una sezione privata del vostro blog o se volete che altre persone possano scrivere sul vostro blog, ma non ovunque.

Includere tutti i tipi di post, tassonomie e file creando gruppi di utenti. È sufficiente assegnare i contenuti che si desidera limitare e gli utenti registrati che devono avere accesso a un gruppo. D’ora in poi il contenuto sarà accessibile e scrivibile solo per il gruppo specificato.

Commutatore utente

Cambio di utente (gratuito)

https://wordpress.org/plugins/user-switching/

Plugin di commutazione utente ultra leggero

Questo plugin consente di passare rapidamente da un account utente all’altro in WordPress con un semplice clic. Sarete immediatamente disconnessi e connessi come l’utente desiderato. È utile per aiutare i clienti dei siti WooCommerce, dei siti associativi, degli ambienti di test o per qualsiasi sito in cui gli amministratori devono passare da un account all’altro.

Accesso come utente (gratuito)

https://wordpress.org/plugins/login-as-users/

Questo plugin consente di passare rapidamente da un account utente all’altro con un semplice clic.

Questo plugin aggiunge la possibilità di accedere a qualsiasi account utente senza avere la password dell’utente, semplicemente cliccando su un pulsante e risolvendo così i problemi o fornendo un’assistenza clienti migliore e più rapida. Con un solo clic l’amministratore sarà connesso come l’utente specifico e potrà quindi gestire qualsiasi situazione senza perdere molto tempo.

Cambia autore

Commutatore di autori di post (gratuito)

https://wordpress.org/plugins/post-author-switcher/

Cambiare l’autore di più post contemporaneamente. Inoltre, è possibile cambiare l’autore del post in base al tipo di post, allo stato del post e all’autore del post esistente.

Ruoli utente multipli

Ruoli multipli (gratuito)

https://wordpress.org/plugins/multiple-roles/

Consente di assegnare più di un ruolo a un account utente.

Cancellazione dell’utente

Eliminazione degli utenti inattivi (gratuito)

https://wordpress.org/plugins/inactive-user-deleter/

Leggera eliminazione di massa degli utenti in base a criteri specificati.

Cancellami (Gratuito)

https://wordpress.org/plugins/delete-me/

Consentire agli utenti di eliminare il proprio account utente.

Sincronizzazione utente remota

Sincronizzazione remota degli utenti WP (gratuita)

https://wordpress.org/plugins/wp-remote-users-sync/

Se gestite più siti web e volete mantenere gli utenti separati, ma sincronizzarli automaticamente e in modo sicuro per operazioni specifiche degli utenti, WP Remote Users Sync è il plugin da usare.

Tassonomie

Tassonomie semplici (gratuito)

https://wordpress.org/plugins/simple-taxonomy-refreshed/

Supporta l’aggiunta di una o più tassonomie (gerarchiche o di tag) a qualsiasi oggetto registrato nella vostra installazione. Questo plugin consente di aggiungere una tassonomia semplicemente assegnandole un nome e un’etichetta.

alcune opzioni nel backend. Il programma crea quindi la tassonomia per voi e si occupa della riscrittura degli URL.

Media Library Tassonomie degli allegati

Tassonomie degli allegati (gratuito)

https://wordpress.org/plugins/attachment-taxonomies/

Plugin leggero e gratuito per le tassonomie degli allegati.

Il plugin aggiunge due tassonomie alla libreria multimediale di WordPress, che sono poi disponibili per categorizzare ed etichettare gli allegati. Per impostazione predefinita, queste tassonomie, pur condividendo gli stessi nomi e lo stesso comportamento, sono separate dalle tassonomie predefinite dei post, ma questo può essere facilmente modificato se lo si desidera.

Immagini

Immagini della tassonomia (gratuito)

https://wordpress.org/plugins/taxonomy-images/

Associare le immagini della libreria multimediale a categorie, tag e tassonomie personalizzate.

Filtraggio della tassonomia

Filtri per tassonomia (gratis)

https://wordpress.org/plugins/beautiful-taxonomy-filters/

Il plugin Beautiful Taxonomy Filters è un modo semplice e bello per fornire ai visitatori un filtro per i tipi di post. Con questo plugin si ottiene una soluzione completa per aggiungere filtri basati su termini/categorie/tag personalizzati della tassonomia. Inoltre, aggiunge automaticamente regole di riscrittura per ottenere URL di filtro dall’aspetto gradevole.

È completamente automatico, funziona senza javascript e si basa sul boilerplate di WordPress Plugin per una base di codice standardizzata, organizzata e orientata agli oggetti. Utilizza select2 per ottenere dropdown dall’aspetto gradevole e facile da usare, ma ripiega su quelli ordinari se javascript non è supportato.

Filtro tassonomia (gratuito)

https://wordpress.org/plugins/taxonomy-filter/

Taxonomy Filter è un plugin semplice e flessibile che consente agli utenti di filtrare le tassonomie gerarchiche dei termini all’interno delle pagine di amministrazione. Se avete bisogno di semplificare la ricerca di tag e categorie nelle pagine di amministrazione, questo plugin vi faciliterà il compito. Aggiunge un campo di input personalizzato (solo per le tassonomie configurate) che è possibile utilizzare per filtrare ogni elenco di tassonomie.

Campi personalizzati

ACF

Modalità prestazioni estese ACF (a pagamento)

https://www.acf-extended.com/features/modules/performance-mode

La modalità Performance è un modulo ACF unico che consente agli sviluppatori di ottimizzare i metadati ACF e di migliorare il carico del database con due metodi diversi: Motori Ultra e Motori Ibridi.

ACF Better Search (gratuito)

https://wordpress.org/plugins/acf-better-search/

Plugin di ricerca ACF ultraleggero. Aggiunge al motore di ricerca predefinito di WordPress la possibilità di effettuare ricerche in base al contenuto dei campi ACF selezionati.

Caching ACF

ACF Simple Cache (gratuito)

https://wordpress.org/plugins/acf-simple-cache/

Mette in cache i campi ACF tramite un file json per migliorare le prestazioni.

MetaBox

Ottimizzare le prestazioni del database dei campi personalizzati di MetaBox (gratuito)

https://metabox.io/optimizing-database-custom-fields/

Ogni campo personalizzato viene memorizzato come una riga nel database. Questo approccio consente agli sviluppatori di memorizzare un numero illimitato di dati, indipendentemente dalla loro struttura. L’aspetto negativo, però, è il rapido gonfiamento del database. Perché il numero di campi personalizzati è solitamente molto elevato.

Questo articolo presenterà le soluzioni per ottimizzare la memorizzazione dei campi personalizzati nel database, per aumentare le prestazioni del sito web.

MetaBox Gruppi (a pagamento)

https://metabox.io/plugins/meta-box-group/

Ottimizzazione dei sottocampi del database per ridurre il bloat

Tipi di post personalizzati e tassonomie personalizzate (gratuito)

https://wordpress.org/plugins/mb-custom-post-type/

MB Custom Post Types & Custom Taxonomies vi aiuta a registrare e modificare facilmente i tipi di post e le tassonomie personalizzate in WordPress, fornendo un’interfaccia utente facile da usare nell’area di amministrazione.

SEO

Plugin SEO All-In-One

SEO Pyramid (gratuito)

https://wordpress.org/plugins/seo-pyramid/

Toolkit SEO pulito e molto leggero. Funzionalità Schema incluse (cosa rara per un plugin gratuito). Quasi tutte le funzionalità che si trovano in un plugin SEO a pagamento. Aggiornato frequentemente con miglioramenti e nuove funzionalità.

Nota: Attivare prima su staging

Il quadro SEO (Freemium)

https://theseoframework.com/

https://wordpress.org/plugins/autodescription/

Rankmath (Freemium)

Rankmath è un plugin molto ben ottimizzato che non pregiudica la velocità delle pagine.

Assicuratevi di abilitare la funzionalità sitemap in Rankmath. Questo permetterà a WP-Rocket di rilevare la sitemap di Rankmath, il che dovrebbe aumentare l’efficienza del precaricamento.

Yoast (Freemium)

https://wordpress.org/plugins/wordpress-seo/

Hide SEO Bloat (Gratuito)

https://wordpress.org/plugins/so-clean-up-wp-seo/

Rimuove l’ingombro del backend di Yoast

WP Meta SEO (gratuito)

https://wordpress.org/plugins/wp-meta-seo/

Tonnellate di funzioni nella versione gratuita. C’è un addon pro, ma non è necessario perché le funzionalità possono essere ottenute tramite altri plugin gratuiti. La versione gratuita ha molte funzioni utili. Questo plugin è pesante, assicuratevi di disabilitarlo sul frontend, poiché tutte le modifiche che apporta vengono inserite tramite il backend.

  • Modifica in blocco di tutti i meta del sito web in un’unica vista
  • Modifica dei meta nei contenuti con analisi SEO in tempo reale
  • Correggere il ridimensionamento delle immagini HTML nel contenuto
  • Modifica in blocco del nome del file immagine e dei meta
  • Modifica massiccia del titolo del link SEO
  • 404 errori di reindirizzamento e controllo dei link interni non funzionanti
  • Aggiungere le informazioni di monitoraggio di Google Analytics e visualizzare le statistiche su WordPress
  • Generare sitemap XML e HTML
  • Elementi personalizzati di condivisione sociale di Facebook e Twitter per ogni contenuto
  • Generatore di briciole di pane
  • Controllo dei contenuti SEO di Gutenberg
  • Gestione degli URL canonici per post e pagine
  • e categorie
  • Integrazione completa di Elementor con SEO onPage in tempo reale nell’editor di pagine di Elementor

Motore SEO (gratuito)

https://wordpress.org/plugins/seo-engine/

  • Generazione automatica di titoli e descrizioni
  • Utilizza automaticamente il formato {TITLE} | {SITENAME} per i titoli.
  • Comoda interfaccia utente per sovrascrivere titoli e descrizioni, con AI
  • Generazione automatica di sitemap.xml e robots.txt
  • Carte sociali per SNS e Open Graph
  • Posizionamento nei motori di ricerca
  • Assistente WooCommerce (AI)
  • Impedire a GPTBot (OpenAI) di utilizzare i vostri contenuti

Mappa topica

Mappa topica e flusso di link interni (gratuito)

https://wordpress.org/plugins/internal-link-flow-topical-authority-topical-map/

Ricerca di parole chiave

Strumento di ricerca per parole chiave (gratuito)

https://wordpress.org/plugins/keyword-research-tool/

Plugin gratuito per la ricerca di parole chiave.

RankMyWP (gratuito)

https://wordpress.org/plugins/rank-my-wp/

Strumento di ricerca per parole chiave

  • Oltre 140 Paesi per la ricerca di parole chiave
  • Controllare il Paese delle parole chiave
  • Controllare la concorrenza delle parole chiave
  • Controllare il volume di ricerca delle parole chiave
  • Controllare la popolarità sociale delle parole chiave
  • Salvate le parole chiave per l’ottimizzazione SEO
  • Salva la parola chiave in valigetta

Parole chiave Valigetta

  • Memorizzazione illimitata delle parole chiave
  • Categorizzare le parole chiave in base alla strategia SEO
  • Parole chiave Informazioni sulla ricerca
  • Salvate le parole chiave per l’ottimizzazione SEO
  • Storia della ricerca di parole chiave
  • Suggerimento di parole chiave
  • Salvate le parole chiave per l’ottimizzazione SEO
  • Aggiungere etichette alle parole chiave
  • Filtrare le parole chiave per etichette

Classifica di Google

  • Parole chiave illimitate nel ranking di Google
  • Connettersi a Google Search Console (GSC)
  • Sincronizzazione delle parole chiave GSC
  • Aggiungi parole chiave da Briefcase
  • Classifica Google con posizione media GSC
  • Monitorare la posizione media di Google nel tempo

Controllo dei collegamenti interrotti

Broken Link Checker (gratuito)

https://wordpress.org/plugins/broken-link-checker/

Controllo leggero dei collegamenti interrotti

Indicizzazione istantanea

Indice ora (gratuito)

https://wordpress.org/plugins/mihdan-index-now/

I motori di ricerca possono impiegare da giorni a settimane per scoprire che il contenuto è stato modificato, poiché i motori di ricerca non effettuano spesso il crawling di ogni URL. IndexNow consente ai motori di ricerca di sapere immediatamente quando il contenuto è stato aggiornato.

Collegamento interno

SEO Booster (gratuito)

https://wordpress.org/plugins/seo-booster/

Piccolo toolkit SEO gratuito con link interni automatici.

Ottimizzatore di collegamenti interni di WordPress (gratuito)

https://wordpress.org/plugins/internal-link-finder/

Migliorate l’ottimizzazione del vostro sito web per i motori di ricerca (SEO) identificando e sfruttando senza sforzo le opportunità di collegamento interno e gestendo in modo efficiente la rete di link interni esistenti.

Una solida struttura di link interni è fondamentale per ottenere prestazioni eccezionali sui motori di ricerca e per la SEO on-page.

Collegamenti interni automatici (Free e Pro)

https://wordpress.org/plugins/automatic-internal-links-for-seo/

Plugin per il collegamento interno automatico.

Monitoraggio dei backlink

SEO Booster (gratuito)

https://wordpress.org/plugins/seo-booster/

Individuazione dei backlink. La versione gratuita richiede scansioni manuali, mentre quella a pagamento prevede un monitoraggio automatico.

Collegamenti esterni

WP Collegamenti esterni (gratuito)

https://wordpress.org/plugins/wp-external-links/

Gestite tutti i link esterni e interni del vostro sito. Controllate icone, nofollow, noopener, ugc (User Generated Content), sponsorizzati e se i link si aprono in una nuova finestra o in una nuova scheda.

404 Monitoraggio

SEO Booster (gratuito)

https://wordpress.org/plugins/seo-booster/

Monitoraggio della pagina 404 integrato

Reindirizzamenti

Reindirizzamento (gratuito)

https://wordpress.org/plugins/redirection/

Plugin di reindirizzamento gratuito open source. La maggior parte dei plugin SEO ha questa funzione incorporata, quindi non dovrebbe essere necessaria, ma la lascio qui per sicurezza.

Strumenti esterni Toolkit

Opace Essential SEO Toolkit (gratuito)

https://wordpress.org/plugins/opace-essential-seo-toolkit/

Aggiungete collegamenti a più strumenti esterni direttamente nella dashboard di amministrazione per semplificare e velocizzare il vostro flusso di lavoro SEO.

Schema

Piramide SEO (gratuito)

https://wordpress.org/plugins/seo-pyramid/

Plugin SEO leggero e pulito, con funzionalità di schema incluse gratuitamente (cosa rara).

WPSSO Core (gratuito)

https://wordpress.org/plugins/wpsso/

Plugin completo di dati strutturati per WordPress

Fornisce dati strutturati completi per WordPress, in modo da presentare i contenuti al meglio per i siti sociali e i risultati di ricerca, indipendentemente dal modo in cui gli URL vengono condivisi, ricondivisi, messaggiati, postati, incorporati o crawlati.

Sitemaps performanti

Super Speedy Sitemaps (gratuito)

https://www.superspeedyplugins.com/product/super-speedy-sitemaps/

Super Speedy Sitemaps è un indice di sitemap fulmineo con supporto di Google News e Multisite.

Sostituendo senza problemi le sitemap di Yoast e Rank Math, potrete beneficiare della generazione ultraveloce di sitemap in questo plugin, pur continuando a utilizzare le altre funzioni di Yoast/Rank Math che amate.

Pangrattato

Briciola di pane flessibile (gratuito)

https://wordpress.org/plugins/flexy-breadcrumb/ Leggero

plugin per le briciole di pane, funziona tramite shortcode.

Tagging Open Graph

Tag Open Graph e Twitter Card (gratis)

https://wordpress.org/plugins/wonderm00ns-simple-facebook-open-graph-tags/

Migliora la condivisione delle pagine, dei post, dei prodotti WooCommerce o di qualsiasi altro tipo di post sui social media, impostando i corretti Facebook Open Graph Tags.

DataCaptia (gratuito)

https://wordpress.org/plugins/data-captia/

Tag Open Graph leggeri per la condivisione sui social media. Contribuisce alla SEO e alla diffusione della condivisione sociale.

Contenuto

Messaggi correlati

Messaggi super correlati (gratis)

https://wordpress.org/plugins/super-related-posts/

Plugin per post correlati per migliorare il traffico e la frequenza di rimbalzo con un algoritmo superiore. Zero carico sul server e plugin per i post correlati altamente configurabile.

YARPP (gratuito)

https://wordpress.org/plugins/yet-another-related-posts-plugin/

Un altro performante plugin per i post correlati.

Scrittura di contenuti

Assistente AI per la scrittura di contenuti (gratuito)

https://wordpress.org/plugins/ai-content-writing-assistant/

AI Content Writing Assistant – Content Writer, ChatGPT, Image Generator All in One genera contenuti unici di alta qualità e immagini straordinarie con un solo clic.

Feed RSS

FeedWordPress (gratuito)

https://wordpress.org/plugins/feedwordpress/

FeedWordPress è un aggregatore Atom/RSS per WordPress. Consente di trasferire i contenuti dei feed scelti dall’utente al proprio blog WordPress e di farli apparire come una serie di post speciali nel database dei post di WordPress. Se si distribuiscono diversi feed, è possibile utilizzare il database dei post e il motore di template di WordPress come back-end di un sito web di aggregazione (“pianeta”).

Gestione del flusso di lavoro

Flusso di lavoro Oasis (gratuito)

https://wordpress.org/plugins/oasis-workflow/

Oasis Workflow è un potente plugin ricco di funzionalità progettato per automatizzare qualsiasi processo di flusso di lavoro editoriale utilizzando un’interfaccia semplice e intuitiva di tipo drag and drop.

Pianificazione della posta

Calendario editoriale (gratuito)

https://wordpress.org/plugins/editorial-calendar/

Un piccolo plugin gratuito per programmare i post. Disabilitatelo nel frontend!

Calendario dei messaggi programmati (gratuito)

https://wordpress.org/plugins/schedule-posts-calendar/

Plugin estremamente leggero per la pianificazione dei post. Deve essere eseguito solo nel backend, assicuratevi di disabilitarlo nel frontend per eliminare l’impatto sulle prestazioni!

Importazione di contenuti

Importatore di WordPress (gratuito)

https://wordpress.org/plugins/wordpress-importer/

WordPress Importer importa i seguenti contenuti da un file di esportazione di WordPress:

  • Post, pagine e altri tipi di post personalizzati
  • Commenti e meta commenti
  • Campi personalizzati e meta dei post
  • Categorie, tag e termini da tassonomie e meta termini personalizzati
  • Autori

Accessibilità

Accessibilità Plus (gratuito)

https://wordpress.org/plugins/accessibility-plus/

Un bel plugin gratuito che implementa alcuni miglioramenti dell’accessibilità.

Accessibile (gratuito)

https://wordpress.org/plugins/accessibe/

Plugin gratuito per l’accessibilità

Accessibilità WP (gratuito)

https://wordpress.org/plugins/wp-accessibility/

Leggero. Questo plugin aiuta a risolvere una serie di problemi di accessibilità comuni nei temi WordPress. Mentre la maggior parte dei problemi di accessibilità non può essere affrontata senza modificare direttamente il tema, WP Accessibility aggiunge una serie di utili funzioni di accessibilità con una quantità minima di impostazioni o conoscenze specialistiche.

Automazione

WP Pipes (gratuito)

https://wordpress.org/plugins/wp-pipes/

Plugin per l’automazione interessante e completamente gratuito. Non ha moltissime funzioni, ma è molto interessante.

AutomatorWP (Freemium)

https://wordpress.org/plugins/automatorwp/

Plugin di automazione gratuito open source. È più leggero di Uncanny Automator. Assicurarsi di aver abilitato la cache degli oggetti e ridurre le opzioni di caricamento automatico nel database al minimo necessario per consentire al plugin di continuare a funzionare senza problemi. Inoltre, scaricatelo selettivamente nel frontend, in quanto deve essere eseguito solo nel backend.

Nota: addons a pagamento

Uncanny Automator (Freemium)

https://wordpress.org/plugins/uncanny-automator/

Uncanny Automator è pesante e può avere un forte impatto negativo sulle prestazioni, quindi suggerisco vivamente di disabilitarlo selettivamente sul frontend. L’automazione in generale è pesante per le query al database, quindi assicuratevi di aver attivato una qualche forma di cache degli oggetti! Le azioni di automazione sono spesso richiamate con cron job, quindi dovrete giocare con la disabilitazione di alcune opzioni di autocaricamento del database di Uncanny Automator per ridurre l’impatto sulle prestazioni.

Queste opzioni dovrebbero essere caricate quando vengono richiamate tramite cron o un’altra API, in modo che

dovrebbe essere in gran parte sicuro da rimuovere dall’autocaricamento, ma si consiglia di eseguire un test accurato dopo la modifica di

le impostazioni dell’opzione di autocaricamento del database per assicurarsi che non si sia rotto nulla! Eseguire sempre dei backup prima di modificare le opzioni di autocaricamento.

Se-So (Freemium)

https://wordpress.org/plugins/if-so/

Consente di impostare condizioni di attivazione per le azioni automatiche.

AutomateWoo (a pagamento)

https://automatewoo.com/

Plugin ufficiale di automazione di Woocommerce creato da Automattic. Ho già avuto esperienze di jank con questo plugin, ma l’ultima volta che l’ho usato è stato qualche anno fa. L’interfaccia è un po’ complessa e, come qualsiasi altro plugin di automazione, è pesante per il database. Lo stesso vale per la disabilitazione selettiva sul frontend (deve essere eseguito solo nel backend) e per assicurarsi di avere una qualche forma di cache degli oggetti.

Ricerca nel sito

ElasticSearch

(gratuito)

ElasticPress

(gratuito)

https://wordpress.org/plugins/elasticpress/

Perché dovreste implementare ElasticSearch

https://guides.wp-bullet.com/install-configure-elasticsearch-to-speed-up-wordpress-search/

Come implementare ElasticSearch a livello locale (gratuito)

https://mayvenstudios.com/blog/implement-elasticsearch-wordpress-site

Ottimizzazione della rilevanza di ElasticSearch Articolo

https://bigdataboutique.com/blog/optimizing-elasticsearch-relevance-a-detailed-guide-c9efd3

Typesense (gratuito)

Come installare localmente TypeSense

https://typesense.org/docs/guide/install-typesense.html

Plugin Typesense (gratuito)

https://wordpress.org/plugins/search-with-typesense/

Ricerca superveloce (a pagamento)

https://www.superspeedyplugins.com/product/super-speedy-search/

Ricerca estesa WP (gratuita)

https://wordpress.org/plugins/wp-extended-search/

  • Ricerca nelle meta-chiavi selezionate
  • Ricerca per categoria, tag o tassonomie personalizzate
  • Cercare il nome dell’autore del post
  • Includere o escludere qualsiasi tipo di post pubblico
  • Controllare se cercare nel titolo, nel contenuto, nell’estratto o in tutti i campi.
  • Compatibile con WooCommerce. Ricerca in SKU del prodotto, attributi, varianti e campi personalizzati, ecc.
  • Creare impostazioni di ricerca illimitate da utilizzare con moduli di ricerca personalizzati.
  • Aggiungere moduli di ricerca utilizzando un widget, uno shortcode o una funzione PHP. Funziona anche con searchform.php personalizzato
  • Escludere i contenuti vecchi dai risultati di ricerca (più vecchi della data specificata da admin)
  • Personalizzare il numero di post da visualizzare nella pagina dei risultati di ricerca
  • Personalizzare la relazione SQL (AND/OR) tra i termini di ricerca
  • Personalizzare l’ordine dei risultati della ricerca
  • Controllare se la query di ricerca deve corrispondere esattamente o parzialmente.
  • Limitare i risultati degli allegati in base al tipo di mime, ad esempio visualizzare solo i file pdf nei risultati della ricerca.
  • Traduzione pronta
  • Compatibile con WPML

Filtraggio

Filtri Super Speedy (a pagamento)

https://www.superspeedyplugins.com/product/super-speedy-filters/

Plugin di filtri performanti, funziona per i normali tipi di post di WordPress e per Woocommerce.

Filtri e griglie (gratuito)

https://wordpress.org/plugins/ymc-smart-filter/

Plugin di filtri gratuiti

Filtri per prodotti Woocommerce di Themify (gratis)

https://wordpress.org/plugins/themify-wc-product-filter/

Filtri gratuiti per i prodotti Woocommerce

Filtri per tassonomia (gratis)

https://wordpress.org/plugins/beautiful-taxonomy-filters/

Il plugin Beautiful Taxonomy Filters è un modo semplice e bello per fornire ai visitatori un filtro per i tipi di post. Con questo plugin si ottiene una soluzione completa per aggiungere filtri basati su termini/categorie/tag personalizzati della tassonomia. Inoltre, aggiunge automaticamente regole di riscrittura per ottenere URL di filtro dall’aspetto gradevole.

È completamente automatico, funziona senza javascript e si basa sul boilerplate di WordPress Plugin per una base di codice standardizzata, organizzata e orientata agli oggetti. Utilizza select2 per ottenere dropdown dall’aspetto gradevole e facile da usare, ma ripiega su quelli ordinari se javascript non è supportato.
<!––nextpage––>

Design

Editor CSS visivo

Matita gialla (Freemium)

https://wordpress.org/plugins/yellow-pencil-visual-theme-customizer/

Un editor css visuale e performante. Il plugin consente di personalizzare qualsiasi pagina e tema senza dover ricorrere alla codifica. Cliccate su un elemento e iniziate l’editing visivo. Regolate i colori, i caratteri, le dimensioni, le posizioni e molto altro ancora.

Importazione di disegni Figma

UIChemy (Gratuito e Pro)

https://wordpress.org/plugins/uichemy/

Permette di importare 10 modelli al mese con il piano gratuito. Per utilizzare il piano gratuito per importare un numero illimitato di modelli, basta creare un nuovo sito temporaneo su instawp.com e registrare un altro account.

Importazioni ed esportazioni

Importazione di demo in un clic (gratuita)

https://wordpress.org/plugins/one-click-demo-import/

Importatore di demo leggero in un clic

Accorciamento dei link

Collegamento corto a GreenWPX (gratuito)

https://wordpress.org/plugins/short-link-by-greenwpx/

Accorciatore di link gratuito

Accorciatore di link (gratuito)

https://wordpress.org/plugins/link-shortener/

Accorciatore di link estremamente semplice.

Linker (gratuito)

https://wordpress.org/plugins/linker/

Attraverso lo strumento short url di Linker potete sapere su quali link fanno clic i vostri visitatori. Linker è lo strumento più semplice da utilizzare per creare uno short link nel proprio dominio e monitorare i clic sui link in uscita dal proprio sito web, utilizzando software come Google Analytics.

Create link brevi ai vostri post, gestite i reindirizzamenti 301, tracciate i link di affiliazione e svolgete facilmente molte altre attività relative agli URL.

Accorciatore di link JotUrl (gratuito)

https://wordpress.org/plugins/joturl-link-shortener/

Accorciatore di link ultraleggero. Non è stato aggiornato di recente, assicurarsi di testare su staging per verificare eventuali problemi di compatibilità.

Annunci

Annunci avanzati Pro (a pagamento)

https://wpadvancedads.com/lazy-load-ads/

Caricamento pigro degli annunci: Carica gli annunci solo quando gli utenti li scorrono nel browser.

Ottimizzazione

Adsense

Lazyload Adsense (gratuito)

https://wordpress.org/plugins/lazy-load-adsense/

Altri fornitori di annunci

Per gli altri fornitori di annunci, è possibile ritardare il caricamento del loro javascript utilizzando uno dei plugin elencati nella sezione Ritarda Javascript. Questi possono essere identificati da un grafico a cascata. Ritardare il JS degli annunci solo se tutti gli annunci sono below the fold! (non sono visibili al caricamento iniziale della pagina perché sono fuori dallo schermo).

Gestione degli annunci

FlatPM (gratuito)

https://wordpress.org/plugins/flatpm-wp/

Gestione gratuita e ultraleggera degli annunci

CRM

FluentCRM (gratuito)

https://wordpress.org/plugins/fluent-crm/ Leggero

plugin CRM in hosting locale.

Chat in diretta

Dialogo di aiuto (gratuito)

https://wordpress.org/plugins/help-dialog/

Plugin di chat leggero e completamente gratuito. Include link per l’assistenza WhatsApp e telefonica, FAQ, uno strumento di ricerca e un modulo di contatto, per garantire un’assistenza rapida e personalizzata.

Chat dal vivo Indigital (gratis)

https://wordpress.org/plugins/indigitall-web-push-notifications/

Questo plugin ha 2 funzionalità in 1, chat dal vivo e notifiche push. La versione self-hosted è completamente gratuita.

Plugin di chat semplice (gratuito)

https://wordpress.org/plugins/simple-chat-button/

Plugin gratuito ultra leggero (senza javascript!) per la chat live di Whatsapp

Elementor Pro (a pagamento)

Elementor ha ora integrato la funzionalità nativa di Live Chat tramite la nuova funzione “Pulsanti fluttuanti”, che può essere attivata nelle impostazioni avanzate di Elementor Pro.

Elementi Pro (gratuito)

https://github.com/proelements/proelements

Gli elementi Pro possono essere utilizzati per abilitare tutte le funzionalità di Elementor Pro, compresi i pulsanti fluttuanti per la chat in diretta.

Supporto

Plugin di supporto

Supporto fluente (gratuito)

https://wordpress.org/plugins/fluent-support/ Plugin

di supporto leggero

WooCommerce

Eliminare i frammenti del carrello di Woocommerce (gratis)

https://wordpress.org/plugins/disable-cart-fragments/.

I frammenti di carrello di Woocommerce sono disattivati e riattivati al volo. Non ci sono opzioni da configurare.

Disattivare WooCommerce Bloat

(gratuito) Debloat per

WooCommerce

https://wordpress.org/plugins/disable-analytics-for-woocommerce/

Disabilita selettivamente tutte le funzioni elencate di seguito:

  • Tutte le funzioni amministrative
  • Caratteristiche selettive
  • Connessione alla notifica di WooCommerce.com
  • Suggerimenti per il mercato
  • Sottomenu Estensioni
  • Marketing Hub
  • Rimuovere gli stili
  • Rimuovere gli script
  • Rimuovere gli stili dei blocchi di Gutenberg nel frontend
  • Rimuovere i widget
  • Rimuovere la frammentazione del carrello

Disabilitare pesantezza per WordPress e WooCommerce (gratuito)

https://wordpress.org/plugins/disable-dashboard-for-woocommerce/

Ottimo plugin con molte funzioni di Debloat sia per Woocommerce che per WordPress. Tutte le opzioni “pro” a pagamento possono essere ottenute con altri plugin gratuiti. Non c’è motivo di acquistare la versione pro del plugin. La versione pro è completamente inutile.

Abilitare HPOS (gratuito)

https://woo.com/document/high-performance-order-storage/

La memorizzazione degli ordini ad alte prestazioni è una nuova funzione implementata dagli sviluppatori di Woocommerce. È abilitata di default sulle nuove installazioni di Woocommerce, ma deve essere attivata manualmente sui siti Woocommerce esistenti. Assicuratevi che tutti i vostri plugin siano compatibili con HPOS prima di attivarla per evitare errori. Attivatelo prima su un sito di staging prima di farlo su un sito live.

Pagine di cassa e carrello

Debloat (gratuito)

https://wordpress.org/plugins/debloat/

Debloat funziona sulle pagine del carrello e del checkout, a differenza di Perfmatters e Flyingpress. Perfmatters e Flyingpress disabilitano le loro funzionalità su entrambe le pagine, quindi è necessario utilizzare Debloat per rimuovere i css inutilizzati e i javascript ritardati.

Rinviare le e-mail transazionali per Woocommerce (gratis)

h t t p s : / / w o r d p r e s s . o r g / p l u g i n s / d e f e r –

t r a n s i c t i o n a l – e m a i l s – f o r – w o o c o m m e r c e / Migliora le prestazioni del processo di checkout rinviando le e-mail transazionali.

Velocizzare la ricerca degli ordini

Ricerca rapida degli ordini di Woocommerce (gratuito)

https://wordpress.org/plugins/fast-woo-order-lookup/

Velocizza la ricerca degli ordini aggiungendo indici. Velocizza il sito eseguendo un processo in background per creare una tabella di indici speciale, una tabella di trigrammi, per accelerare la

ricerca. Poi utilizza questi trigrammi per cercare gli ordini.

Woo Prune Vecchi ordini (gratuito)

https://wordpress.org/plugins/woo-prune-orders/

Migliorare notevolmente le prestazioni di un sito WooCommerce impantanato da decine di migliaia di ordini storici. Eseguite il backup degli ordini utilizzando il vostro plugin preferito per l’esportazione degli ordini, oppure affidatevi a un software di contabilità integrato per mantenere lo storico al di là degli ordini attualmente attivi in fase di elaborazione.

Test del processo di

checkout Test dell’ordine

Woo (gratuito)

https://wordpress.org/plugins/woo-order-test/

Imposta un gateway di pagamento di prova per WooCommerce per confermare che il checkout funziona come dovrebbe. È possibile completare un checkout completo e reale sul proprio sito per verificare che tutto funzioni correttamente. Funziona solo per gli utenti amministratori.

Toolkit del negozio

Woocommerce Store Toolkit (gratuito)

https://wordpress.org/plugins/woocommerce-store-toolkit/

Toolkit Woocommerce leggero e multifunzione.

Booster per Woocommerce (Gratuito e Pro)

https://wordpress.org/plugins/woocommerce-jetpack/

Toolkit Woocommerce modulare multifunzione (oltre 100) tutto in uno (le funzionalità non necessarie possono essere disattivate per ridurre al minimo l’impatto sulle prestazioni).

Disattivare il monitoraggio dell’uso di Woocommerce (gratuito)

Google Pagespeed Insight: ecco cosa c'è da sapere

Woocommerce>Impostazioni>Avanzate>Woocommerce.com

Indicizzazione del database di Woocommerce

Scalabilità Pro (a pagamento)

https://www.superspeedyplugins.com/product/scalability-pro/

Aggiunge indici ad alte prestazioni alle tabelle MySQL di WordPress e Woocommerce. Migliora notevolmente le prestazioni del database.

Ricerca prodotti

Ricerca superveloce (a pagamento)

https://www.superspeedyplugins.com/product/super-speedy-search/

Plugin di ricerca rapida dei prodotti.

Marketing via e-mail

ShopMagic (gratuito)

https://wordpress.org/plugins/shopmagic-for-woocommerce/ Email

marketing automatizzato per Woocommerce, completamente gratuito.

FluentCRM (Gratuito e Pro)

https://wordpress.org/plugins/fluent-crm/

FluentCRM è un CRM leggero e completo con un fantastico plugin gratuito. Completamente self-hosted, ha il complesso Woocommerce, funzioni di email marketing granulari per Woocommerce.

Modifica in blocco

Gestore Intelligente (gratuito e Pro)

https://wordpress.org/plugins/smart-manager-for-wp-e-commerce/

Modifica in blocco di più prodotti contemporaneamente. Necessario solo nel backend.

Filtri

Filtri WooCommerce definitivi (gratis)

https://wordpress.org/plugins/color-filters/

Ultimate WooCommerce Filters è un plugin che consente di filtrare i prodotti WooCommerce per colore, dimensione, attributo, categoria o tag. Facile da configurare e da implementare tramite un blocco, uno shortcode o un widget.

Filtri per prodotti Woocommerce di Themify (gratis)

https://wordpress.org/plugins/themify-wc-product-filter/

Filtri gratuiti per i prodotti Woocommerce

Filtri Super Speedy (a pagamento)

https://www.superspeedyplugins.com/product/super-speedy-filters/

Filtri prodotto ultraveloci per Woocommerce.

Nota: l’opzione gratuita è in arrivo

Filtri ordine aggiuntivi per Woocommerce (gratis)

https://wordpress.org/plugins/additional-order-filters-for-woocommerce/

Additional Order Filters for WooCommerce aggiunge ulteriori filtri, con i quali è possibile trovare facilmente e rapidamente gli ordini desiderati tra centinaia di altri.

Filtro prodotti Avalon23 (gratuito)

https://wordpress.org/plugins/avalon23-products-filter-for-woocommerce/

Leggero plugin per il filtraggio dei prodotti

Filtri per tassonomia (gratis)

https://wordpress.org/plugins/beautiful-taxonomy-filters/

Il plugin Beautiful Taxonomy Filters è un modo semplice e bello per fornire ai visitatori un filtro per i tipi di post. Con questo plugin si ottiene una soluzione completa per l’aggiunta di filtri basati su

su termini/categorie/tag personalizzati della tassonomia. Inoltre, aggiunge automaticamente regole di riscrittura per ottenere URL di filtro dall’aspetto gradevole.

È completamente automatico, funziona senza javascript e si basa sul boilerplate di WordPress Plugin per una base di codice standardizzata, organizzata e orientata agli oggetti. Utilizza select2 per ottenere dropdown dall’aspetto gradevole e facile da usare, ma ripiega su quelli ordinari se javascript non è supportato.

Galleria dei prodotti

Galleria di immagini e cursore (gratuito)

https://wordpress.org/plugins/gallery-slider-for-woocommerce/

Galleria di immagini e cursore ultraleggero per Woocommerce.

Menu Il mio conto Modifica

Menu Gestione del mio account (gratuito)

https://wordpress.org/plugins/gou-wc-account-tabs/

Editor di menu gratuito per il mio account.

Modifica dei campi della cassa

Gestore delle casse Qodax (gratuito)

https://wordpress.org/plugins/qodax-checkout-manager/

Editor di campi di checkout ultraleggero

Costo dei beni

Gestore dei costi delle merci (gratuito)

https://wordpress.org/plugins/cost-of-goods-manager-for-woocommerce/

Plugin gratuito per il costo delle merci

Fatture

Fatture e bolle di accompagnamento in PDF (gratis)

https://wordpress.org/plugins/woocommerce-pdf-invoices-packing-slips/

Nota: plugin PESANTE, assicurarsi di disabilitarlo selettivamente nel frontend.

Stati dell’ordine

Cronologia dello stato dell’ordine per WooCommerce (gratis)

https://wordpress.org/plugins/order-status-history-for-woocommerce/

Order Status History for WooCommerce (OSHWOO) velocizza l’analisi e l’elaborazione quotidiana degli ordini. Spunti visivi non invadenti in tutte le schermate degli ordini mostrano quando qualcuno ha già ordinato dal vostro negozio, i vostri clienti (più) ricorrenti e i periodi di attività insolita (come i clienti con pagamenti in scadenza e le cancellazioni).

Gestione dell’inventario

Pianificazione degli

scaffali (gratuito)

https://wordpress.org/plugins/shelf-planner/

Sistema gratuito di gestione dell’inventario.

Nota: assicurarsi di disabilitarlo selettivamente nel frontend!

Multi-valuta

Commutatore di valute per Woocommerce (gratuito e Pro)

https://wordpress.org/plugins/woocommerce-currency-switcher/

Nota: la versione gratuita ha tutte le funzioni abilitate, ma supporta solo 2 valute. Per avere più di 2 valute è necessaria la versione pro.

Distanza di spedizione

WooReer (gratuito)

https://wordpress.org/plugins/wcsdm/ Calcolo

della distanza di spedizione

Divisione dell’ordine

Woo Order Splitter (gratuito)

https://wordpress.org/plugins/woo-order-splitter/

Consente di dividere, consolidare, clonare gli ordini crowd/combinati/bulk utilizzando regole intelligenti.

Domande sul prodotto

Domande e risposte sui prodotti (gratis)

https://wordpress.org/plugins/product-questions-answers-for-woocommerce/

Alimentazione del prodotto

Woo Product Feed Pro (gratuito)

https://wordpress.org/plugins/woo-product-feed-pro/

Feed di prodotto molto leggero con funzionalità pro completamente abilitate e senza limiti.

Create feed XML, feed CSV, feed TXT e feed YML per il feed di Google Shopping (merchant center), il feed Meta, il feed di Facebook, il feed dei prodotti di Remarketing, il feed dei prodotti di Bing (per Bing Shopping e Bing Ads), il feed di Billiger.de, il feed di Pricerunner, Skroutz, il feed di Catch.com.au e molti altri.

Upsells

Offermative (gratuito)

https://wordpress.org/plugins/offermative-discount-pricing-related-products-upsell-funnels-for-wo ocommerce/

Il più semplice e potente plugin di upsell per WooCommerce guidato dall’intelligenza artificiale per incrementare le vendite e massimizzare il valore medio dell’ordine.

Offermative genera in modo intelligente centinaia di upsell focalizzati sulla conversione, raccomandazioni di prodotti correlati, cross-selling, offerte a prezzi dinamici, rialzi d’ordine, offerte BOGO e altre campagne di offerte convincenti all’interno del vostro funnel di vendita, in pochi minuti.

Sincronizzazione dello stock di prodotti

Sincronizzazione dei prodotti di Google Sheets (gratuito)

https://wordpress.org/plugins/product-sync-master-sheet/

Gestite e sincronizzate facilmente le scorte di prodotti di WooCommerce con la potenza di Google Sheets – Product Stock Sync with Google Sheets for WooCommerce.

Marcatura per attributo

Marcatura per attributo per Woocommerce (gratis)

https://wordpress.org/plugins/markup-by-attribute-for-woocommerce/

Markup per attributo aggiunge ‘Markup’ ai termini degli attributi

La marcatura per attributo consente di aggiungere una marcatura (o markdown) ai termini degli attributi globali. Se l’attributo è ‘colore’, Markup by Attribute consente di aggiungere “+5″ al blu, lasciando inalterati verde e giallo. Quando si impostano i prezzi normali e di vendita, ogni prodotto blu avrà un prezzo superiore di $5,00.

Recensioni

Valutazioni delle recensioni di Google Business (gratuito)

https://wordpress.org/plugins/g-business-reviews-rating/

Plugin leggero per le recensioni di Google.

Recensioni assolute (gratuito)

https://wordpress.org/plugins/absolute-reviews/

Plugin per recensioni estremamente leggero. Design accattivante.

Recensioni del sito (gratuito)

https://wordpress.org/plugins/site-reviews/

Incredibile plugin open source gratuito e molto leggero per le recensioni. Funziona sia per le normali recensioni del sito che per Woocommerce/EDD. Ha anche molte altre integrazioni, tutte gratuite.

Attività di amministrazione comuni

Woocommerce Store Toolkit (gratuito)

https://wordpress.org/plugins/woocommerce-store-toolkit/

Store Toolkit for WooCommerce è un insieme crescente di strumenti di amministrazione WooCommerce di uso comune.

Prodotti correlati

WebToffee Woocommerce Prodotti correlati (Gratuito)

https://wordpress.org/plugins/wt-woocommerce-related-products/

Plugin gratuito per i prodotti correlati

Designer di e-mail visive

Decoratore (gratuito)

https://wordpress.org/plugins/decorator-woocommerce-email-customizer/

Email di follow-up

FluentCRM (gratuito + a pagamento)

https://wordpress.org/plugins/fluent-crm/

Plugin di CRM e automazione e-mail con supporto Woocommerce.

Shopmagic (Gratuito + Addons a pagamento)

https://wordpress.org/plugins/shopmagic-for-woocommerce/

Carte regalo

Gift4U (gratuito)

https://wordpress.org/plugins/gift4u-gift-cards-all-in-one-for-woo/

Gestore leggero e gratuito di carte regalo

Confronta il prodotto

WCBoost (gratuito)

https://wordpress.org/plugins/wcboost-products-compare/

Quando si ha a che fare con numerosi prodotti simili, i clienti spesso trovano difficile prendere una decisione d’acquisto. Di conseguenza, rendere semplice per gli acquirenti il confronto tra prodotti simili è un aspetto importante dei siti web di e-commerce. Questa funzione non è inclusa nell’installazione di base di WooCommerce.

Pre-ordini

Preordini di prodotti per Woo (gratis)

https://wordpress.org/plugins/product-pre-orders-for-woo/

Leggero plugin per il pre-ordine

Campioni di variazione

Campioni di variazione per Woocommerce (gratis)

https://wordpress.org/plugins/variation-swatches-for-woocommerce/

Plugin leggero per i campioni di variazioni.

Campi

Fabbrica di campi di WC (Gratuito)

https://wordpress.org/plugins/wc-fields-factory/

Gestione dei campi personalizzati per Woocommerce.

Commenti sull’esportazione

Esportazione dei commenti di Woocommerce (gratuito)

https://wordpress.org/plugins/comments-import-export-woocommerce/

Lista dei desideri

WCBoost (gratuito)

https://wordpress.org/plugins/wcboost-wishlist/

Plugin gratuito per i desideri. Estremamente leggero, meno di 80 kb per l’intero plugin.

WishSuite (gratuito)

https://wordpress.org/plugins/wishsuite/ Plugin per

la lista dei desideri completo di funzioni e completamente gratuito.

WebToffee Wishlist per Woocommerce (gratis)

https://wordpress.org/plugins/wt-woocommerce-wishlist/

Plugin gratuito per la lista dei desideri. Peso medio

Notifiche di vendita/FOMO

Notifica di vendita Woocommerce (gratuito)

https://wordpress.org/plugins/wc-sales-notification/

WC Sales Notification è un plugin per mostrare gli ordini o le notifiche false sul vostro sito web. È possibile mostrare la notifica in tutte le pagine del sito web. Offre caratteristiche impressionanti, è quello di generare per le notifiche false. Il plugin ha una meravigliosa opzione di personalizzazione e opzioni di animazione in entrata e in uscita.

Accessori

F12 Accessori Woocommerce (Gratuito)

https://wordpress.org/plugins/f12-wc-accessories/

  • Aggiungere accessori ai prodotti.
  • Aggiungere accessori alle categorie.
  • Mostrare gli accessori nella pagina del prodotto.
  • Mostra automaticamente gli accessori dei prodotti aggiunti al carrello nella pagina del carrello.
  • Aggiungere titoli e descrizioni personalizzate per gli accessori nella pagina del prodotto.
  • Aggiungere titoli e descrizioni personalizzate per gli accessori nella pagina del carrello.
  • Utilizzare i segnaposto [product_title] per personalizzare il testo e migliorare la SEO.
  • Impostare i tag per i titoli h1-h6 o utilizzare un contenitore div.
  • Aggiungere accessori obbligatori ai prodotti
  • Aggiungere accessori obbligatori alle categorie

Confronta i prodotti

Ever Compare (gratuito)

https://wordpress.org/plugins/ever-compare/

Plugin leggero e gratuito per il confronto dei prodotti

Compe Woo Confronta i prodotti (Gratuito)

https://wordpress.org/plugins/compe-woo-compare-products/

Un altro plugin di confronto leggero

Prezzi e sconti dinamici

YayPricing (gratuito)

https://wordpress.org/plugins/yaypricing/ Plugin

per sconti leggeri

Prezzi e sconti dinamici di Woo (gratuito)

https://wordpress.org/plugins/redis-woo-dynamic-pricing-and-discounts/

Leggero plugin gratuito per prezzi e sconti dinamici

Prezzi e sconti dinamici (gratuito)

https://wordpress.org/plugins/discount-and-dynamic-pricing/

Un altro plugin leggero per prezzi e sconti dinamici

Promemoria per i coupon

Woo Coupon Reminder (gratuito)

https://wordpress.org/plugins/woo-coupon-reminder/

Leggeri promemoria automatici per i coupon

Generatore di coupon

Coupon Zen (gratuito)

https://wordpress.org/plugins/coupon-zen/

Coupon Zen è un plugin generatore di codici coupon per WordPress che consente di generare codici coupon personalizzati per il vostro sito web. È gratuito e facile da usare.

Punti premio

Punti e premi Woocommerce (a pagamento)

https://woocommerce.com/products/woocommerce-points-and-rewards/

Il plugin ufficiale per punti e premi, molto leggero.

EPOI – Punti e premi WP (gratis)

https://wordpress.org/plugins/epoi-wp-points-and-rewards/ Un

altro plugin leggero per le ricompense

Tabella delle taglie del prodotto

Tabella delle dimensioni dei prodotti per Woo (gratis)

https://wordpress.org/plugins/product-size-chart-for-woo/

Grafici delle taglie leggeri per i prodotti di Woocommerce

Suggerimenti

Motore di suggerimento (gratuito)

https://wordpress.org/plugins/woo-suggestion-engine/

Vista rapida

QuickSwish (gratuito)

https://wordpress.org/plugins/quickswish/

Abbonamenti

SUBRE Abbonamento al prodotto (gratuito)

https://wordpress.org/plugins/subre-product-subscription-for-woo/

Ottimo plugin gratuito e leggero per abbonamenti completi.

Campi extra per la cassa

FEWC Campi di cassa extra (gratuiti)

https://wordpress.org/plugins/fewc-extra-checkout-fields-for-woocommerce/

FEWC – Extra Checkout Fields For WooCommerce è un metodo semplice ed efficace per personalizzare la pagina di checkout. È possibile aggiungere campi personalizzati, attivare/disattivare qualsiasi campo, modificare la posizione dei campi e visualizzare in anteprima il risultato della personalizzazione.

Automazione

AutomateWoo (a

pagamento)

https://automatewoo.com/

Plugin ufficiale di automazione di Woocommerce creato da Automattic. Ho già avuto modo di sperimentare questo plugin, ma l’ultima volta che l’ho usato è stato qualche anno fa. L’interfaccia è un po’ complessa e, come qualsiasi altro plugin di automazione, è pesante per il database. Lo stesso vale per la disabilitazione selettiva sul frontend (deve essere eseguito solo nel backend) e per assicurarsi di avere una qualche forma di cache degli oggetti.

Opzioni di prodotto personalizzate

Opzioni di prodotto personalizzate EPOW (gratis)

https://wordpress.org/plugins/epow-custom-product-options-for-woocommerce/

Leggero plugin per la personalizzazione delle opzioni dei prodotti.

Affiliati

Affiliate Manager (gratuito)

https://wordpress.org/plugins/affiliates-manager/

Plugin leggero per la gestione delle affiliazioni.

Associazioni

Membri (gratis)

https://wordpress.org/plugins/members/

Plugin per l’iscrizione leggera.

Memberpress (a pagamento)

https://memberpress.com/

Plugin per l’iscrizione a pagamento degli sviluppatori di Members, con più funzioni e molto leggero.

Memberful (gratuito)

https://wordpress.org/plugins/memberful-wp/ Un

altro plugin per i soci.

Limitare il contenuto

QuentnWP (gratuito)

https://wordpress.org/plugins/quentn-wp/

Plugin gratuito per la limitazione dei contenuti con integrazione di Elementor.

Gestione accesso utenti (gratuito)

https://wordpress.org/plugins/user-access-manager/

Lightweight User Access Manager

Permette di gestire l’accesso ai contenuti. È utile se avete bisogno di un’area per i membri, di una sezione privata del vostro blog o se volete che altre persone possano scrivere sul vostro blog, ma non ovunque.

Includere tutti i tipi di post, tassonomie e file creando gruppi di utenti. È sufficiente assegnare i contenuti che si desidera limitare e gli utenti registrati che devono avere accesso a un gruppo. D’ora in poi il contenuto sarà accessibile e scrivibile solo per il gruppo specificato.

Anti-Spam – Non utilizzare un Captcha

Anti-Spam: Protezione antispam (gratuita)

https://wordpress.org/plugins/stop-spammer-registrations-plugin/

Blocca le e-mail di spam, i commenti di spam, le registrazioni di spam, i bot di spam e gli spammer in generale. Eseguite test diagnostici, visualizzate le attività e altro ancora. Leggero.

WordPress Zero Spam (gratuito)

https://wordpress.org/plugins/zero-spam/

I captchas introducono un ulteriore ritardo; la soluzione di cui sopra è di gran lunga migliore. Se zero-spam non funziona per voi, trovate un’altra opzione senza captchal nella directory dei plugin di WordPress. Cercate sempre di ridurre al minimo le chiamate a siti web di terzi.

Se zero-spam non funziona, cercate di trovare un altro plugin anti-spam non-captcha.

Fullworks Anti-Spam (gratuito)

https://wordpress.org/plugins/fullworks-anti-spam/

Commenti fluidi (gratis)

https://wordpress.org/plugins/fluent-comments/ Leggero

plugin antispam di Fluent per i commenti.

Anti-Spam Reloaded (gratuito)

https://wordpress.org/plugins/anti-spam-reloaded/

Fluent Forms Anti-Spam (a pagamento)

WP Fluent Forms Anti-spam

Plugin per moduli

Forme fluenti (gratuito)

https://wordpress.org/plugins/fluentform/

Plugin per moduli leggeri e completi

Fluent Forms Anti-Spam (a pagamento)

WP Fluent Forms Anti-spam

Cforms2 (gratuito)

https://wordpress.org/plugins/cforms2/

Plugin di moduli ultraleggero. L’intero plugin è di soli 220 KB, quindi molto, molto leggero. Plugin per la creazione di moduli flessibile e potente, che copre una varietà di casi d’uso e funzionalità.

Contatta Coldform (Gratuito)

https://wordpress.org/plugins/contact-coldform/

Plugin per moduli estremamente leggero (anche se scarno), molto ben ottimizzato. Funziona anche senza javascript!

Disqus

Caricamento pigro dei commenti Disqus (gratuito)

https://wordpress.org/plugins/disqus-conditional-load/

Notifiche push

Zestpush (Gratuito)

https://wordpress.org/plugins/zestpush-web-push-notifications/ Plugin

per le notifiche push completamente gratuito se ospitato autonomamente.

Notifica push FCM (gratuita)

https://wordpress.org/plugins/fcm-push-notification-from-wp/

Plugin di notifica push completamente gratuito che si aggancia a Google Firebase (piani generosi gratuiti con un livello a pagamento per oltre 50k utenti mensili).

Ultimate Push Notifications (Gratuito)

https://wordpress.org/plugins/ultimate-push-notifications/

Si integra con Google Firebase, il plugin è completamente gratuito e ultraleggero (~300 kb per l’intero plugin).

Notifiche push per il web (gratis)

https://wordpress.org/plugins/push-notifications-for-web/

Plugin gratuito per le notifiche push che si integra con Google Firebase.

Notifiche push per Post e BuddyPress (gratis)

https://wordpress.org/plugins/push-notification-for-post-and-buddypress/

Plugin di notifica push completamente gratuito che si aggancia ai principali fornitori di notifiche (firebase, onesignal, ecc.)

Notifiche push di WhatsApp

Notifiche push web Indigital (gratis)

https://wordpress.org/plugins/indigitall-web-push-notifications/

Notifiche push gratuite illimitate su WhatsApp.

OneSignal (Gratuito e Pro)

https://wordpress.org/plugins/onesignal-free-web-push-notifications/

I visitatori scelgono di ricevere le notifiche push quando pubblicate un nuovo post. I visitatori ricevono queste notifiche anche dopo aver lasciato il vostro sito web, favorendo così il reengagement.

È possibile configurare l’invio di notifiche a intervalli predefiniti, creare segmenti di utenti e personalizzare il processo di opt-in per i visitatori.

Il piano gratuito di OneSignal consente di indirizzare fino a 10.000 abbonati con notifiche push.

Avatar

Avatar locali semplici (gratis)

https://wordpress.org/plugins/simple-local-avatars/

Aggiunge un campo di caricamento avatar ai profili degli utenti, se l’utente corrente ha i permessi multimediali. Genera le dimensioni richieste su richiesta, proprio come Gravatar! Semplice e leggero.

Gallerie

Lightbox reattivo (gratuito)

https://wordpress.org/plugins/responsive-lightbox/

Plugin performante per popup e gallerie

Evidenziatore di sintassi

Prismatico (gratuito)

https://wordpress.org/plugins/prismatic/

L’unico evidenziatore di sintassi 3 in 1! Visualizza bellissimi frammenti di codice con Prism.js, Highlight.js o con il semplice escape del codice.

Generazione di pagine in blocco

Generatore di pagine in blocco (gratuito)

https://wordpress.org/plugins/bulk-page-generator/

Bulk Page Generator può generare più pagine contemporaneamente. Un grande risparmio di tempo.

Nota: si consiglia di utilizzare questa funzione su staging o dev e poi di passare alla produzione (live). La generazione massiva di pagine può richiedere molte risorse.

Avvisi su tutto il sito

Avviso sito WP (gratuito)

https://wordpress.org/plugins/sitewide-notice-wp/

Plugin leggero e gratuito per la pubblicazione di avvisi su tutto il sito.

Cursori

Slider Pro (gratuito)

https://wordpress.org/plugins/sliderpro/

Leggero plugin gratuito per slider con funzioni premium integrate.

Smart Slider 3 (Gratuito e Pro)

https://wordpress.org/plugins/smart-slider-3/ Slider

leggero con numerose funzioni.

Popup

Popup Maker (gratuito)

https://wordpress.org/plugins/popup-maker/

Leggero plugin per popup

Ultimate Lightbox (gratuito)

https://wordpress.org/plugins/ultimate-lightbox/

Plugin per popup leggeri

FancyBox (gratuito)

https://wordpress.org/plugins/fancybox-for-wordpress/

Integra perfettamente FancyBox nel vostro blog: Carica, attiva e il gioco è fatto. Configurazione aggiuntiva opzionale.

È possibile personalizzare facilmente quasi tutto ciò che si può pensare di fancybox lightbox: il bordo, la larghezza e il colore dei margini, la velocità di zoom, il tipo di animazione, la posizione del pulsante di chiusura, il colore e l’opacità dell’overlay e anche opzioni più avanzate come diverse opzioni per raggruppare le immagini in gallerie.

Ordini di cibo

RestroPress (gratuito)

https://wordpress.org/plugins/restropress/

Sistema di ordinazione di cibo gratuito.

Sondaggi

NgSurvey (gratuito)

https://wordpress.org/plugins/ngsurvey/

Plugin gratuito per i sondaggi. Disattivatelo sulle pagine in cui non viene utilizzato.

Domande frequenti

Soluzione FAQ definitiva (gratuita)

https://wordpress.org/plugins/ultimate-faq-solution/

Plugin per FAQ leggere.

Messaggistica privata

Messaggi migliori (gratuito)

https://wordpress.org/plugins/bp-better-messages/

Better Messages – è un sistema di messaggistica privata in tempo reale per WordPress, BuddyPress, BuddyBoss Platform, Ultimate Member, PeepSo e qualsiasi altro sito WordPress.

Appuntamenti e riunioni

Ultimate Appointment Scheduling (Free e Pro)

https://wordpress.org/plugins/ultimate-appointment-scheduling/

La versione gratuita ha quasi tutte le funzioni sbloccate.

  • La versione premium offre queste funzioni aggiuntive, che personalmente non ritengo necessarie, ma ecco l’elenco:

1. Accettare pagamenti obbligatori o facoltativi per gli appuntamenti tramite PayPal o WooCommerce.

  • Aggiungete reCAPTACHA al vostro modulo per prevenire lo spam.
  • Opzione per richiedere il login a WordPress prima di poter creare un appuntamento
  • Opzione aggiuntiva per il layout del modulo di prenotazione
  • Opzioni di etichettatura
  • Personalizzate l’aspetto del vostro modulo con una serie di opzioni di stile che vi aiutano a inserirlo perfettamente nel resto del sito.

Sistemi di gestione dell’apprendimento (LMS)

LearnDash (a pagamento)

https://www.learndash.com/

LearnDash è un plugin LMS performante. Come quasi tutti i plugin, è dotato di CSS e JS inutilizzati che devono essere rimossi, ma utilizza un basso numero di chiamate al database, quindi, una volta ottimizzati CSS e JS, le prestazioni sono molto buone.

Per ottimizzare i CSS e i JS di LearnDash, consultate le sezioni Rimuovere i CSS inutilizzati, Ritardo Javascript, Rinvio Javascript e Scarico delle risorse.

Membri del team

WP Team (gratuito)

https://wordpress.org/plugins/ht-team-member/

Plugin leggero e gratuito per i membri del team

Barre di avanzamento

Barre di avanzamento (gratuito)

https://wordpress.org/plugins/progress-bars/

Plugin gratuito e ultraleggero per le barre di avanzamento

Sondaggi

Sondaggio Yop (gratuito)

https://wordpress.org/plugins/yop-poll/

Sondaggi di base leggeri

Sondaggio sulla democrazia (gratuito)

https://wordpress.org/plugins/democracy-poll/ Un

altro leggero plugin di base per il polling.

CrowdSignal (gratuito)

https://wordpress.org/plugins/polldaddy/

Leggero plugin per sondaggi realizzato da Automattic, gli sviluppatori di WordPress.

Sondaggi CP (gratuiti)

https://wordpress.org/plugins/cp-polls/

Plugin per sondaggi leggero con funzioni avanzate. Tonnellate e tonnellate di funzioni per un plugin per sondaggi gratuito. Ha più funzioni di tutti i plugin gratuiti elencati finora.

Il fatto che le schermate sembrino uscite direttamente dal 2002 non è incoraggiante, ma provatelo per vedere se è adatto alle vostre esigenze. È possibile personalizzare i sondaggi in modo che abbiano un aspetto moderno.

Quiz

Coinvolgimi (gratis)

https://wordpress.org/plugins/involve-me/

Quiz di CodeVery (Gratuito)

https://wordpress.org/plugins/codevery-quiz/

Plugin leggero e gratuito per creare bellissimi quiz

Contenuto interattivo

H5P (gratuito)

https://wordpress.org/plugins/h5p/

https://h5p.org/content-types-and-applications

Plugin open source gratuito che può essere utilizzato per creare qualsiasi contenuto interattivo. Quiz, giochi, sondaggi, cursori, gallerie di immagini, flash card, collage, grafici, fisarmoniche, linee temporali, sommari, video interattivi, presentazioni e altro ancora.

Grafici

M-Chart (gratuito)

https://wordpress.org/plugins/m-chart/

Plugin gratuito per grafici leggeri

Grafici facili (gratis)

https://wordpress.org/plugins/easy-charts/

Plugin per grafici gratuiti.

WP Grafici e diagrammi (gratuito)

https://wordpress.org/plugins/wp-charts-and-graphs/

Plugin gratuito per grafici semplici

Costruttore di grafici SQL (gratuito)

https://wordpress.org/plugins/sql-chart-builder/

Costruire grafici da query SQL

Fisarmonica

Fisarmonica leggera (gratuito)

https://wordpress.org/plugins/lightweight-accordion/

Plugin per fisarmonica ultraleggero. L’intero plugin è di 10 KB e non utilizza javascript.

Esclusioni di responsabilità

Disclaimify (gratuito)

https://wordpress.org/plugins/disclaimify/

Elenchi

Elenco semplice (gratuito)

https://wordpress.org/plugins/sirve/

Plugin per la creazione di elenchi di directory semplici

Ricette

RecipePress Reloaded (gratuito)

https://wordpress.org/plugins/recipepress-reloaded/

RecipePress Reloaded è uno strumento leggero, potente e molto flessibile per gestire la raccolta di ricette del vostro blog. È stato progettato pensando all’editor e creato per un utilizzo facile e veloce.

Mediavine Create (Gratuito)

https://wordpress.org/plugins/mediavine-create/

Plugin gratuito per ricette leggermente più pesante. Ottimi modelli.

Blossom Recipe Maker (gratuito)

https://wordpress.org/plugins/blossom-recipe-maker/

Plugin per ricette gratuite

Messaggi di testo

Texteller (gratuito)

https://wordpress.org/plugins/texteller/

Texteller è una soluzione completa per l’integrazione dei messaggi di testo in WordPress, che supporta diversi gateway di messaggistica e SMS di terze parti.

Nota: non è stato aggiornato da un po’ di tempo, verificare la compatibilità/funzionalità su un sito di staging.

Patreon

Patreon Connect (gratuito)

https://wordpress.org/plugins/patreon-connect/

Il leggero plugin ufficiale di Patreon.

Lettore Youtube leggero

Incorporare Youtube più velocemente (gratis)

https://wordpress.org/plugins/faster-youtube-embed/

Faster YouTube embed è una soluzione potente per incorporare i video di YouTube nel vostro sito WordPress, eccezionalmente veloce, diretta e facile da usare.

WP Youtube Lyte (gratuito)

https://wordpress.org/plugins/wp-youtube-lyte/

WP YouTube Lyte consente di caricare in modo pigro i video, inserendo “Lite YouTube Embed” reattivi. Questi hanno l’aspetto e l’aspetto di un normale YouTube incorporato, ma chiamano solo il “grasso”.

YouTube-player quando si fa clic su di esso, riducendo così in modo sostanziale le dimensioni del download e il tempo di rendering.

Immobili

Immobiliare essenziale (gratuito)

https://wordpress.org/plugins/essential-real-estate/

Ci sono tutte le caratteristiche necessarie per un sito web immobiliare, facile da personalizzare e sovrascrivere i modelli. Permette di gestire gli annunci immobiliari e di presentare le proprietà tramite back-end e front-end. Supporta il pagamento globale, la costruzione del mercato, la gestione degli agenti, ecc.

Plugin GRATUITI ma già dotati di tutte le FUNZIONI PREMIUM.

Componenti aggiuntivi (gratuiti)

https://plugins.g5plus.net/ere/add-ons/

Essential Real Estate Free addons.

Manager immobiliare (gratuito)

https://wordpress.org/plugins/real-estate-manager

Feed di Instagram

HT Instagram Feed (gratuito)

https://wordpress.org/plugins/ht-instagram/

Feed Instagram leggero e gratuito.

Accesso sociale di Google

Accesso con Google (gratuito)

https://wordpress.org/plugins/login-with-google/

Plugin leggero di Google Social Login.

Podcasting

Podcasting seriamente semplice (gratuito)

https://wordpress.org/plugins/seriously-simple-podcasting/

Plugin per podcasting relativamente leggero.

Powerpress (gratuito)

https://wordpress.org/plugins/powerpress/

Plugin per podcasting completo. (Attenzione: pesante, soprattutto se si ritarda il suo javascript).

PowerPress vi consente di pubblicare e gestire uno o più podcast direttamente dal vostro sito web WordPress. Rafforzate il vostro marchio e raggiungete il pubblico su tutte le principali piattaforme, come Apple Podcasts, Spotify, YouTube Music, Amazon Music e altre ancora.

Abbonamento ai commenti

Abbonati ai commenti (gratis)

https://wordpress.org/plugins/subscribe-to-comments-reloaded/

Subscribe to Comments Reloaded è un robusto plugin che consente ai commentatori di iscriversi per ricevere notifiche via e-mail dei commenti successivi. Il plugin include un gestore di iscrizioni completo che i commentatori possono utilizzare per annullare l’iscrizione a determinati post o sospendere tutte le notifiche.

Consente agli amministratori di attivare un meccanismo di double opt-in, richiedendo agli utenti di confermare la loro iscrizione cliccando su un link che riceveranno via e-mail o anche di annullare l’iscrizione con un clic.

Pulsante Comprami un caffè

Offrimi un caffè (gratis)

https://wordpress.org/plugins/buymeacoffee/

Plugin leggero Buy Me A Coffee.

Google Maps

Google Maps Lite (Freemium)

https://wordpress.org/plugins/advanced-google-maps-lite/

Leggero plugin per le mappe di Google.

CBX Mappa di Google (Freemium)

https://wordpress.org/plugins/cbxgooglemap/ Un

altro plugin leggero per le mappe di Google.

Ottimizzare manualmente le mappe di Google (gratuito)

Il modo migliore per ottimizzare le mappe di Google è fare uno screenshot della posizione della mappa. È possibile comprimere l’immagine il più possibile, evitando così qualsiasi chiamata al dominio di terze parti di Google e facendo sì che il sito non carichi alcun javascript aggiuntivo per visualizzare la mappa.

Sociale

Condivisione sociale

HT Social Share (gratuito)

https://wordpress.org/plugins/ht-social-share/

Plugin di condivisione sociale leggero e completamente gratuito

Hubbub Lite (Freemium)

https://wordpress.org/plugins/social-pug/

Plugin di condivisione sociale molto leggero.

Conti condivisi (gratuito)

https://wordpress.org/plugins/shared-counts/

Shared Counts è un plugin per WordPress per i pulsanti di condivisione dei social media. I pulsanti di condivisione aumentano il traffico e il coinvolgimento aiutando i lettori a condividere i vostri post e le vostre pagine con i loro amici sui social media.

Pulsanti di condivisione AddToAny (Gratuito)

Il plugin AddToAny Share Buttons per WordPress aumenta il traffico e il coinvolgimento aiutando le persone a condividere i vostri post e le vostre pagine con qualsiasi servizio. I servizi includono Facebook, Mastodon, Pinterest, WhatsApp, LinkedIn, Threads, Bluesky, Tumblr, Reddit, X, WeChat e molti altri siti e app di condivisione e social media.

Autoposting sociale

WP Messaggi programmati (gratuito)

https://wordpress.org/plugins/wp-scheduled-posts/

Plugin leggero per l’affissione automatica di poster sociali.

Nota: assicurarsi di disabilitarlo selettivamente nel frontend con uno dei plugin per questa funzionalità elencati di seguito (Asset Cleanup Pro, Perfmatters Script Manager, Freesoul plugin deactivator, ecc.) Deve essere eseguito solo nel backend.

Gamification

Gamipress (Freemium)

https://gamipress.com/

Plugin leggero per la gamification

Tavoli

Tavoli Ninja (Freemium)

https://wordpress.org/plugins/ninja-tables/ Plugin

per tabelle leggere.

Recensioni

Recensioni del sito (gratuito)

https://wordpress.org/plugins/site-reviews/

Incredibile plugin open source gratuito e leggero per le recensioni. Funziona sia per le normali recensioni del sito che per Woocommerce/EDD. Ha anche molte altre integrazioni, tutte gratuite.

Donazioni

Piattaforma di donazione WC (gratuita)

https://wordpress.org/plugins/wc-donation-platform/

Fantastico plugin open source completamente gratuito per le donazioni. Estremamente ben ottimizzato (l’intero plugin è di 230 kb), ottimo set di funzionalità.

Grafici

Grafici Ninja (Freemium)

https://wordpress.org/plugins/ninja-charts/ Plugin

Grafici performanti

Avvertenze sui cookie

Pasta biscotto (gratis)

https://wordpress.org/plugins/cookie-dough-compliance-and-consent-for-gdpr/

Banner ultraleggero di conformità GDPR per l’avviso sui cookie. Completamente gratuito.

Immagine completa di WP (gratuita e pro)

https://wordpress.org/plugins/full-picture-analytics-cookie-notice/

La versione gratuita ha praticamente tutte le funzioni sbloccate. Analitica locale e consenso ai cookie, tutte le funzioni. Molto leggera. La versione gratuita ha anche il monitoraggio di Woocommerce.

Kit di biscotti intelligenti (gratuito)

https://wordpress.org/plugins/smart-cookie-kit/

Piccolo plugin pulito con una discreta configurabilità, in grado di bloccare tutti gli script finché l’utente non acconsente ai cookie. Il plugin per i cookie più leggero in circolazione, l’intero plugin è di meno di 100 kb.

Volpe dei biscotti (gratis)

https://wordpress.org/plugins/cookiefox/

Banner per biscotti leggero e completamente gratuito. Poco impegnativo, ma utile.

Iubenda (Free e Pro)

https://wordpress.org/plugins/iubenda-cookie-law-solution/

Plugin molto leggero per la conformità dei cookie, con tonnellate e tonnellate di funzioni, la versione gratuita è solida ma ha un limite di traffico mensile. Questa è l’opzione migliore.

https://www.iubenda.com/en/help/379-basic-license-limits

Scatola di consenso per i cookie leggera (gratis)

https://wordpress.org/plugins/cookie-consent-box/

Avviso leggero sui cookie di DAEXT

https://codecanyon.net/item/lightweight-cookie-notice/30970799

Versione gratuita

https://wordpress.org/plugins/lightweight-cookie-notice-free/

Questo è il plugin per la notifica dei cookie più leggero che ho trovato, aggiunge solo 8 KB al peso della pagina.

Avviso e conformità ai cookie (gratuito)

https://wordpress.org/plugins/cookie-notice/ Un

altro plugin leggero per la notifica dei cookie.

Machete (gratis)

https://wordpress.org/plugins/machete/

Machete ha una buona quantità di caratteristiche, una delle quali è un avviso di cookie ottimizzato per le prestazioni.

Ottimizzazioni a livello di

server Apache (gratuito)

Htaccess (gratuito)

Articolo di stampa deperibile

https://perishablepress.com/stupid-htaccess-tricks/

Ottimizzazioni Htaccess

https://gist.github.com/seoagentur-hamburg/c96bc796764baaa64d43b70731013f8a

https://awesomeopensource.com/project/phanan/htaccess

Altre intestazioni di sicurezza htaccess

https://github.com/drego85/htpw

Impostazioni di Apache MPM (gratuito)

Prefork è l’opzione predefinita. È anche possibile testare il Worker MPM o l’Event MPM con il proprio sito; teoricamente dovrebbero offrire vantaggi in termini di prestazioni. Non ho testato nessuno dei due in modo approfondito. L’event MPM dovrebbe essere il più veloce dei tre, se la vostra installazione di WordPress funziona con esso.

Si desidera aumentare questi valori nel file di configurazione httpd.conf:

# prefork MPM

# StartServers: numero di processi server da avviare

# MinSpareServers: numero minimo di processi server che vengono mantenuti liberi # MaxSpareServers: numero massimo di processi server che vengono mantenuti liberi # ServerLimit: valore massimo per MaxClients per la durata del server

# MaxClients: numero massimo di processi server che possono essere avviati

# MaxRequestsPerChild: numero massimo di richieste servite da un processo server

<IfModule prefork.c> StartServers xxxx MinSpareServers xxxx MaxSpareServers xxxx ServerLimit xxxx MaxClients xxxx MaxRequestsPerChild xxxxx

</IfModule>

# lavoratore MPM

# StartServers: numero iniziale di processi server da avviare

# MaxClients: numero massimo di connessioni client simultanee

# MinSpareThreads: numero minimo di thread worker che vengono mantenuti liberi # MaxSpareThreads: numero massimo di thread worker che vengono mantenuti liberi # ThreadsPerChild: numero costante di thread worker in ogni processo server

# MaxRequestsPerChild: numero massimo di richieste servite da un processo server

<IfModule worker.c> StartServers xxxx MaxClients xxxx MinSpareThreads xxxx MaxSpareThreads xxxx ThreadsPerChild xxxx MaxRichiestePerFiglio 0

</IfModule>

I valori impostati dipendono fortemente dalla quantità di RAM assegnata al server. Il mio server aveva 12 GB di RAM, quindi ho potuto impostare valori molto grandi. Modificate i valori in modo incrementale fino a un massimo di 1024 (dove si trovano le xxxx), sempre in base alla quantità di RAM disponibile. Questi valori sono probabilmente troppo alti, ma nei miei test 1024 ha dato le migliori prestazioni.

Procedere in questo modo per tutto, tranne che per MaxRequestsPerChild sotto MPM prefork (lasciare a 0 quello di MPM worker), finché non si raggiungono le risorse massime del server o 1024.

Dovreste guardare i grafici dell’utilizzo della RAM e della CPU nel pannello di backend del vostro provider di hosting. Assicuratevi di non superare il valore ritenuto accettabile dal vostro host e di non raggiungere il 100%. Il massimo che si può desiderare è l’80%, ma l’obiettivo è il 60% di utilizzo massimo. Si vuole lasciare spazio ai picchi dovuti al carico pesante di un grande afflusso di utenti simultanei. Se il vostro sito diventa improvvisamente popolare grazie a un link di un grande blog, a un influencer dei social media o a un’altra fonte di traffico, l’utilizzo potrebbe subire un’impennata.

Documentazione sulla messa a punto di Apache

https://httpd.apache.org/docs/2.4/misc/perf-tuning.html

Fantastiche configurazioni del server Apache open source

https://awesomeopensource.com/project/h5bp/server-configs-apache

Articolo di Hostens

https://www.hostens.com/knowledgebase/optimize-apache-server/

Articolo di consulenza per gli host

https://hostadvice.com/how-to/web-hosting/apache/how-to-tune-and-optimize-performance-of-a pache/

Articolo sull’ottimizzazione di Bob Cares Apache

https://bobcares.com/blog/speed-up-apache/

Articolo di Tecmint sulla messa a punto delle prestazioni di Apache

https://www.tecmint.com/apache-performance-tuning/

Articolo sulla messa a punto di Apache di Quickhost

https://www.quickhost.uk/blog/2021/09/22/how-to-tune-apache-web-server-for-performance/

Firewall 8G (gratuito)

https://perishablepress.com/8g-firewall/

Firewall leggero e altamente configurabile

Apache2Buddy (gratuito)

https://github.com/richardforth/apache2buddy

Che cos’è Apache2Buddy?

Utilizzate lo script Apache2Buddy per ottenere consigli sulle modifiche da apportare alla configurazione del server web Apache® per migliorare le prestazioni e la stabilità.

Apache2Buddy non ha alcun impatto sul server stesso e non apporta alcuna modifica. Dopo l’esecuzione, lo script suggerisce le correzioni di Apache che possono essere esaminate e prese in considerazione.

Apache2Buddy controlla almeno le seguenti aree di interesse:

  • Limiti di memoria PHP
  • Memcache
  • Clienti massimi
  • Utilizzo della memoria
  • Utilizzo massimo della memoria potenziale
  • Percentuale della RAM totale allocata ad Apache
  • Lavoratori MaxRichiesta

Come sintonizzare Apache in pochi secondi con apache2buddy.pl

Si tratta di un fork di Apache2Buddy.

https://www.techrepublic.com/article/how-to-tune-apache-in-seconds-with-apache2buddy-pl/

Altre risorse Apache (gratuite)

Test di carico di Apache

https://awesomeopensource.com/project/alexfernandez/loadtest

Irrigidimento del server Apache

https://www.tecmint.com/apache-security-tips/

LibModSecurity

https://kifarunix.com/configure-libmodsecurity-with-apache-on-centos-8/

Editor Htaccess (gratuito)

https://wordpress.org/plugins/wp-htaccess-editor/

Modificare il file htaccess direttamente nella dashboard dell’amministrazione di WP.

Nginx (gratuito)

https://github.com/fcambus/nginx-resources

File di configurazione di Nginx

https://github.com/pothi/wordpress-nginx/

Fantastico NGINX

https://github.com/agile6v/awesome-nginx

Sicurezza NGINX impressionante

https://github.com/wallarm/awesome-nginx-security

Configurazione di WP Rocket NGINX

https://github.com/SatelliteWP/rocket-nginx

Configurazione preconfezionata per NGINX dal team di WP Rocket

Modulo Mod Pagespeed

https://www.tecmint.com/install-mod_pagespeed-to-boost-apache-nginx-performance/#

Repo di messa a punto di Nginx

https://github.com/denji/nginx-tuning

Testate su un ambiente di staging!

Controllo della cache (gratuito)

https://wordpress.org/plugins/cache-control-by-cacholong/

Controllo avanzato della cache FastCGI di NGINX. Consente anche la cancellazione programmata della cache tramite Cronjob.

TCP BBR

Medio

https://atoonk.medium.com/tcp-bbr-exploring-tcp-congestion-control-84c9c11dc3a9

Avvio rapido di BBR

https://github.com/google/bbr/blob/master/Documentation/bbr-quick-start.md

Cloudflare + NGINX

https://blog.cloudflare.com/http-2-prioritization-with-nginx/

Generatori di configurazione

Nginx Nginxconfig.io

https://github.com/digitalocean/nginxconfig.io

Piano trasversale

https://github.com/nginxinc/crossplane

Parser e costruttore di file di configurazione NGINX affidabile e veloce

Formattatori di configurazione

Nginx Formattatore di

configurazione Nginx Go

https://github.com/rwx /nginxConfigFormatterGo

Formattatore di configurazione Nginx

https://github.com/1connect/nginx-config-formatter

Nginx Minify Conf

https://github.com/lovette/nginx-tools/tree/master/nginx-minify-conf

Analizzatori

statici Gixy

https://github.com/yandex/gixy

Evidenziazione della

sintassi

SSLSecure.vim

https://github.com/chr4/sslsecure.vim

NGINX.vim

https://github.com/chr4/nginx.vim

Vim

https://github.com/nginx/nginx/tree/master/contrib/vim

Modulo di stato del traffico del vhost NGINX

https://github.com/vozlt/nginx-module-vts

Modulo di stato del traffico dell’host virtuale Nginx. Informazioni estese sui vhost NGINX, compreso il tasso di hit della cache.

Spinta del server HTTP2 di Nginx

https://www.nginx.com/blog/nginx-1-13-9-http2-server-push/

Pinning della CPU e ottimizzazione Numa

Regolazione dei processi di lavoro di NGINX

Il numero di processi worker di Nginx dovrebbe idealmente corrispondere al numero di core della CPU disponibili sul server. Questo assicura che ogni processo worker possa essere eseguito su un core CPU separato, ottimizzando l’uso della CPU.

È possibile impostare la direttiva worker_processes nel file di configurazione di Nginx (nginx.conf) sul numero di core della CPU. Ad esempio, se il server ha 4 core della CPU, si può impostare worker_processes a 4.

È importante monitorare le prestazioni dopo aver apportato queste modifiche e modificarle se necessario. A volte, impostando i processi worker a un numero superiore di core della CPU, si possono ottenere prestazioni migliori, soprattutto per servire contenuti statici.

Gestione delle connessioni dei lavoratori

L’impostazione worker_connections definisce il numero massimo di connessioni che ogni worker può gestire. Si trova nel blocco eventi del file nginx.conf.

L’aumento di worker_connections consente a ogni worker di gestire un maggior numero di connessioni simultanee, il che può migliorare il throughput. Un valore iniziale comune da provare è 1024.

Come per i processi worker, è essenziale monitorare le prestazioni del server dopo aver apportato le modifiche a worker_connections e regolarle se necessario.

Utilizzo delle connessioni Keepalive

Le connessioni Keepalive possono essere abilitate in nginx.conf per mantenere connessioni persistenti, riducendo il sovraccarico della CPU e della rete associato all’apertura e alla chiusura frequente delle connessioni.

Ottimizzazione per l’architettura NUMA

Se il server utilizza un’architettura NUMA, assicurarsi che i processi Nginx utilizzino la memoria locale può ridurre la latenza di accesso alla memoria.

Strumenti come “numactl” possono essere usati per eseguire Nginx con la memoria allocata da specifici nodi NUMA, anche se si tratta di un’ottimizzazione più avanzata che richiede una buona conoscenza della configurazione NUMA del server.

Suggerimenti per la configurazione di Linode

https://www.linode.com/docs/guides/getting-started-with-nginx-part-2-advanced-configuration/

Ottimizzazione della velocità della

connessione SSL di Nginx Articolo del blog

ufficiale di Nginx

https://www.nginx.com/blog/improve-seo-https-nginx/

Articolo di RT Camp

https://rtcamp.com/tutorials/nginx/ssl-pci-compliance-performance/

Cambiare i cifrari di Nginx per migliorare le prestazioni

L’insieme dei cifrari predefiniti di Nginx include:

ssl_ciphers HIGH:!aNULL:!MD5;

Questo abilita l’algoritmo “Diffie-Hellman_key_exchange”, che è lento. Poiché la conformità PCI non richiede questo algoritmo, possiamo tranquillamente disabilitarlo definendo esplicitamente ssl_ciphers.

ssl_ciphers HIGH:!aNULL:!MD5:!kEDH;

Mettere il turbo a Nginx SSL TTFB/Latenza

https://linuxblog.io/nginx-tuning-tips-tls-ssl-https-ttfb-latency/

Firewall 7G per Nginx

https://perishablepress.com/7g-firewall-nginx/

Nota: Jeff Starr sta lavorando a un aggiornamento del firewall 8G che sarà compatibile con NGINX (attualmente compatibile solo con Apache), ma non è ancora stato stimato il tempo di rilascio.

Test A/B con Nginx

https://www.nginx.com/blog/performing-a-b-testing-nginx-plus/

HTTP/3

Abilitare HTTP/3 per NGINX

https://codedamn.com/news/backend/leveraging-http3-with-nginx

Breve guida su come abilitare HTTP/3 per tutte le installazioni di NGINX.

WordOPs (gratuito)

HTTP/3 è ora disponibile in WordOPs. È integrato e configurato automaticamente quando si configura WordPress tramite WordOPs.

OpenLiteSpeed (gratuito)

Articolo sulla configurazione di Linux

https://linuxconfig.org/openlitespeed-wordpress-installation

Articolo sui grandi dinosauri

https://blog.bigdinosaur.org/configuring-wordpress-openlitespeed/

Come configurare OpenLiteSpeed per ottenere le massime prestazioni di WordPress

https://www.uncleb.tech/how-to-configure-openlitespeed-for-maximum-wordpress-performance/

Ottimizzazione del pannello di controllo del server web

Articolo medio

https://medium.com/@g24.sumit/litespeed-web-server-control-panel-optimizing-website-perform ance-con-velocità-e-sicurezza-4daf69a9ec6

Ottimizzare l’interfaccia grafica di OpenLiteSpeed Webadmin

https://azdigi.com/blog/en/linux-server-en/web-server/how-to-optimize-openlitespeed-webadmin- gui/

Configurazione avanzata

https://openlitespeed.org/kb/category/configuration/advanced-configuration/

PHP suEXEC Max Conn

https://docs.litespeedtech.com/lsws/cp/cpanel/tunings/

PHP suEXEC Max Conn specifica il numero massimo di processi PHP contemporanei che possono essere creati da LSWS per ciascun utente durante l’esecuzione di script PHP in modalità suEXEC. L’impostazione predefinita è 10.

In genere questo dovrebbe essere un limite sufficiente per l’ambiente di hosting condiviso, poiché in un server con molti account non si vogliono troppi processi in esecuzione per ogni account.

Tuttavia, se è necessario consentire più processi PHP per ogni account, è possibile regolare il valore da 10 a un numero più alto, come 40 o 100.

OpenLiteSpeed: uno script di autoconfigurazione in un clic per WordPress

https://github.com/litespeedtech/ols1clk

OpenLiteSpeed tuning per grandi server/siti ad alto traffico

https://docs.litespeedtech.com/lsws/tuning-dedicated/

Immagini Docker OpenLiteSpeed pre-ottimizzate con particolare attenzione alle prestazioni PHP

https://github.com/sitepilot/docker-lsphp

Docker LSPHP (LSAPI + PHP) è una raccolta di immagini container ottimizzate ed estensibili per l’esecuzione di applicazioni PHP in produzione.

Tutte le immagini si basano sull’immagine Docker Runtime, un’immagine ottimizzata ed estensibile del contenitore Ubuntu.

Playbook Ansible per uno stack OpenLiteSpeed pre- ottimizzato per WordPress

https://github.com/sitepilot/stack-openlitespeed

Playbook Ansible per il provisioning di server web ottimizzati per WordPress e Laravel. Questi playbook sono utilizzati da Autopilot (il nostro pannello di controllo per server cloud) e sono perfetti per:

Ambienti di sviluppo locali.

Server di produzione ad alte prestazioni (con cache).

HTTP/2 e HTTP/3

HTTP/2 e HTTP/3 funzionano a livello di server (oltre a utilizzare un plugin di aiuto) e la funzionalità deve essere abilitata nel server web per poterne usufruire.

HTTP/2 e HTTP/3 spiegati

HTTP/2 Server Push consente di inviare risorse aggiuntive direttamente al browser del visitatore, senza bisogno di successive richieste HTTP per recuperarle. Ciò contribuisce a ridurre ulteriormente i tempi di caricamento e a rendere i siti più efficienti.

Articolo Github

https://alexandrehtrb.github.io/posts/2024/03/http2-and-http3-explained/

Spiegazione tecnica approfondita di HTTP/2 e HTTP/3

Articolo di SensePost

https://sensepost.com/blog/2021/adventures-into-http2-and-http3/

Un’altra esauriente descrizione tecnica con informazioni aggiuntive

Come abilitare HTTP/2

Apache e NGINX

https://www.linkedin.com/pulse/http2-apache-nginx-detailed-guide-samuel-akopyan/

Breve articolo su come abilitare HTTP/2 per Apache e NGINX.

OpenLiteSpeed

https://www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:config:enable-http2

Plugin push per server HTTP/2

https://wordpress.org/plugins/http2-push-content/

  • Push / Pre-load di tutti i file JS nel sito con una semplice opzione
  • Spingete / precaricate tutti i file CSS del vostro sito web
  • Push / Pre-load di altre risorse in tutto il sito o in base ai tipi di pagina

HTTP/3

Abilitare HTTP/3 per Apache

Attualmente Apache non dispone di un modulo HTTP/3 nativo e quindi di un supporto nativo. Apache può comunque sfruttare HTTP/3 se NGINX è configurato come reverse proxy, una volta abilitato il supporto HTTP/3 in NGINX.

Nota: Apache può essere abbinato al bilanciatore di carico HAProxy per abilitare il supporto HTTP/3 sui server Apache (HAProxy ha il supporto HTTP/3 nativo).

Abilitare HTTP/3 per NGINX

https://codedamn.com/news/backend/leveraging-http3-with-nginx

Breve guida su come abilitare HTTP/3 per NGINX.

Abilitazione di HTTP/3 per OpenLiteSpeed

https://azdigi.com/blog/en/linux-server-en/web-server/enable-quic-http-3-on-openlitespeed/

Articolo su come abilitare HTTP/3 per OpenLiteSpeed.

HTTP/2 e HTTP/3 Server Push (gratuito)

https://wordpress.org/plugins/better-resource-hints/

Plugin push per server gratuito

Ottimizzazione delle prestazioni SSL (gratuito)

Esistono diverse aree per migliorare la connessione SSL (e la latenza generale del traffico SSL). Alcune di queste possono avere un impatto sulla sicurezza in modo piccolo o grande.

(Questi sono per ssl.conf usando Apache)

Disattivare il lookup del dominio e consentire ai Non-SNI di raggiungere il dominio primario.

  • SSLStrictSNIVHostCheck off

Invece degli host nominati, utilizzare l’indirizzo IP per la voce :443 VHOST Sessioni SSL in cache

  • SSLSessionCache shmcb:/run/httpd/sslcache(512000)
  • SSLSessionCacheTimeout 300

Consente un ordine più rapido del protocollo SSL, compatibilità generale e sicurezza media:

  • Protocollo SSL tutti -SSLv3
  • SSLCipherSuite ALL:+HIGH:+TLSv1:!ADH:!EXP:!SSLv2:!MEDIUM:!LOW:!NULL:!aNULL
  • SSLHonorCipherOrder su

Stapling OCSP (velocizza l’SSL)

  • SSLUseStapling su
  • SSLStaplingResponderTimeout 5
  • SSLStaplingReturnResponderErrors off
  • SSLStaplingCache shmcb:/run/ocsp(128000)

HSTS (può eseguire il precaricamento in modo che le richieste di http:// diventino richieste di https:// nel browser).

  • Intestazione sempre impostata Strict-Transport-Security “max-age=63072000; includeSubdomains; preload”.

Considerate le seguenti implementazioni più avanzate:

  • HTTP/2 con HPACK
  • Compressione Brotli

Altri problemi non-SSL che possono contribuire a velocizzare la connessione

Un’altra direttiva per Apache in httpd.conf

  • HostnameLookups Off

Modifiche alle prestazioni di HAProxy SSL

https://www.suse.com/c/speeding-ssl-need-know-haproxy/

Ulteriori ottimizzazioni delle prestazioni SSL

https://www.linkedin.com/advice/0/what-best-ways-optimize-ssl-network-performance-1xfae#:~:t ext=Per%20ottimizzare%20le%20prestazioni%20della%20rete%20SSL%20utilizzare%20acceleb razioni%20hardware%2C%20impiegare%20sessioni,SSL%2FTLS%20punti%20di%20terminazio ne%20strategici.

  1. Scegliere la suite di cifratura giusta
  2. Abilita la ripresa della sessione
  3. Sintonizzare i parametri TCP

Thread del SuperUtente

https://superuser.com/questions/1066477/how-to-speed-up-ssl-connection-establishment

Ottimizzazione della velocità della

connessione SSL di Nginx Articolo del blog

ufficiale di Nginx

https://www.nginx.com/blog/improve-seo-https-nginx/

Mettere il turbo a Nginx SSL TTFB/Latenza

https://linuxblog.io/nginx-tuning-tips-tls-ssl-https-ttfb-latency/

Thread di Stack Overflow

https://stackoverflow.com/questions/36672261/how-to-reduce-ssl-time-of-website

  1. La cache SSL dovrebbe essere attiva
  2. HTTP Keep-Alives deve essere attivato per evitare che la connessione venga interrotta dopo ogni richiesta HTTP.
  3. Utilizzare la versione TLS più recente
  4. OCSP Stapling risparmia il viaggio in rete per verificare la validità del certificato, utilizzando OCSP o CRL.
  5. Catena di certificati. La catena di certificati deve essere breve (ideale 3 certificati: il vostro server, l’intermediario e il certificato radice della CA).
  6. Cifrari utilizzati. Ci sono cifrari più vecchi e più lenti e cifrari più veloci e nuovi. Le cose possono complicarsi molto rapidamente, ma in generale si dovrebbero cercare i cifrari ECDHE per la maggior parte dei client (e preferibilmente quelli ECDHE…GCM) e si vuole specificare che deve essere usato l’ordine del server, in modo da poter scegliere il cifrario usato piuttosto che il client.

Ridurre il tempo di handshake TLS

Articolo di Raaz Kumar

https://raazkumar.com/tutorials/nginx/improve-ssl-performance/

Esercitazione sull’ottimizzazione dell’overhead SSL di Baeldung

https://www.baeldung.com/cs/ssl-overhead-causes-countermeasures

Precaricamento HSTS SSL

https://hstspreload.org/

ATTENZIONE: se il sito non dispone di un certificato SSL valido dopo averlo aggiunto all’elenco di precaricamento, DEVE disporre di un certificato SSL valido per rimanere accessibile. Un sito sarà irraggiungibile/accessibile se non dispone di un certificato SSL valido.

Requisiti per la presentazione

Se un sito invia la direttiva di precaricamento in un’intestazione HSTS, si ritiene che richieda l’inclusione nell’elenco di precaricamento e può essere inviato tramite il modulo su questo sito.

Per essere accettato nell’elenco di precaricamento HSTS attraverso questo modulo, il vostro sito deve soddisfare i seguenti requisiti:

  • Servitevi di un certificato valido.
  • Reindirizzamento da HTTP a HTTPS sullo stesso host, se si è in ascolto sulla porta 80.
  • Servite tutti i sottodomini su HTTPS.
  • In particolare, è necessario supportare HTTPS per il sottodominio www se esiste un record DNS per tale sottodominio.
  • Nota: il precaricamento HSTS si applica a tutti i sottodomini, compresi quelli interni non accessibili pubblicamente.
  • Serve un’intestazione HSTS sul dominio di base per le richieste HTTPS:
  • L’età massima deve essere almeno 31536000 secondi (1 anno).
  • È necessario specificare la direttiva includeSubDomains.
  • È necessario specificare la direttiva di precaricamento.
  • Se si serve un reindirizzamento aggiuntivo dal sito HTTPS, tale reindirizzamento deve avere ancora l’intestazione HSTS (piuttosto che la pagina a cui reindirizza).

Impostazioni PHP (gratuito)

Se PHP 8 non presenta incompatibilità con i plugin che si utilizzano, si dovrebbe utilizzare la versione 8-8.3. Utilizzare sempre la versione più aggiornata di PHP. Utilizzate anche la versione più recente di MariaDB o MySQL.

Il tempo di esecuzione di PHP deve essere aumentato a 300 secondi, il tempo di input a 300 secondi, le variabili di input a 20000, il limite di memoria a 256 MB-768 MB di RAM. Non è consigliabile allocare l’intera porzione di RAM assegnata al VPS, poiché ciò può causare problemi di prestazioni o crash del server.

Abilitare la compressione dell’output Zlib in PHP.ini

Google Pagespeed Insight: ecco cosa c'è da sapere

PHP Opcache

Aumentare la memoria di OPcache ad almeno 512 MB, preferibilmente 1024 o 2048 se il server ha più ram. Il limite massimo di file accelerati deve essere aumentato nella misura in cui le risorse del vostro server lo consentono; il limite massimo è 100000.

Spostamento dei dati di sessione PHP su /dev/shm per migliorare le prestazioni

Rendete più veloce il vostro sito WordPress spostando i dati di sessione PHP su /dev/shm! Questo vi consentirà di ottenere una maggiore velocità di caricamento delle pagine e un’ottima esperienza utente. Ecco come fare:

  1. Trovare il file php.ini nella directory /etc.
  2. Modificare il file con un editor di testo.
  3. Cercare la riga che inizia con “session.save_path”.
  4. Sostituire il valore attuale con “/dev/shm”.

“Miglioramento delle prestazioni: Spostando i dati di sessione PHP su /dev/shm, si memorizzano essenzialmente i dati nella RAM. Questo può accelerare in modo significativo le operazioni di lettura e scrittura dei dati di sessione, il che può essere vantaggioso per i siti WordPress con un traffico elevato e un uso intensivo delle sessioni.

Considerazioni e compromessi:

Utilizzo della RAM

Poiché /dev/shm utilizza la RAM, è importante assicurarsi che il server abbia abbastanza memoria. La memorizzazione dei dati di sessione nella RAM consumerà più memoria, il che potrebbe essere un problema se il server è già limitato dalla memoria.

Persistenza

I dati memorizzati in /dev/shm sono temporanei e andranno persi al riavvio. In genere questo va bene per i dati di sessione, che sono temporanei per natura, ma è una cosa da tenere presente.

Scalabilità

Se il vostro sito WordPress viene servito da più server in un ambiente con bilanciamento del carico, questo approccio potrebbe non essere adatto, a meno che non abbiate un modo per condividere i dati di sessione tra i server.

Sicurezza

Assicurarsi che la partizione /dev/shm sia protetta in modo appropriato, poiché la memorizzazione dei dati di sessione in uno spazio di memoria condiviso può avere implicazioni per la sicurezza.

Estendere la durata di vita di PHP aumentando l’impostazione “Tempo massimo di inattività”.

Individuare il file di configurazione di PHP (php.ini). Modificare il file e modificare il parametro “maxIdleTime”. Aumentare il suo valore per dare a PHP un tempo di inattività più lungo. Dopo aver aggiornato il valore “maxIdleTime”, salvare le modifiche e applicarle al server.

Prestazioni del test

Monitorare le prestazioni del sito web dopo aver esteso la durata di vita di PHP. Verificate il miglioramento dei tempi di risposta e delle prestazioni del sito.

Migliorare le prestazioni del front-end con una sola riga di PHP

https://www.spacedmonkey.com/2023/06/29/improve-front-end-performance-with-just-one-line-o f-php/

StashPHP Cache

https://www.stashphp.com/

WP Stash (gratuito)

https://github.com/inpsyde/WP-Stash

https://inpsyde.com/en/wordpress-caching-system-wpstash/

Gestore OPCache (gratuito)

https://wordpress.org/plugins/opcache-manager/

Statistiche e gestione di OPcache direttamente nella dashboard di amministrazione di WordPress.

Creare più processi PHP asincroni per accelerare i tempi di elaborazione

Articolo di Torque Mag

https://torquemag.io/2016/01/use-asynchronous-php-wordpress/

Ottimizzazione delle prestazioni di MySQL (gratis)

Ridurre i dati caricati automaticamente

https://kinsta.com/knowledgebase/wp-options-autoloaded-data/

La maggior parte dei plugin imposta molte delle opzioni del database in modo che vengano caricate automaticamente in ogni momento, il che danneggia le prestazioni del database e utilizza più risorse del server. Ridurre il più possibile i dati caricati automaticamente, senza compromettere alcuna funzionalità, migliorerà le prestazioni del database.

Si prega di testare la disabilitazione di qualsiasi opzione di database su un server di staging, in quanto ciò potrebbe potenzialmente danneggiare il sito durante l’ottimizzazione e i test. Eseguire sempre una prova su un server di staging quando si modificano le opzioni del database di autocaricamento.

Advanced Database Cleaner (Gratuito e Pro)

https://wordpress.org/plugins/advanced-database-cleaner/

Molti plugin di ottimizzazione del database possono modificare le opzioni di caricamento automatico. Io uso il plugin Advanced Database Cleaner, ma ci sono molte opzioni disponibili.

Pulitore di database (gratuito)

https://wordpress.org/plugins/database-cleaner/

Un’altra opzione gratuita per gestire lo stato di autocaricamento delle opzioni del database.

Sintonizzazione automatica del

database MySQL Tuner

(gratuito)

https://github.com/major/MySQLTuner-perl

MySQLTuner è uno script scritto in Perl che consente di esaminare e analizzare rapidamente un’installazione MySQL e di apportare modifiche per aumentarne le prestazioni e la stabilità. Le variabili di configurazione e i dati di stato correnti vengono recuperati e presentati in un breve formato insieme ad alcuni suggerimenti di base sulle prestazioni.

Rilascio (pagato)

https://releem.com/

Releem è un servizio di ottimizzazione MySQL a pagamento che regola dinamicamente la configurazione di MySQL in base alle risorse del server e imposta i valori in modo appropriato. Misura attivamente il carico del database e regola le impostazioni di conseguenza. MySQL Tuner non monitora attivamente e mette a punto la configurazione in base al carico del database in modo dinamico come fa Releem.

Abilitare la cache delle query di MySQL

https://mariadb.com/kb/en/query-cache/

https://www.freecodecamp.org/news/the-ultimate-guide-to-high-performance-wordpress/

(Ctrl+f per la cache della query sulla pagina del campo di codice libero)

Impostazione dei limiti di dimensione della tabella in memoria

Impostare i limiti di dimensione delle tabelle in memoria: le query complesse causano la creazione di tabelle temporanee da parte del server SQL. Il server SQL cercherà di creare tabelle in memoria fino a una certa dimensione per garantire le prestazioni. È importante impostare la dimensione massima a un valore appropriato per evitare la creazione di tabelle temporanee su disco.

Le variabili che controllano questo comportamento sono tmp_table_size e

max_heap_table_size. È possibile confrontare il numero di tabelle temporanee interne create su disco con il numero totale di tabelle interne create su disco.

tabelle temporanee create confrontando i valori di Created_tmp_disk_tables e Created_tmp_tables.

Impostare la dimensione del pool di buffer

https://www.freecodecamp.org/news/the-ultimate-guide-to-high-performance-wordpress/

“Il pool di buffer è l’area di memoria che MariaDB utilizza per memorizzare nella cache i dati e gli indici. È importante configurare la dimensione del buffer pool in modo appropriato in base alla quantità di memoria disponibile e alle dimensioni del database. Una buona regola è quella di impostare la dimensione del buffer pool a circa il 40% della memoria disponibile, ma si tenga presente che questa percentuale è tipicamente applicabile solo ai server di database stand- alone. La dimensione del pool di buffer può essere controllata con la variabile innodb_buffer_pool_size. Per ulteriori informazioni, vedere https://mariadb.com/kb/en/innodb- buffer-pool/.

Un modo per analizzare le prestazioni del pool di buffer è osservare la variabile di stato innodb_buffer_pool_wait_free. Se aumenta, significa che il pool di buffer non è sufficiente (o che il flussaggio non avviene abbastanza frequentemente). In questo caso, si dovrebbe impostare la variabile innodb_buffer_pool_size più alta, se le risorse del sistema lo consentono.”

Per ulteriori informazioni, consultare i seguenti link:

https://mariadb.com/kb/en/server-system-variables/#tmp_table_size

https://mariadb.com/kb/en/server-system-variables/#max_heap_table_size

Ottimizzazione manuale e risorse di apprendimento

https://www.percona.com/blog/mysql-101-parameters-to-tune-for-mysql-performance/

https://dev.mysql.com/doc/refman/8.0/en/optimization.html

https://www.turing.com/kb/best-practices-for-mysql-performance-tuning

https://www.infoworld.com/article/3675552/10-more-essential-mysql-performance-tuning-tips.ht ml

https://tecadmin.net/mysql-performance-tuning-tips/

https://dev.mysql.com/doc/mysql-perfschema-excerpt/8.0/en/performance-schema.html

https://phoenixnap.com/kb/improve-mysql-performance-tuning-optimization

https://blog.logrocket.com/5-ways-rapidly-improve-mysql-database-performance/#advanced-ope razioni-trucchi

https://medium.com/releem/optimizing-mysql-for-peak-performance-a-comprehensive-guide-881 ba1ad3ee1

Creare l’INDICE migliore per una determinata SELECT

https://mysql.rjweb.org/doc.php/index_cookbook_mysql

Avete una SELECT e volete costruire il miglior INDICE per essa. Questo blog è un “ricettario” su come svolgere questo compito.

Come risolvere le query lente di MySQL

https://www.kevinleary.net/blog/fixing-slow-queries-wordpress-database/

Partizione delle tabelle

Il partizionamento delle tabelle divide le tabelle di grandi dimensioni in parti più piccole e gestibili, rendendo più facile l’interrogazione e la gestione dei dati. Questo può migliorare le prestazioni delle query riducendo la quantità di dati scansionati durante le interrogazioni.

Partizione per intervallo/elenco/hash/chiave

È possibile partizionare le tabelle per intervallo, elenco, hash o chiave, a seconda dei dati e dei modelli di query. Ad esempio, il partizionamento per intervallo di date può essere utile per le tabelle che memorizzano dati storici.

Indici su partizioni

Assicuratevi che ogni partizione sia indicizzata correttamente per massimizzare le prestazioni.

Il partizionamento può ridurre significativamente i tempi di interrogazione delle tabelle di grandi dimensioni, limitando la quantità di dati da analizzare.

Tabelle temporanee e tabelle di memoria

Le tabelle temporanee e le tabelle di memoria possono essere utilizzate per i calcoli intermedi o per memorizzare i dati transitori che non devono essere salvati su disco. Le tabelle di memoria, in particolare, sono memorizzate nella RAM e sono molto veloci.

Motore di memoria

Utilizzare il motore di memorizzazione MEMORY per le tabelle che memorizzano piccole quantità di dati a cui si accede di frequente. Queste tabelle risiedono in memoria, consentendo un accesso molto rapido.

Tabelle temporanee

Utilizzate tabelle temporanee per query complesse che richiedono più passaggi. Le tabelle temporanee vengono create al volo e abbandonate al termine della sessione, riducendo la necessità di interrogare ripetutamente gli stessi dati.

Queste tecniche possono scaricare operazioni complesse dalle tabelle principali e accelerare l’elaborazione delle query.

Leggere le repliche

Impostate le repliche di lettura di MySQL per gestire le query di sola lettura, in modo da ridurre il carico sul server di database primario.

Documentazione ufficiale di MySQL

https://dev.mysql.com/doc/refman/8.4/en/replication-solutions-performance.html

Spiegazione della replica

https://dev.mysql.com/doc/refman/8.4/en/replication.html

Articolo di PlanetScale

https://planetscale.com/blog/what-is-mysql-replication-and-when-should-you-use-it

Articolo medio

https://medium.com/@truongbui95/scaling-sql-read-operations-effective-strategies-and-detailed- examples-9b590da68819

Articolo solido con esempi di configurazione.

Ulteriori ricerche

I chatbot AI sono in grado di fornire una grande quantità di informazioni sull’argomento delle repliche di lettura e di assistere nell’implementazione.

Elaborazione asincrona per le operazioni di lettura

Articolo medio

https://medium.com/@denisanikin/elaborazione asincrona con database in memoria o come gestire un milione di transazioni per-36a4c01fc4e4

Tarantool (gratuito)

https://www.tarantool.io/en/doc/latest/platform/ddl_dml/sql/improving_mysql/

Tarantool è un modo interessante per migliorare le prestazioni di MySQL e per aiutare a scalare il database.

Connettore MySQL per Tarantool

https://github.com/tarantool/mysql

Sharding del database

Suddividere i dati su più database (shard) in base a una chiave shard. In questo modo è possibile ridurre le dimensioni di ciascun database, rendendo le query più veloci e riducendo il carico su ogni singolo server.

Questi approcci consentono una scalabilità orizzontale, essenziale per gestire quantità massicce di traffico e di dati.

Articolo di PlanetScale

https://planetscale.com/blog/how-to-scale-your-database-and-when-to-shard-mysql

Vitess (gratuito)

https://github.com/vitessio/vitess

https://vitess.io/

Vitess è un sistema di clustering di database per la scalabilità orizzontale di MySQL attraverso lo sharding generalizzato.

Incapsulando la logica di instradamento degli shard, Vitess consente al codice dell’applicazione e alle query del database di rimanere indipendenti dalla distribuzione dei dati su più shard. Con Vitess, potete anche dividere e unire gli shard in base alle vostre esigenze, con una fase di cutover atomica che richiede solo pochi secondi.

Scheda informativa sulle prestazioni di MySQL

https://severalnines.com/blog/mysql-performance-cheat-sheet/

Divisione delle istanze del pool di buffer InnoDB

Articolo Percona

https://www.percona.com/blog/how-many-innodb_buffer_pool_instances-do-you-need-in-mysql- 8/

Se si dispone di un carico di lavoro elevato e di un sistema multi-core, si può prendere in considerazione la possibilità di dividere il pool di buffer di InnoDB in più istanze. Questo può aiutare a ridurre la contesa per le strutture di memoria all’interno di InnoDB. A tale scopo, regolare il parametro innodb_buffer_pool_instances in base ai core e al carico di lavoro del sistema.

Regolazione della dimensione dei file di log di InnoDB

Rilasciare l’articolo

https://releem.com/docs/mysql-performance-tuning/innodb_log_file_size

La dimensione dei file di log di InnoDB (innodb_log_file_size) ha un impatto significativo sulle prestazioni. File di log più grandi possono ridurre l’I/O del disco per i carichi di lavoro ad alta intensità di scrittura, ma possono aumentare il tempo di recupero dopo un arresto anomalo. Bilanciare la dimensione dei file di log in base alla natura del carico di lavoro può fornire vantaggi in termini di prestazioni.

Utilizzo del pool di thread

Per i server che gestiscono molte connessioni e query, l’uso di un pool di thread può migliorare le prestazioni. Invece di un thread per connessione, MySQL può gestire un pool di thread e gestire in modo efficiente numerose connessioni.

Ottimizzare i buffer delle giunzioni

Rilasciare l’articolo

https://releem.com/docs/mysql-performance-tuning/join_buffer_size

Quando MySQL esegue le operazioni di join, utilizza un buffer di join. La dimensione di questo buffer (join_buffer_size) determina la quantità di dati che MySQL può gestire contemporaneamente durante un’operazione di join. L’aumento della dimensione del buffer di join può migliorare le prestazioni dei join non indicizzati.

Manuale di riferimento MySQL

https://dev.mysql.com/doc/refman/8.0/en/buffering-caching.html

Dimensionamento e utilizzo della

query cache Manuale di riferimento

della query cache di MySQL

https://dev.mysql.com/doc/refman/5.7/en/query-cache.html

Nelle versioni di MySQL in cui la query cache è ancora supportata, il dimensionamento (query_cache_size) e la configurazione della query cache possono migliorare le prestazioni dei carichi di lavoro pesanti. Tuttavia, si noti che la query cache è stata deprecata nelle versioni successive di MySQL e rimossa in MySQL 8.0.

Messa a punto dei buffer di ordinamento e lettura

Rilasciare l’articolo sulle dimensioni del buffer di ordinamento

https://releem.com/docs/mysql-performance-tuning/sort_buffer_size

MySQL utilizza buffer di ordinamento (sort_buffer_size) e buffer di lettura (read_buffer_size) durante varie operazioni. La regolazione di questi buffer può migliorare le prestazioni, soprattutto per le operazioni complesse di ordinamento e lettura.

Compressione MySQL

Articolo del manuale di riferimento di MySQL

https://dev.mysql.com/doc/refman/8.0/en/innodb-page-compression.html

Per le tabelle con grandi quantità di testo o di dati blob, considerate l’opportunità di utilizzare le funzionalità di compressione di MySQL per ridurre lo spazio su disco e migliorare l’efficienza I/O.

Uso degli indici di copertura

Articolo su Toadworld

h t t p s : / / b l o g . t o a d w o r l d . c o m / 2 0 1 7 / 0 4 / 0 6 / s p e e d – u p – y o u r – q u e r i e s – u s i n g – t h e – c o v e r i n g – i n d e x – i n – m y s q l

Gli indici di copertura includono tutti i campi richiesti da una query. Possono migliorare notevolmente le prestazioni delle query, poiché il database può recuperare tutti i dati necessari dall’indice senza accedere ai dati della tabella.

Ottimizzazione delle subquery

Articolo del Manuale di riferimento di MySQL

https://dev.mysql.com/doc/refman/8.0/en/subquery-optimization.html

Articolo tutorial su MySQL

https://www.mysqltutorial.org/mysql-basics/mysql-subquery/

In MySQL, le subquery possono talvolta essere inefficienti. La riscrittura delle query per evitare le subquery o trasformarle in join può portare a un miglioramento delle prestazioni.

Partizione di tabelle di grandi dimensioni

Articolo sull’Accademia della Fionda

https://www.slingacademy.com/article/table-partitioning-in-mysql-8-a-practical-guide/

Per le tabelle molto grandi, si consiglia di utilizzare il partizionamento delle tabelle. Questa operazione divide una tabella in parti e può migliorare le prestazioni delle query, in particolare per le query basate sugli intervalli.

Articolo del Data Geek Lab

https://datageeklab.com/mastering-mysql-partitioning/

Ottimizzazione delle tabelle temporanee e degli

swap su disco Articolo del manuale di riferimento

di MySQL

https://dev.mysql.com/doc/refman/8.0/en/optimize-table.html

Tenere sotto controllo l’uso delle tabelle temporanee su disco. Se possibile, sintonizzate il server in modo che la maggior parte delle tabelle temporanee sia creata in memoria (tmp_table_size e max_heap_table_size).

Disabilitazione di Performance Schema

Manuale di riferimento MySQL Articolo

https://dev.mysql.com/doc/refman/8.0/en/performance-schema-startup-configuration.html

Se non si utilizza lo schema delle prestazioni di MySQL, si può pensare di disabilitarlo per risparmiare risorse. Questo è particolarmente utile per i sistemi con risorse limitate.

Gruppo di registri binari Impegno

Articolo del manuale di riferimento di MySQL

https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html

Per le configurazioni di replica, l’ottimizzazione delle impostazioni di commit del gruppo di log binari può ridurre significativamente il ritardo della replica e migliorare le prestazioni complessive del server master.

Gruppi di risorse per la regolazione delle priorità

Gruppo di risorse Messa a punto di MySQL Manuale di riferimento Articolo

https://dev.mysql.com/doc/refman/8.0/en/resource-groups.html

Utilizzate la funzione Resource Groups di MySQL 8.0 per assegnare le query ad alta priorità a specifici processori o core di processore, migliorando le prestazioni delle query critiche.

Blog Linux Articolo sulla messa a punto delle prestazioni di MySQL

https://docs.informatica.com/data-engineering/common-content-for-data-engineering/10-2-2/perf ormance-tuning-guide/preface.html

Articolo molto esaustivo con alcune strategie di ottimizzazione uniche.

Analisi dell’ottimizzazione delle query di database

Migliorare le prestazioni delle query di WP quando si usa la cache esterna degli oggetti

https://www.spacedmonkey.com/2023/01/17/improve-wp_query-performance-if-using-external-o bject-cache/

Redash (gratuito)

https://github.com/getredash/redash

Gli utenti SQL utilizzano Redash per esplorare, interrogare, visualizzare e condividere dati da qualsiasi fonte. Il loro lavoro, a sua volta, consente a chiunque nella loro organizzazione di utilizzare i dati. Redash supporta più di 35 fonti di dati SQL e NoSQL. Può anche essere esteso per supportarne altre.

  • Basato sul browser: Tutto nel browser, con un URL condivisibile.
  • Facilità d’uso: Diventate immediatamente produttivi con i dati senza dover padroneggiare un software complesso.
  • Editor di query: Comporre rapidamente query SQL e NoSQL con un browser di schemi e il completamento automatico.
  • Visualizzazione e dashboard: Create splendide visualizzazioni con il drag and drop e combinatele in un’unica dashboard.
  • Condivisione: Collaborare facilmente condividendo le visualizzazioni e le query associate, consentendo la revisione tra pari di report e query.
  • Aggiornamenti programmati: Aggiorna automaticamente i grafici e i dashboard a intervalli regolari definiti dall’utente.
  • Avvisi: Definite le condizioni e ricevete un avviso immediato quando i dati cambiano.
  • API REST: Tutto ciò che si può fare nell’interfaccia utente è disponibile anche tramite API REST.
  • Ampio supporto per le fonti di dati: API di origine dati estensibile con supporto nativo per un lungo elenco di database e piattaforme comuni.

Solarwinds

Analizzatore di prestazioni del database (a pagamento)

https://www.solarwinds.com/database-performance-analyzer

Analizzare le prestazioni di SQL Server e delle query, identificare i problemi e fornire consigli per l’ottimizzazione e il tuning.

SQL Sentry (a pagamento)

https://www.solarwinds.com/sql-sentry

Monitoraggio delle prestazioni dei database SQL Server e Azure SQL, con analisi rapida delle cause principali e visibilità su tutto il patrimonio di dati.

Osservabilità del database (a pagamento)

https://www.solarwinds.com/solutions/solarwinds-observability/database-observability

Visualizzare lo stato di salute del database

Plan Explorer (gratuito)

https://www.solarwinds.com/free-tools/plan-explorer

Individuate rapidamente la radice dei problemi delle query con uno strumento gratuito di analisi delle query

Vernice (gratuita)

La mia configurazione personalizzata di Varnish VCL

https://docs.google.com/document/d/18IrewYSQBt0AChDn_wENbDnKHlr0BWt_zkhfttfVbks/edit usp=condivisione

Dovrebbe essere sufficiente copiare e incollare il contenuto del file di configurazione di Varnish Default.vcl.

Esempi di configurazione

https://gist.github.com/fevangelou/84d2ce05896cab5f730a

Vernice fantastica

https://github.com/huayra/awesome-varnish

Aumentare il tasso di risposta della cache di Varnish

https://varnish-cache.org/docs/trunk/users-guide/increasing-your-hitrate.html

Articolo medio

https://nbeguier.medium.com/3-tips-to-boost-the-performance-of-your-varnish-cache-3f4ce44be 3c1

Caching sharded

Risoluzione dinamica del backend

Cache delle richieste Ajax

https://guides.wp-bullet.com/how-to-cache-ajax-get-requests-with-varnish-4/

Raccogliere la vernice

https://github.com/varnish/varnishgather

Varnish Gather è un semplice script progettato per raccogliere quante più informazioni possibili su una configurazione della cache Varnish.

Moduli aggiuntivi di Varnish

https://github.com/varnish/varnish-modules

Si tratta di una raccolta di moduli (“vmods”) che estendono il VCL di Varnish usato per descrivere le politiche di richiesta/risposta HTTP con funzionalità aggiuntive.

Ottimizzazione dei VPS

(gratuita) Ottimizzazione di

Linux

Disattivare il THP

https://www.pingcap.com/blog/transparent-huge-pages-why-we-disable-it-for-databases/

Sintonizzato-ADM

https://manpages.ubuntu.com/manpages/jammy/man7/tuned-profiles.7.html

Cambiare il livello di Init a 3

Impostare il livello di init a 3 se l’impostazione predefinita è 5. Usare il comando “init 3” per impostare il livello di avvio a 3, quindi riavviare per rendere effettive le modifiche. Per le istruzioni su come fare, fare clic sul link sottostante.

https://www.cyberciti.biz/howto/question/linux/changing-run-levels-3-5.php

Maggiori informazioni su questo argomento sono disponibili qui

Questo link spiega come fare l’inverso, cambiando 5 in 3 se il comando “init 3” non funziona. Se il livello di esecuzione è impostato su 5, cambiatelo con 3.

Ottimizzare Linux Github

https://github.com/sn99/Optimizing-linux

Ottimo repo per ottimizzare le prestazioni di Linux.

Stacer

https://www.site24x7.com/learn/linux/linux-performance-optimization.html

Stacer è uno strumento utilizzato per l’ottimizzazione di Linux che elimina la cache indesiderata e smista i processi esaminando l’utilizzo della memoria e della CPU. Stacer rivela come funzionano i servizi e i processi e quale utente li sta eseguendo.

Strumenti e tecniche di ottimizzazione delle prestazioni

https://linuxconfig.org/linux-performance-optimization-tools-and-techniques

Abilita Z-Swap

https://blog.jacobstoner.com/zswap-improve-memory-performance-on-linux/

sudo perl -pi -e ‘s/^(GRUB_CMDLINE_LINUX_DEFAULT.*)”$/$1 zswap.enabled=1 zswap.compressor=lz4 zswap.zpool=z3fold zswap.max_pool_percent=25″/’ /etc/default/grub sudo update-grub

sudo echo -e ‘lz4\nlz4_compress\nz3fold’ >> /etc/initramfs-tools/modules

sudo update-initramfs -u sudo reboot

Ottimizzare il filesystem di Linux per aumentare le prestazioni

Articolo su Foss Linux

https://www.fosslinux.com/111937/tips-and-tricks-for-optimizing-linux-device-performance.htm

A livello semi-superficiale, ma con informazioni leggermente diverse rispetto all’articolo di linux.com, è meglio utilizzare entrambe le tecniche elencate insieme.

Utilizzare un kernel personalizzato

https://www.fosslinux.com/111937/tips-and-tricks-for-optimizing-linux-device-performance.htm

Disattivare i servizi Linux non necessari

Per elencare tutti i servizi, si può usare questo comando:

systemctl list-unit-files –type=service

Quindi, per disabilitare un servizio, utilizzare:

sudo systemctl disable SERVICE_NAME

Cornici Jumbo

Abilitazione dei frame jumbo:

  • Verificare se la scheda di rete supporta i Jumbo Frames: ethtool eth0
  • Abilitare i Jumbo Frames impostando un MTU (Maximum Transmission Unit) più grande, in genere 9000 byte per Ethernet: ifconfig eth0 mtu 9000 o ip link set dev eth0 mtu 9000
  • Verificare le modifiche: ifconfig eth0 o ip addr show eth0
  • Ricordate di configurare Jumbo Frames su tutti i dispositivi della rete per evitare la frammentazione dei pacchetti.

I Jumbo Frames possono contribuire a ridurre il carico della CPU diminuendo il numero di pacchetti elaborati, ma è fondamentale assicurarsi che tutte le apparecchiature di rete li supportino per evitare potenziali problemi di rete. Contattate il vostro provider di hosting per assicurarvi che questa funzione sia supportata.

TCP BBR

Aumentate la velocità di Internet di Linux con il controllo della congestione TCP BBR

https://www.cyberciti.biz/cloud-computing/increase-your-linux-server-internet-speed-with-tcp-bbr

-controllo della congestione/

https://www.techrepublic.com/article/how-to-enable-tcp-bbr-to-improve-network-speed-on-linux/

https://www.linuxbabe.com/ubuntu/enable-google-tcp-bbr-ubuntu

https://github.com/systemd/systemd/issues/9725#issuecomment-413369212

https://djangocas.dev/blog/huge-improve-network-performance-by-change-tcp-congestion-contr ol-to-bbr/

Parametri delle prestazioni di rete di Linux

https://github.com/leandromoreira/linux-network-performance-parameters

Guida alla messa a punto dei VPS WordPress di Intel per i sistemi Xeon

https://www.intel.com/content/www/us/en/developer/articles/guide/wordpress-tuning-guide-on-xe on-systems.html

Suggerimenti per l’ottimizzazione di Linux per il ponte di vapore

Si tratta di ottimizzazioni per Linux per Steam Deck, ma sono applicabili anche all’ottimizzazione dei VPS Linux. Di seguito trovate l’articolo di Medium da cui ho tratto questi comandi, nonché i comandi di ripristino per ciascuna di queste ottimizzazioni, nel caso in cui vogliate effettuare un ripristino per qualsiasi motivo.
<!––nextpage––>
Incollare tutti questi comandi come un unico blocco di codice, non come singole righe alla volta. I comandi di inversione non devono essere eseguiti insieme ai comandi per abilitare queste funzioni, ma solo se si desidera disabilitarle e tornare allo stato attuale.

Articolo medio

https://medium.com/@a.b.t./here-are-some-possibly-useful-tweaks-for-steamos-on-the-steam-d eck-fcb6b571b577#6c57

Passaggio al governatore della CPU “performance” all’avvio

(incollate il tutto nel vostro terminale come un unico blocco di codice, non eseguite i comandi singolarmente)

cat << EOF | sudo tee /etc/systemd/system/cpu_performance.service [Unit]

Descrizione=Governatore delle prestazioni della CPU [Servizio]

Tipo=oneshot

ExecStart=/usr/bin/cpupower frequency-set -g performance [Install]

WantedBy=multi-user.target EOF

sudo systemctl daemon-reload

sudo systemctl enable cpu_performance.service

Per annullare o ripristinare questa modifica, eseguire:

sudo systemctl disable cpu_performance.service

MGLRU (Multi-Gen. Least Recently Used)

Si tratta di una delle aggiunte più recenti al kernel Linux upstream, letteralmente appena unito per la versione 6.1 LTS (Long-Term Support). Tuttavia, il kernel upstream non abilita ancora questa funzionalità per impostazione predefinita.

(incollate il tutto nel vostro terminale come un unico blocco di codice, non eseguite i comandi singolarmente)

Per abilitare questa funzione, eseguire il comando da terminale:

cat << EOF | sudo tee

/etc/tmpfiles.d/mglru.conf w

/sys/kernel/mm/lru_gen/enabled 7

w /sys/kernel/mm/lru_gen/min_ttl_ms 0

EOF

Comando di inversione:

sudo rm /etc/tmpfiles.d/mglru.conf

Sblocco del blocco della memoria

Per impostazione predefinita, il kernel Linux imposta questo particolare valore a soli 64KiB, che è la quantità massima di memoria che il kernel blocca in una singola operazione. Questa è una vecchia raccomandazione.

Questo comando imposterà questo valore a 2 GB, da regolare in base alla capacità della RAM del server:

(incollate il tutto nel vostro terminale come un unico blocco di codice, non eseguite i comandi singolarmente)

cat << EOF | sudo tee /etc/security/limits.d/memlock.conf

  • memlock rigido 2147484
  • soft memlock 2147484 EOF

Questo sito vi aiuterà a convertire i valori in modo da poter sostituire il valore “2147484” con un valore appropriato per la memoria del vostro VPS.

http://www.csgnetwork.com/memconv.html

Per ripristinare la modifica, eseguire:

sudo rm /etc/security/limits.d/memlock.conf

Modifica dello scheduler I/O (Input/Output)

Scambieremo in modo permanente l’I/O-scheduler con Kyber con il seguente blocco (si noti che questo funzionerà con tutti i casi, ovvero SSD NVMe, eMMC e microSD):

(incollate il tutto nel vostro terminale come un unico blocco di codice, non eseguite i comandi singolarmente)

cat << EOF | sudo tee /etc/udev/rules.d/64-ioschedulers.rules ACTION==”add|change”, KERNEL==”nvme[0-9]*”, ATTR{queue/scheduler}=”kyber”

ACTION==”add|change”, KERNEL==”sd[a-z]|mmcblk[0-9]*”, ATTR{queue/rotational}==”0″, ATTR{queue/scheduler}=”kyber” EOF

Per annullare/revocare questa modifica:

sudo rm /etc/udev/rules.d/64-ioschedulers.rules

Ottimizzazione dello stack di rete TCP

TCP Keepalive

Regola il tempo che il TCP deve attendere prima di inviare messaggi keepalive per confermare che una connessione inattiva è ancora attiva. Questo può aiutare a gestire i sovraccarichi di connessione.

(Regolare i valori dei comandi secondo necessità)

sysctl -w net.ipv4.tcp_keepalive_time=600 sysctl -w

net.ipv4.tcp_keepalive_probes=5 sysctl – w net.ipv4.tcp_keepalive_intvl=60

Scala della finestra TCP

Abilita la regolazione delle dimensioni della finestra TCP, consentendo l’uso di buffer più grandi, che possono migliorare la velocità di trasmissione dei dati per le connessioni.

(Regolare il valore del comando come necessario)

sysctl -w net.ipv4.tcp_window_scaling=1

TCP SACK

La funzione di riconoscimento selettivo (SACK) consente ai dispositivi di informare i mittenti dei pacchetti persi, facilitando una ritrasmissione più efficiente.

(Regolare il valore del comando come necessario)

sysctl -w net.ipv4.tcp_sack=1

Timeout TCP FIN

Regola il timeout per chiudere una connessione, liberando prima le risorse.

(Regolare il valore del comando come necessario)

sysctl -w net.ipv4.tcp_fin_timeout=30

Aumento dell’arretrato massimo di sincronizzazione TCP

Determina il numero di connessioni in entrata che possono essere accodate per la gestione.

(Regolare il valore del comando come necessario)

sysctl -w net.ipv4.tcp_max_syn_backlog=2048

Aumentare i secchi TCP Max Tw

Controlla il numero massimo di socket TCP nello stato TIME_WAIT, gestendo l’uso della memoria.

(Regolare il valore del comando come necessario)

sysctl -w net.ipv4.tcp_max_tw_buckets=400000

TCP Apertura veloce

Consente l’invio di dati durante l’handshake SYN iniziale, riducendo la latenza delle connessioni.

(Regolare il valore del comando come necessario)

sysctl -w net.ipv4.tcp_fastopen=3

Comandi di inversione

Per ripristinare le impostazioni TCP, è necessario conoscere i valori predefiniti, che possono variare a seconda della distribuzione e della versione di Linux. Ecco i comandi per impostare i valori predefiniti tipici:

sysctl -w net.ipv4.tcp_keepalive_time=7200 sysctl -w net.ipv4.tcp_keepalive_probes=9 sysctl -w net.ipv4.tcp_keepalive_intvl=75 sysctl -w net.ipv4.tcp_window_scaling=1 sysctl -w net.ipv4.tcp_sack=1

sysctl -w net.ipv4.tcp_fin_timeout=60

sysctl -w

net.ipv4.tcp_max_syn_backlog=128 sysctl – w net.ipv4.tcp_max_tw_buckets=5000 sysctl

-w net.ipv4.tcp_fastopen=0

Abilitazione dell’I/O asincrono (AIO)

Abilita AIO per consentire l’esecuzione simultanea di più operazioni di I/O, migliorando le prestazioni dei server di database come MySQL.

innodb_use_native_aio = 1

Elaborazione offload

Abilitare le funzioni di offloading sull’interfaccia di rete per ridurre il carico della CPU.

ethtool -K eth0 gro on ethtool -K eth0 gso on ethtool -K eth0 tso on

Aumentare i limiti dei file aperti

Assicuratevi che il vostro sistema sia in grado di gestire un numero elevato di file aperti.

echo “fs.file-max = 500000” >> /etc/sysctl.conf ulimit -n 500000

Abilitare la cache di Writeback per l’I/O su disco

Migliorare le prestazioni di scrittura abilitando la cache di writeback

hdparm -W1 /dev/sda

Memorizza i file temporanei in memoria per accelerare le operazioni di lettura/scrittura.

montare -t tmpfs -o size=512M tmpfs /tmp

Ottimizzare l’uso della memoria

Utilizzare zram per comprimere i dati della RAM e aumentare la quantità di memoria disponibile.

apt-get install zram-config

Ottimizzare le impostazioni della memoria virtuale

Regolate le impostazioni della memoria virtuale per migliorare le prestazioni

sysctl -w vm.dirty_background_ratio=5 sysctl -w vm.dirty_ratio=10

Utilizzare l’isolamento della CPU

Isolare i core della CPU per le applicazioni critiche per garantire che abbiano risorse dedicate.

isolcpus=1,2

Configurare le pagine di HugeTLB

Per le applicazioni che richiedono pagine di memoria di grandi dimensioni, configurare HugeTLB per ridurre le missioni TLB.

echo ‘vm.nr_hugepages=128’ >> /etc/sysctl.conf

Ottimizzare la risoluzione

DNS Utilizzare una cache

DNS locale

Installate e configurate un server di caching DNS locale come dnsmasq

apt-get installa dnsmasq

Regolare le impostazioni del killer fuori memoria (OOM)

Impedire all’OOM killer di terminare i processi critici regolando oom_score_adj

echo ‘-1000’ > /proc/$(pidof critical_process)/oom_score_adj

Utilizzare i dischi RAM per l’archiviazione temporanea ad alte prestazioni

Montate una porzione di RAM come disco per operazioni di I/O estremamente veloci.

mount -t tmpfs -o size=1G tmpfs /mnt/ramdisk

Ottimizzare le impostazioni

di swap Utilizzare zswap

Abilitare e configurare zswap per migliorare le prestazioni dello swap

echo 1 > /sys/modulo/zswap/parametri/abilitati echo lz4 > /sys/modulo/zswap/parametri/compressore

echo 20 > /sys/module/zswap/parameters/max_pool_percent

Ottimizzare i parametri di avvio

Modificare i parametri di avvio per migliorare le prestazioni

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash noapic noacpi nosplash irqpoll”

Ridurre la latenza del kernel

Abilitare la prelazione del kernel e configurare le impostazioni di bassa latenza

echo 1 > /sys/kernel/debug/sched_features

Abilitare e configurare HugeTLBfs

Usare HugeTLBfs per allocare pagine di grandi dimensioni per le applicazioni che possono beneficiare di una riduzione delle missioni TLB.

mount -t hugetlbfs none /dev/hugepages

Configurazione del bonding di rete

Combinare più interfacce di rete per aumentare la larghezza di banda e la ridondanza

apt-get installare ifenslave echo “bonding” >> /etc/moduli

Messa a punto dei cookie TCP SYN

Abilita i cookie SYN per proteggere dagli attacchi SYN flood, consentendo al contempo il traffico legittimo. sysctl -w net.ipv4.tcp_syncookies=1

Ottimizzare le impostazioni della cache ARP

Regolare le impostazioni della cache ARP per gestire in modo efficiente un gran numero di indirizzi IP.

sysctl -w

net.ipv4.neigh.default.gc_thresh1=1024 sysctl – w net.ipv4.neigh.default.gc_thresh2=2048 sysctl

-w net.ipv4.neigh.default.gc_thresh3=4096

Abilitare la protezione IP Spoofing

Configurare le impostazioni per prevenire lo spoofing IP

sysctl -w net.ipv4.conf.all.rp_filter=1 sysctl -w net.ipv4.conf.default.rp_filter=1

Ottimizzare i parametri della memoria condivisa del kernel

Regolate le impostazioni della memoria condivisa per migliorare le prestazioni delle applicazioni che utilizzano IPC (Inter-Process Communication).

sysctl -w kernel.shmmax=68719476736 sysctl -w kernel.shmall=4294967296

Regolare le impostazioni di overcommit della macchina virtuale

Ottimizzazione del comportamento di overcommit della memoria per una migliore gestione della stessa

sysctl -w vm.overcommit_memory=1 sysctl -w vm.overcommit_ratio=50

Abilitare e configurare il caching delle query in MySQL/MariaDB per ottenere risposte più rapide.

query_cache_size = 64M query_cache_type = ON

Configurare i timestamp TCP

Abilitare o disabilitare i timestamp TCP in base al carico di lavoro per migliorare le prestazioni.

sysctl -w net.ipv4.tcp_timestamps=1

Regolare le dimensioni del buffer UDP

Aumentate le dimensioni del buffer UDP per le applicazioni che utilizzano pesantemente l’UDP.

sysctl -w net.core.rmem_max=26214400 sysctl -w net.core.wmem_max=26214400

Ottimizzare le impostazioni di nf_conntrack

Regolare le impostazioni di tracciamento delle connessioni per il traffico ad alto volume

sysctl -w net.netfilter.nf_conntrack_max=131072

sysctl -w net.netfilter.nf_conntrack_tcp_timeout_established=1200

Abilita la cache di scrittura del disco

Abilitare la cache di scrittura sui dischi per migliorare le prestazioni di scrittura.

hdparm -W1 /dev/sda

Sintonizzare Systemd per le prestazioni

Ridurre i valori di timeout predefiniti di systemd per un avvio e uno spegnimento più rapidi

DefaultTimeoutStartSec=10s DefaultTimeoutStopSec=10s

Ottimizzare la sincronizzazione NTP

Garantire una sincronizzazione temporale accurata con un overhead minimo usando chrony invece di ntpd

apt-get installare chrony

Abilitazione e configurazione dell’offloading dell’interfaccia di rete

Abilitare le funzioni di offloading sulle interfacce di rete per ridurre l’utilizzo della CPU.

ethtool -K eth0 gro on ethtool -K eth0 gso on ethtool -K eth0 tso on

Implementare la fusione delle pagine uguali del Kernel (KSM)

Abilitare KSM per unire pagine di memoria identiche tra le macchine virtuali

echo 1 > /sys/kernel/mm/ksm/run

Utilizzare timer ad alta risoluzione

Abilitazione dei timer ad alta risoluzione per le applicazioni che richiedono una temporizzazione precisa

echo “highres=on” >> /etc/default/grub update-grub

Ottimizzare i parametri di sysctl per le prestazioni della rete

Regolate vari parametri sysctl per migliorare il throughput della rete e ridurre la latenza.

sysctl -w net.ipv4.tcp_rfc1337=1 sysctl -w net.ipv4.tcp_mtu_probing=1 sysctl -w net.ipv4.tcp_base_mss=536

Implementare le quote disco per la gestione degli utenti

Abilitare e configurare le quote disco per gestire in modo efficiente l’utilizzo del disco da parte degli utenti.

apt-get install quota

Utilizzare gli strumenti di gestione della cache della pagina

Utilizzate strumenti come vmtouch per gestire e bloccare in memoria i file di accesso frequente.

apt-get install vmtouch

vmtouch -dl /path/to/important/files

Ottimizzare il comportamento di scambio

Configurare vm.dirty_expire_centisecs e vm.dirty_writeback_centisecs per migliorare le prestazioni dello swap.

sysctl -w vm.dirty_expire_centisecs=2000 sysctl -w vm.dirty_writeback_centisecs=1000

Implementare il RAID software per le prestazioni dei dischi

Utilizzare il software RAID per migliorare le prestazioni e la ridondanza dei dischi.

mdadm –create –verbose /dev/md0 –level=1 –raid-devices=2 /dev/sda1 /dev/sdb1

Ottimizzare la frequenza del timer del kernel

Regolare la frequenza del timer del kernel per ridurre l’overhead

echo 1000 > /proc/sys/kernel/timer_frequency

Abilita IPv6

Abilitare e ottimizzare l’IPv6 per migliorare le prestazioni della rete e la sicurezza per il futuro

sysctl -w net.ipv6.conf.all.disable_ipv6=0

Usare xfs_fsr per la deframmentazione dei file system XFS

Deframmentare i file system XFS per migliorare le

prestazioni.

xfs_fsr /dev/sda1

Ottimizzare le impostazioni dell’arretrato TCP

Aumentare le impostazioni del backlog TCP per gestire un maggior numero di connessioni simultanee.

sysctl -w net.core.somaxconn=1024

sysctl -w net.core.netdev_max_backlog=5000

Utilizzare mdadm per la gestione del RAID software

Gestire gli array RAID software con mdadm

mdadm –create –verbose /dev/md0 –level=1 –raid-devices=2 /dev/sda1 /dev/sdb1

Implementare il clampaggio TCP MSS

Regolare il TCP MSS (Maximum Segment Size) per evitare la frammentazione.

iptables -t mangle -A FORWARD -p tcp –tcp-flags SYN,RST SYN -j TCPMSS

–clamp-mss-to-pmtu

Ottimizzare la protezione contro i SYN Flood TCP

Configurare la protezione TCP SYN flood per prevenire gli attacchi DoS.

sysctl -w net.ipv4.tcp_syncookies=1

Abilitare e configurare dnsmasq per la cache DNS

Usate dnsmasq per memorizzare nella cache le query DNS e ridurre i tempi di ricerca.

apt-get install dnsmasq systemctl enable dnsmasq systemctl start dnsmasq

Abilitare tcp_tw_recycle per un riutilizzo più rapido delle connessioni

Abilitare tcp_tw_recycle per velocizzare il riutilizzo della connessione

sysctl -w net.ipv4.tcp_tw_recycle=1

Usare blktrace per il tracciamento del livello a blocchi

Installare e usare blktrace per tracciare le operazioni di I/O a blocchi

apt-get install blktrace blktrace -d /dev/sda

Regolare le impostazioni di panico del kernel

Configurare il sistema in modo che si riavvii automaticamente dopo un kernel panic.

sysctl -w kernel.panic=10

sysctl -w kernel.panic_on_oops=1

Ottimizzare gli orologi Inotify

Aumentare il numero di watch inotify per gestire più eventi di file

sysctl -w fs.inotify.max_user_watches=524288

Abilita il ridimensionamento della finestra TCP

Migliorare le prestazioni TCP abilitando il window scaling

sysctl -w net.ipv4.tcp_window_scaling=1

Abilita le sonde TCP Keepalive

Configurare le sonde TCP keepalive per gestire le connessioni inattive

sysctl -w net.ipv4.tcp_keepalive_time=300

sysctl -w net.ipv4.tcp_keepalive_intvl=60 sysctl -w net.ipv4.tcp_keepalive_probes=5

Ottimizzare gli algoritmi di controllo della congestione TCP

Sperimentate diversi algoritmi di controllo della congestione TCP per trovare quello più adatto al vostro carico di lavoro sysctl -w net.ipv4.tcp_congestion_control=bbr

Utilizzare schedtool per la programmazione avanzata della CPU

Installare e utilizzare schedtool per controllare i criteri di programmazione della CPU.

apt-get install schedtool schedtool -R -p 20 -e myapp

Abilitare la fusione delle pagine parziali del kernel (KSM)

Utilizzare KSM per ridurre l’uso della memoria unendo pagine di memoria identiche.

echo 1 > /sys/kernel/mm/ksm/run

Ottimizzare le dimensioni del buffer di rete

Aumentare le dimensioni del buffer di rete per gestire volumi di traffico elevati.

sysctl -w net.core.rmem_max=16777216 sysctl -w net.core.wmem_max=16777216

Ottimizzare lo scheduler del kernel

Regolare le impostazioni dello scheduler del kernel per migliorare le prestazioni

echo 1 > /proc/sys/kernel/sched_autogroup_enabled

Regolare le impostazioni rcu per i sistemi a bassa latenza

Regolare le impostazioni dell’aggiornamento della copia di lettura (RCU) per ottenere prestazioni a bassa latenza

echo 0 > /sys/kernel/rcu_expedited

Ottimizzare il journaling del filesystem

Scegliere la modalità di journaling appropriata per il filesystem (ad esempio, data=writeback per ext4).

mount -o remount, data=writeback /dev/sda1

Abilitazione e configurazione del controllo della congestione TCP BBRv2

Utilizzate BBRv2 per ottenere prestazioni di controllo della congestione TCP ancora più elevate.

echo “net.ipv4.tcp_congestion_control=bbr” >>

/etc/sysctl.conf sysctl -p

Ottimizzare le prestazioni del file system con

tune2fs Usare tune2fs per ottimizzare i parametri

del filesystem ext4

tune2fs -o journal_data_writeback /dev/sda1

Usare ethtool per ottimizzare le impostazioni della NIC

Regolare le impostazioni della NIC per migliorare le prestazioni della rete.

ethtool -K eth0 tso off

Abilitazione e configurazione del teaming dell’interfaccia di rete

Utilizzare il teaming delle interfacce di rete per il bilanciamento del carico e il failover.

apt-get installare ifenslave

Utilizzare irqbalance per il bilanciamento delle interruzioni

Installare e configurare irqbalance per distribuire gli interrupt tra le CPU.

apt-get installare irqbalance

Sintonizzare i parametri del semaforo del kernel

Regolate le impostazioni dei semaphore per ottenere migliori prestazioni con le applicazioni ad alto carico di IPC.

sysctl -w kernel.sem=”250 32000 100 128″

Configurare e utilizzare ethtool per l’ottimizzazione

della rete Utilizzare ethtool per ottimizzare le

impostazioni dell’interfaccia di rete.

ethtool -K eth0 rx off tx off

Abilitare le code piccole TCP (TSQ)

Ottimizzare lo stack TCP abilitando TSQ.

sysctl -w net.ipv4.tcp_limit_output_bytes=131072

Abilitazione e configurazione di EarlyOOM

Usare EarlyOOM per gestire meglio le situazioni di out-of- memory

apt-get installare earlyoom

Ottimizzare la cache degli inode

Regolate le impostazioni della cache degli inode per gestire un gran numero di file.

sysctl -w fs.inode-nr sysctl -w fs.inode-state

Ottimizzare la cache del disco

Regolare vm.dirty_ratio e vm.dirty_background_ratio per controllare il comportamento della cache del disco.

sysctl -w vm.dirty_ratio=20

sysctl -w vm.dirty_background_ratio=10

Implementare l’aliasing degli indirizzi IP

Utilizzate l’aliasing degli indirizzi IP per gestire più indirizzi IP su una singola interfaccia di rete, migliorando le prestazioni e la gestione della rete.

ip addr add 192.168.1.2/24 dev eth0

Abilitare l’I/O asincrono per i server di database

Abilitate l’I/O asincrono (AIO) per i server di database come MySQL o PostgreSQL per migliorare le prestazioni dell’I/O su disco.

innodb_use_native_aio=1

Ottimizzare le impostazioni di riassemblaggio TCP

Regolate le impostazioni di riassemblaggio TCP per gestire in modo più efficiente i pacchetti frammentati.

sysctl -w net.ipv4.tcp_reordering=3

Abilitare jemalloc per l’allocazione della memoria

Utilizzate jemalloc come allocatore di memoria per applicazioni come Nginx, MySQL o Redis per migliorare le prestazioni della gestione della memoria.

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.2

Regolare gli algoritmi dell’elevatore IO

Passare a un algoritmo di elevazione dell’I/O più adatto, come mq-deadline o nessuno per gli SSD.

echo mq-deadline > /sys/block/sda/queue/scheduler

Usare fstrim per gli SSD

Eseguite periodicamente fstrim per informare l’SSD dei blocchi non utilizzati, migliorando le prestazioni.

fstrim -v /

Ottimizzare le impostazioni TCP Keepalive

Regolare le impostazioni di keepalive TCP per gestire meglio le connessioni inattive.

sysctl -w net.ipv4.tcp_keepalive_time=120 sysctl -w net.ipv4.tcp_keepalive_intvl=30 sysctl -w net.ipv4.tcp_keepalive_probes=5

Ottimizzare l’overcommit della memoria virtuale

Regolare le impostazioni di overcommit della memoria virtuale per gestire meglio l’allocazione della memoria.

sysctl -w vm.overcommit_memory=2 sysctl -w vm.overcommit_ratio=50

Utilizzare ethtool per la regolazione dell’interfaccia di rete

Regolare le impostazioni dell’interfaccia di rete per migliorare le prestazioni

ethtool -K eth0 rx off tx off

Implementare il controllo della congestione TCP BBRv2

Utilizzare BBRv2 per migliorare le prestazioni del controllo della congestione TCP.

sysctl -w net.ipv4.tcp_congestion_control=bbr

Ottimizzazione delle prestazioni di I/O con blk-mq (meccanismo di accodamento I/O a blocchi multi-Queue)

Abilitare e configurare blk-mq per migliorare le prestazioni di I/O sulle unità SSD

echo “mq-deadline” > /sys/block/sda/queue/scheduler

Utilizzare schedtool per controllare i criteri di

programmazione della CPU Installare e utilizzare

schedtool per gestire la programmazione della CPU.

apt-get install schedtool

schedtool -R -p 20 -e /usr/bin/myapp

Ottimizzare il timeout di ritrasmissione TCP (RTO)

Regolare le impostazioni TCP RTO per migliorare le prestazioni

sysctl -w net.ipv4.tcp_retries2=5

Ottimizzare i cookie TCP SYN

Abilitare i cookie TCP SYN per proteggersi dagli attacchi SYN flood

sysctl -w net.ipv4.tcp_syncookies=1

Ottimizzare la scalatura della finestra TCP

Abilitare il ridimensionamento della finestra TCP per migliorare le prestazioni

sysctl -w net.ipv4.tcp_window_scaling=1

Utilizzare i cgroup per la gestione delle risorse

Implementare i cgroup per limitare, dare priorità e isolare l’uso delle risorse dei processi.

cgcreate -g cpu,memory:mygroup cgset -r cpu.shares=512 mygroup

cgset -r memory.limit_in_bytes=512M mygroup

Ottimizzare i buffer di memoria TCP

Regolare le impostazioni del buffer di memoria TCP per migliorare le prestazioni

sysctl -w net.ipv4.tcp_rmem=’4096 87380 16777216′

sysctl -w net.ipv4.tcp_wmem=’4096 65536 16777216′

Ottimizzare gli scheduler del kernel

Scegliere lo scheduler I/O appropriato per il carico di lavoro (noop per SSD).

echo “noop” > /sys/block/sda/queue/scheduler

Ottimizzare i parametri della memoria condivisa del kernel

Regolate le impostazioni della memoria condivisa per ottenere migliori prestazioni con le applicazioni ad alto carico di IPC.

sysctl -w kernel.shmmax=68719476736 sysctl -w kernel.shmall=4294967296

Implementare ZFS per le funzionalità avanzate del file system

Utilizzate ZFS per migliorare l’integrità dei dati, le istantanee e le prestazioni.

apt-get install zfsutils-linux zpool create mypool /dev/sda

Abilita i riconoscimenti selettivi TCP (SACK)

Ottimizzare le prestazioni TCP con SACK

sysctl -w net.ipv4.tcp_sack=1

Abilitare e configurare zram per lo swap compresso

Usare zram per creare un dispositivo a blocchi

compressi nella RAM.

apt-get install zram-config

Implementare il timestamp TCP

Abilitare i timestamp TCP per migliorare prestazioni e affidabilità

sysctl -w net.ipv4.tcp_timestamps=1

Usare zpool per la gestione dei pool

ZFS Gestire i pool di storage ZFS con

zpool

zpool crea mypool /dev/sda

Ottimizzare il tempo di accesso al file system

Utilizzare le opzioni di montaggio noatime e nodiratime per ridurre l’I/O del disco.

mount -o remount,noatime,nodiratime /

Ottimizzare le dimensioni del backlog TCP

Aumentare la dimensione del backlog TCP per gestire un maggior numero di connessioni in entrata

sysctl -w net.core.somaxconn=1024

Ottimizzare le impostazioni della memoria virtuale del kernel

Regolare le impostazioni della memoria virtuale per migliorare le prestazioni e ottimizzare i limiti di gestione dei file del kernel

Aumenta il numero di file handle che il kernel può gestire sysctl -w fs.file-max=2097152

Abilita TCP Low Latency

Configurare la modalità TCP a bassa latenza per una migliore reattività

sysctl -w net.ipv4.tcp_low_latency=1

Utilizzare pm2 per la gestione dei processi Node.js

Installare e utilizzare pm2 per gestire i processi Node.js

npm install pm2@latest -g pm2 start app.js

Nota: applicabile solo se si utilizza Node.js in WordPress.

Implementare Squid per la cache e il proxying

Installare e configurare Squid per il caching e il proxying del web

apt-get installa squid

Ottimizzare il controllo della congestione TCP per le reti ad

alta latenza Utilizzare un algoritmo di controllo della

congestione TCP adatto per le reti ad alta latenza. reti ad alta latenza

sysctl -w net.ipv4.tcp_congestion_control=htcp

Usare cpulimit per limitare l’uso della CPU dei processi

Installare e utilizzare cpulimit per controllare l’utilizzo della CPU dei processi.

apt-get install cpulimit cpulimit -e myapp -l 50

Ottimizzare la cache di scrittura del disco

Abilitare la cache del disco per migliorare le prestazioni di scrittura

hdparm -W1 /dev/sda

Usare le opzioni di montaggio noatime e nodiratime

Riducete l’I/O su disco disabilitando gli aggiornamenti dei tempi di accesso sui filesystem.

mount -o remount,noatime,nodiratime /

Regolazione dell’unità di trasmissione massima (MTU) per le interfacce di rete

Aumenta la dimensione della MTU per migliorare le prestazioni sulle reti ad alta velocità.

ip link set dev eth0 mtu 9000

Sintonizzare il modello di prelazione del kernel

Configurare il modello di prelazione del kernel per carichi di lavoro desktop a bassa latenza o server ad alta velocità.

echo 0 > /proc/sys/kernel/preempt

Ottimizzare l’I/O del disco

Aumento del buffer di lettura

Regolare la dimensione del buffer di lettura per l’I/O su disco

blockdev –setra 2048 /dev/sda

Ottimizzazione del bilanciamento IRQ (Interrupt Request)

Distribuire il carico IRQ su più core della CPU per evitare colli di bottiglia.

apt-get install irqbalance systemctl enable irqbalance

Usare HugePages per le applicazioni che richiedono molta memoria

echo ‘vm.nr_hugepages=128’ >> /etc/sysctl.conf

Utilizzare una registrazione leggera

Ridurre la verbosità dei log di sistema per diminuire l’I/O su disco.

sed -i ‘s/^#LogLevel=info/LogLevel=error/’ /etc/systemd/journald.conf

Gestione delle code di rete

Lunghezza della coda

L’aumento della lunghezza della coda dell’interfaccia di rete può aiutare a gestire un maggior numero di pacchetti durante i burst di traffico, riducendo le cadute dei pacchetti.

(Regolare il valore secondo le necessità)

ifconfig eth0 txqueuelen 10000

Comando di inversione

Ripristina la lunghezza della coda di trasmissione al suo valore predefinito (di solito 1000):

ifconfig eth0 txqueuelen 1000

Schedulatore I/O

La scelta del giusto I/O scheduler può migliorare le prestazioni in base alle caratteristiche del carico di lavoro (ad esempio, SSD vs HDD).

Impostazione dello scheduler I/O

Per le unità SSD, noop o deadline potrebbero essere migliori. echo “deadline” > /sys/block/sda/queue/scheduler

Scambismo

Il parametro vm.swappiness controlla il peso relativo dato allo swapping della memoria di runtime, rispetto all’eliminazione di pagine dalla cache di sistema.

Regolare la sostituibilità

sysctl -w vm.swappiness=10

Prevenire la superflua contabilizzazione dei tempi di accesso ai file

Il kernel Linux aggiorna il tempo di accesso di ogni file ogni volta che vi accede, il che significa che anche un’operazione di sola lettura risulterebbe immediatamente in un’operazione di scrittura, perché il tempo di accesso del file in questione deve essere aggiornato.

Pertanto, passiamo in modo permanente all’impostazione noatime con il seguente comando:

sudo sed -i -e ‘/home/s/\bdefaults\b/&,noatime/’ /etc/fstab

Per annullare/revocare questa modifica:

sudo sed -i -e ‘s/,noatime//’ /etc/fstab

Comandi di inversione Limiti dei descrittori di file

L’inversione dei limiti dei descrittori di file comporta il ripristino dei valori predefiniti:

# A livello di sistema

echo “fs.file-max = 65535” >> /etc/sysctl.conf # Per utente

echo “* soft nofile 1024” >> /etc/security/limits.conf echo “* hard nofile 4096” >> /etc/securit