Succede a migliaia di persone ogni giorno: per qualche misteriosa ragione, se il loro sito Web, realizzato con WordPress o Drupal, diventa lento dall'oggi al domani (intendo da 3 a 10 volte più lento del solito).

Il cruscotto impiega diversi secondi per caricare (più di 2 secondi è che qualcosa non va) e tutto ciò diventa doloroso. In casi estremi, l'intera pagina potrebbe persino essere temporanea e restituire un messaggio " impossibile servire la pagina Qual è l'incubo di ogni browser.

Dopo aver contattato il supporto tecnico della società di hosting, un tecnico esamina diversi file di registro e torna con una risposta temuta:

«Vedo query lente nel tuo file di log delle query MySQL, ottimizzo la tua applicazione '.

Comprendilo come: " È colpa tua, abbi cura di te ". Ma il tuo sito web ha davvero causato questo? Forse no.

In questo tutorial, ti spiegheremo in dettaglio cosa rende lento il tuo sito Web WordPress.

Se non hai mai installato WordPress, scopri Come installare un blog Wordpress passi 7 et Come trovare, installare e attivare un tema WordPress sul tuo blog 

Ma torniamo al perché siamo qui.

Prerequisiti di base

Come nel caso di qualsiasi problema di alloggio, è sempre meglio fare tutto ciò che è in tuo potere per risalire all'origine del problema. Tieni presente che la maggior parte dei server di hosting non è lì per supportare la tua applicazione web, ma assicurati solo che il server funzioni normalmente (consultare il proprio accordo con quest'ultimo).

Qualsiasi società di hosting che fornirà supporto sulla tua app è sicuramente un buon affare, poiché molti dei problemi quotidiani derivano dal livello dell'app.

Ecco alcuni semplici passaggi che possono aiutarti a trovare il problema da solo:

  • Avere una chiara misura delle prestazioni per monitorare / migliorare:
    • Numero di query SQL (16 80-ID per un range di normalità)
    • Tempo di generazione della pagina (prestazioni php)
      • Il tempo impiegato dal server per creare la pagina dal database e dal modello. Questo di solito è meno di un secondo, tra 0,3 e 0,7).
    • Plugin come " WP pagina delle statistiche di carico "O" WP Super Cache Fornisci queste informazioni.
  • Prova a disabilitare i plugin, iniziando da quelli meno critici e vedi se le impostazioni migliorano.
  • Passa a uno dei temi WordPress predefiniti come TwentyFifteen. Lo so, questo probabilmente non è il tema migliore se sei in produzione. L'alternativa è creare un clone del tuo server.
  • Importante: se l'utilizzo della CPU è molto elevato o se il server è sovraccarico:
    • Assicurati di avere un plug-in per la cache installato e funzionante (la maggior parte delle persone può installare e configurare WP Super Cache in minuti).
    • Senza memorizzazione nella cache, anche moderatamente " visitato Potrebbero mancare risorse

Se il carico del server è troppo elevato, tutte le metriche saranno distorte o totalmente errate, quindi il lavoro di investigazione sarà più difficile. Se non hai accesso alle statistiche sull'utilizzo della CPU Linux, controlla le visualizzazioni di pagina del tuo sito web nelle statistiche di WordPress, Google Analytics (chi ha statistiche in tempo reale) o un altro strumento di analisi.

Se vedi una manciata di persone che navigano nel sito web, è improbabile che tu consumi molte risorse, ma dipende davvero da come è impostato il tuo sito web.

Puoi clonare il server o espanderlo abbastanza da avere dati logici per scopi di debug. In caso contrario, trova ciò che sta consumando la CPU e risolvi prima il problema.

Possibili cause di query lente su MySQL

È importante riconoscere che potrebbe benissimo essere colpa del tuo sito web, e quindi colpa tua. Ecco una richiesta leggermente lenta (2.13 secondi), anche se le cose potrebbero andare molto peggio ... puoi provare tu stesso:

SELEZIONA SQL_NO_CACHE SQL_CALC_FOUND_ROWS wp_posts. * A lasciare di wp_posts INTERNO ISCRIVITI wp_term_relationships ON (wp_posts .ID = wp_term_relationships .object_id ) INTERNO ISCRIVITI wp_term_taxonomy ON(wp_term_relationships .term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id ) INTERNO ISCRIVITI wp_terms ON (wp_term_taxonomy .term_id = wp_terms .term_id ) DOVE 1 = 1 ET wp_term_taxonomy .Tassonomia = 'Post_tag'ET  wp_posts .post_type = 'Post' E (wp_posts .post_status = 'Pubblica' ) GRUPPOBY wp_posts .ID ORDINE BY wp_posts .post_date DESC LIMITE 0 , 6Post_dateDESC LIMITE 0 , 6Post_date DESC LIMITE 0 , 6

Risultato di una richiesta

I motivi possono includere:

  • I plugin che eseguono query di database intensive, come i post correlati ... cercano plugin che vengono eseguiti ogni volta che carichi una pagina
  • Un database molto grande (2 milioni di linee)
  • Un numero molto elevato di richieste MySQL (centinaia per pagina)
  • Numero elevato di visualizzazioni di pagina non memorizzate nella cache (porta a un elevato numero di richieste)
  • Una miscela di tutto quanto sopra, anche a basse dosi.

