Plugin Query Monitor di WordPress: eseguiamo il debug e miglioriamo le prestazioni
Pubblicato: 2019-09-05
Ricevi errori WordPress ma non riesci a risolverli?
Per rilevare gli errori di WordPress, gli sviluppatori di solito lavorano al contrario. Iniziano escludendo le sezioni del codice che potrebbero ospitare i problemi e quindi iniziano a valutare le singole aree. In generale, per i siti Web WordPress, le principali aree di interesse sono le impostazioni PHP, il file .htaccess, il file wp-config, le query del database e le impostazioni DNS.
Qualche tempo fa, mi sono imbattuto nel plugin WordPress Query Monitor, un ottimo strumento di sviluppo per scoprire cosa sta succedendo sul sito web. Il plugin offre informazioni dettagliate che gli sviluppatori possono utilizzare per restringere le aree "problematiche" del codice.
In questo tutorial sul plugin, inizierò con un'introduzione dettagliata del plugin WordPress Query Monitor e poi entrerò in una breve descrizione del caso d'uso comune del plugin.
- Che cos'è il monitoraggio delle query di WordPress?
- Funzionalità di WordPress Query Monitor
- Perché Query Monitor è utile per gli sviluppatori?
- Come utilizzare il monitoraggio delle query di WordPress?
Che cos'è il monitoraggio delle query di WordPress?
Query Monitor è un plug-in di WordPress che aggiunge un grande valore alla fase di debug e generalmente migliora le prestazioni complessive dei flussi di lavoro di sviluppo di WordPress.
Il plugin aggiunge una voce nella barra dei menu in alto che funge da elenco a discesa che contiene il numero di query eseguite nella pagina corrente, il tempo di caricamento, i filtri per tipo di query, i filtri per componenti, ecc. Di conseguenza, gli sviluppatori avere un'idea migliore di cosa potrebbe causare gli errori sul sito web.

È stato sviluppato da John Blackbourn ed è disponibile sia nel repository di plugin ufficiale di WordPress che su GitHub. Come ogni ottimo plugin per WordPress, Query Monitor viene aggiornato regolarmente e il team di sviluppo fornisce un eccellente supporto e correzioni per tutti i bug segnalati.
L'installazione è molto semplice e generalmente non richiede passaggi aggiuntivi (rispetto al processo di installazione di plugin simili). Dopo l'installazione, questo plug-in di debug di WordPress non necessita di ulteriore configurazione. Appena fuori dalla scatola, inizia a visualizzare l'elenco a discesa nella barra degli strumenti di amministrazione.

Facendo clic sulle voci nell'elenco a discesa, è possibile accedere ai dettagli sulle query effettuate al database, sugli script e sui CSS caricati, sugli hook attivi e sulle chiamate API HTTP.

Funzionalità di WordPress Query Monitor
Ecco una rapida panoramica delle funzionalità del plug-in Query Monitor.
Errori del tema
La funzione del tema elenca tutte le query attivate dal tema WordPress installato. Visualizza il nome del file del modello del tema responsabile di una query specifica e mostra la gerarchia del modello completa. La funzione del tema evidenzia anche le parti del tema scaricate e il nome del tema WordPress attivo.
Errori PHP
WordPress gira su PHP e se la richiesta è generata da un tema o da un plugin è sotto forma di codice PHP. La funzione Errori PHP evidenzia i componenti di origine e la posizione responsabile della generazione della query.
Nota: non tutte le query elencate all'interno di Query Monitor sono serie. È molto probabile che sia solo un avvertimento.
Chiamate AJAX
I siti WordPress dinamici effettuano molte chiamate Ajax per l'invio e il recupero di dati in tempo reale senza caricare la pagina Web completa. Query Monitor mostra anche queste richieste insieme ad altre utili informazioni di debug. Queste informazioni possono aiutare lo sviluppatore a evidenziare eventuali errori.
API REST
Se disponi dell'autorizzazione per monitorare Query Monitor, puoi eseguire il debug delle informazioni presentate nell'intestazione di una richiesta di un'API REST di WordPress autenticata. Attualmente, il plugin supporta solo errori PHP e utilizzo della memoria.
Autenticazione
Per impostazione predefinita, solo l'amministratore di un'installazione a sito singolo e il super amministratore di un multisito WordPress possono visualizzare i registri all'interno di Query Monitor. Tuttavia, puoi configurare un cookie di autenticazione che ti permetta di vedere i log anche quando sei loggato come utente.
Informativa sulla Privacy
WordPress Query Monitor non raccoglie dati né invia dati a terzi.
Ho anche notato che le domande frequenti indicano che i componenti aggiuntivi della barra di debug possono essere utilizzati con Query Monitor, è sufficiente disattivare prima la barra di debug. E ci sono anche componenti aggiuntivi per Query Monitor.
Perché Query Monitor è utile per gli sviluppatori?
Con il plug-in Query Monitor, gli sviluppatori possono avere una buona idea di quali aree migliorare. Inoltre, gli sviluppatori possono scoprire il plug-in o altre risorse del sito Web che consumano un volume anomalo di risorse o (nei casi peggiori) sono in conflitto con il resto dei file principali.
Per i proprietari di siti Web e gli sviluppatori interessati a migliorare l'ottimizzazione delle prestazioni Web (WPO), Query Monitor è una soluzione ideale per identificare i colli di bottiglia che possono essere corretti con frammenti di codice migliorati, alternative o, in alcuni casi, la sostituzione completa di script/plug-in.
Consideriamo una semplice attività di sviluppo: scoprire il tempo di caricamento della pagina e il numero di query attive sulla pagina.
WordPress offre due semplici funzioni: get_num_queries() e timer_stop() . Come spiega il nome, get_num_queries() restituisce il numero di query di database generate durante l'esecuzione e timer_stop() restituisce il numero di secondi necessari per generare la pagina.

Come utilizzare il monitoraggio delle query di WordPress?
Una volta installato e attivato Query Monitor, è necessario andare su Plugin → Plugin installati → Query Monitor → Impostazioni e quindi fare clic sul pulsante " Imposta cookie di autenticazione ". Ora vediamo in dettaglio ogni sezione del plugin Query Monitor.
Panoramica
La prima scheda fornisce una panoramica del tuo sito web. Mostra il tempo di generazione della pagina, l'utilizzo di memoria di picco, il tempo di query del database e le query del database.

Query del database
Ogni volta che un utente richiede informazioni o tenta di inviare le informazioni, viene attivata una query del database. Query Monitor tiene traccia di questa query e la visualizza all'interno dei registri in modo che l'utente possa vedere quali query sono state eseguite correttamente e quali no. E potrebbe anche filtrare in base al tipo e al componente della query.

Richiesta
La funzione di richiesta mostra la variabile di query per l'utente corrente ed evidenzia la query personalizzata. Mostra anche le stringhe di query associate presenti all'interno di una richiesta.

Schermata di amministrazione
Questa sezione mostra le attività che si verificano nel pannello di amministrazione di WordPress. Elenca i componenti a cui si accede dal pannello di amministrazione e mostra un errore dovuto all'indisponibilità di qualsiasi file PHP.

script
Quando visiti la scheda Script all'interno di Query Monitor, elenca tutti gli script e gli stili in coda inclusi nella richiesta. Evidenzia anche qualsiasi script rotto o che non risponde a causa di una dipendenza esterna.

Stili
È del tutto possibile che a volte a causa di una dipendenza esterna un determinato file CSS non venga caricato e rompa il layout della tua pagina web. Questa sezione si occupa dei fogli di stile CSS e ti aiuta a identificare i file di origine dietro qualsiasi query.

Ganci e azioni
Gli hook e le azioni svolgono un ruolo importante in qualsiasi sito WordPress in quanto consentono di creare una funzionalità personalizzata utilizzando i controlli predefiniti forniti da WordPress stesso. In tal modo, a volte può danneggiare il tuo sito Web e la risoluzione dell'errore potrebbe essere un lavoro faticoso.
Grazie a Query Monitor che ha uno strumento integrato per identificare gli errori causati da hook e azioni. Ciò ti consente di filtrare azioni e hook per core, tema o plug-in. E ti fornisce anche il nome completo e il riferimento che può essere trovato facilmente all'interno del codice per scopi di debug.

Le lingue
Nel caso di un sito Web multilingue, la scheda Lingua identifica eventuali file danneggiati o non disponibili e visualizza anche le impostazioni della lingua.

Chiamate API HTTP
Questa scheda mostra tutte le query lato server e mostra anche il codice di risposta, il registro di timeout e le richieste non riuscite. È una funzionalità utile in quanto ti consente di vedere la risposta in tempo reale e ti aiuta a eseguire il debug del codice lato server in modo efficiente.

Aggiornamenti transitori
WordPress è in grado di memorizzare nella cache la risposta dell'API nel suo database poiché alcune API consentono solo un certo numero di richieste in un determinato momento. Aggiornamenti transitori mostra questi transitori e mostra anche la dimensione e il componente.

Controlli di capacità
Per impostazione predefinita, questo è inattivo e può essere attivato inserendo il codice all'interno del file wp-config.php. Controlli capacità esegue controlli di capacità per ciascun utente sulla pagina e visualizza i parametri insieme al risultato.

Ambiente
Questa è una panoramica completa dell'ambiente WordPress e contiene tre sezioni per PHP, Database e WordPress. All'interno di ogni sezione vengono visualizzate informazioni utili sull'ambiente come la versione di MySQL, il limite di memoria PHP, la versione di WordPress, ecc.

Condizionali
Mostra tutte le condizioni di WordPress sulla richiesta corrente.

Avvolgendo!
Il plug-in WordPress Query Monitor si concentra sul debug e fornisce tutte le informazioni pertinenti in un modo di facile comprensione. Il plug-in è ideale per identificare rapidamente i plug-in, i temi o le funzioni che influiscono sulle prestazioni del sito web.
Il plugin integra un menu nella barra degli strumenti di amministrazione che mostra una descrizione generale della pagina corrente, con i dati completi visualizzati in un pannello (una volta selezionata una voce di menu). Quale di questi componenti utilizzi più spesso per mantenere in salute il tuo sito? Eventuali suggerimenti?