Con molti servizi di hosting condiviso, il database si trova su una macchina diversa da quella che contiene Apache e PHP, quindi i problemi di prestazioni sono più isolati. Se si dispone di un Virtual Private Server (VPS), MySQL e PHP possono risiedere nella stessa macchina.

Ciò significa che la pressione sulle prestazioni su Apache / PHP può influire anche sulle prestazioni di MySQL. Ciò può rendere il problema un po 'più difficile, quindi tieni d'occhio l'utilizzo corrente della CPU quando controlli le prestazioni della query. Se la CPU (o disco IO) è già saturo, ciò genererà falsi positivi.

Migliora la tua comprensione degli errori PHP leggendo: Introduzione alla comprensione degli errori PHP su WordPress.

Ma se non hai cambiato nulla (forse si è verificato un aggiornamento automatico ?) E se il tuo sito web è di dimensioni relativamente ridotte (database inferiore a 200 MB), non rischierai di soffocare le risorse del server del database, soprattutto se utilizzi un'applicazione testata come WordPress, con impostazioni semplici e plugin affidabili.

Esistono diversi motivi per cui le query MySQL lente non sono correlate alla tua applicazione web:

  • Problemi hardware con il server MySQL
  • Problemi di connettività con il server MySQL
  • Numero limitato di connessioni MySQL simultanee (inferiore a 10)
  • Impostazioni di configurazione inadeguate sul server MySQL
  • Latenza di rete tra il server Web e il server MySQL
  • Le risorse condivise vengono abusate da un altro client
  • memoria del server lento
  • E molto altro ancora ...

In questo caso, l'aziendaweb hosting dovrebbe trovare e risolvere il problema. Ancora una volta, controlla il tuo accordo con quest'ultimo, ma questo dovrebbe essere possibile nella maggior parte dei casi.

Scopri anche alcuni plugin WordPress premium  

Puoi usare altro plugin di WordPress per migliorare la velocità del tuo blog e ottimizzare la gestione del tuo blog o sito web.

1. Ricerca istantanea WP e suggerimento automatico

Le WordPress Plugin WP Instant Search & Auto Suggest ti consente di ottenere immediatamente suggerimenti per post, pagine e tipi di post personalizzati durante la ricerca nel tuo blog WordPress. Funziona con Visuale Compositore et Pietra angolare.

Wp ricerca istantanea suggerimento automatico plugin wordpressLe sue caratteristiche includono: ricerca a schermo intero, ricerca istantanea in tipi di pubblicazioni personalizzate, tre stili di design integrati, completamente personalizzabili tramite le impostazioni, funziona con WPBakery et Pietra angolare e più.

Download | Demo | Web hosting

2. Borlabs Cache

WordPress è una piattaforma alimentata da un database che genera contenuti in modo dinamico. Più contenuto e plugin hai, più query sul database vengono eseguite. Ciò può rallentare le prestazioni del tuo sito Web, soprattutto quando il database si trova su un altro server.

Borlabs cache plugin per la memorizzazione nella cache di wordpress

Le WordPress Plugin Borlabs Cache salva il contenuto generato dinamicamente come file statico nella memoria del tuo server. Quando viene richiesta la pagina, questo file statico viene caricato e inviato al visitatore, il che è notevolmente più veloce delle tipiche query di database. Ma non è tutto.

Vedi anche il nostro 5 plugin di WordPress per pulire il database del tuo sito web

Le tue pagine contengono molto spazio bianco non necessario o commenti HTML, il che aumenta le dimensioni complessive della pagina. Borlabs Cache li rimuove tutti e utilizza GZIP per comprimere le tue pagine.

Scopri Come visualizzare tutte le pubblicazioni WordPress su una sola pagina

Molti plugin hanno i propri file JavaScript e CSS, il che si traduce in più richieste sul tuo server. Borlabs Cache combina tutti questi file JavaScript e CSS in modo che, nel migliore dei casi, il visitatore debba caricare solo un file JavaScript e un file CSS.

Download | Demo | Web hosting

3. faro

Per quello WordPress può installarsi e funzionare correttamente, cioè veloce e senza errori, necessita di una piccola pulizia. Lighthouse è uno strumento di ottimizzazione delle prestazioni. Il suo ruolo è quello di sbarazzarsi dei vari difetti di WordPress; può essere filtri, azioni, codici inseriti, codici incorporati o azioni di terzi.

Plugin wordpress faro

Lo scopo di questa pulizia è migliorare la cache del browser e i plug-in di memorizzazione nella cache in modo che possano funzionare al 100% di efficienza.

Download | Demo | Web hosting

Altre risorse consigliate

Ti invitiamo inoltre a consultare le risorse seguenti per approfondire la presa e il controllo del tuo sito Web e blog.

Conclusione

Ecco ! Questo è tutto per questo articolo dedicato ai migliori plugin di WordPress progettato per aiutarti a migliorare la velocità del tuo blog o sito Web WordPress. 

Tuttavia, sarai anche in grado di consultare il nostro risorse, se hai bisogno di più elementi per realizzare i tuoi progetti di creazione di siti Internet, consultando la nostra guida su Creazione di blog WordPress o quello acceso Divi: il miglior tema WordPress di tutti i tempi.

Se si dispone di commentaires o suggerimenti, fatecelo sapere nella sezione riservata. Ma, se ti è piaciuto anche questo articolo, nnon esitate a condividi sui tuoi social network.

...