7 Strumenti di debug di WordPress per la risoluzione dei problemi

Anche se WordPress è un ambiente controllato, in cui gli errori sono molto meno frequenti rispetto a un tipico ambiente di sviluppo software, c’è sempre una finestra o una porta attraverso la quale i problemi possono insinuarsi.

Come regola generale, si può affermare che maggiore è la flessibilità che uno strumento ti offre, maggiori sono i potenziali errori che puoi incontrare.

Nel caso particolare di WordPress, c’è molta flessibilità e, quindi, molti potenziali errori. Hai un’architettura plug-in aperta che puoi utilizzare per aggiungere funzionalità al CMS; hai un server web, un provider di hosting, un sistema di gestione di database e una rete. Tutti questi componenti sono fattori indipendenti che contribuiscono alla loro quota di potenziali problemi.

I tipi di problemi che puoi incontrare includono prestazioni lente, contenuto errato o danneggiato, messaggi di errore e, peggio di tutto: lo schermo bianco della morte (WSoD), il che significa che il tuo sito Web si è bloccato e richiede un’attenzione immediata.

Anche un leggero problema di prestazioni, come un ritardo inferiore a 2 secondi, è qualcosa di cui dovresti preoccuparti perché potrebbe (e sarà) danneggiare la tua strategia SEO e il tuo posizionamento nei risultati dei motori di ricerca. E questo si traduce direttamente in un numero sempre minore di visitatori ogni giorno, perché al giorno d’oggi una risposta rapida è tutto, soprattutto per gli utenti mobili.

Ecco perché è fondamentale disporre di strumenti che potresti utilizzare ogni volta che ritieni che il tuo sito Web non funzioni correttamente. E anche se lo fa, c’è sempre spazio per migliorarne le prestazioni o l’usabilità.

Che cos’è il debug?

Il debug è un’attività che gli sviluppatori svolgono per rilevare e rimuovere gli errori (chiamati anche bug) dai loro programmi. È fatto con l’aiuto di strumenti specializzati che ti consentono di vedere cosa sta succedendo all’interno di un programma mentre è in esecuzione.

A volte la parte più difficile del lavoro di debug è capire il componente preciso, il comando o l’istruzione che sta causando un errore. Per fare ciò, gli sviluppatori fanno lo stesso di un medico che deve fare una diagnosi: analizzare i sintomi e, se necessario, effettuare degli studi per identificare l’origine del problema. L’equivalente dello sviluppo software degli studi medici è uno strumento di monitoraggio che fornisce informazioni sul funzionamento interno di un sito Web.

Vediamo alcune opzioni.

WP_DEBUG

WordPress ha un aiuto per il debug integrato che viene comunemente trascurato. È un “flag” chiamato WP_DEBUG che attiva la modalità di debug in WordPress ogni volta che viene attivato. Quando attivi WP_DEBUG, viene generato un registro che registra tutte le attività del tuo sito web. Leggendo questo registro, potresti scoprire cosa non funziona correttamente sul tuo sito Web WordPress.

Per attivare WP_DEBUG, devi fare un po’ di codifica, modificando il tuo file wp-config.php e aggiungendo le righe necessarie per comandare al tuo sito web di registrare tutte le attività nel log. Questa attività di codifica non è per tutti: devi stare molto attento quando modifichi il file wp-config.php, perché se perdi una riga o anche un carattere, il tuo sito Web potrebbe smettere di funzionare. Inoltre, fai un backup del tuo sito/file prima di fare qualsiasi cosa. Se sbagli, puoi ripristinare il backup e riportare tutto alla normalità.

Per modificare il file wp-config.php, usa il file manager del tuo provider di hosting o usa un client FTP per scaricare il file e aprirlo localmente con il tuo editor di testo preferito. Il file si trova nella directory principale dell’installazione di WordPress. Dopo averlo aperto, individuare la riga in cui è definito WP_DEBUG. Dovrebbe sembrare come questo:

define( 'WP_DEBUG', false );

Se non è presente tale riga, cercare il seguente commento:

/* That’s all, stop editing! Happy blogging. */

e aggiungi le seguenti righe sopra quel commento. Questi comandi istruiranno il tuo sito a registrare tutti gli errori senza visualizzarli, il che è utile per i siti Web pubblicamente disponibili:

define('WP_DEBUG', true); 
define('WP_DEBUG_LOG', true); 
define('WP_DEBUG_DISPLAY', false); 
@ini_set('display_errors',0);

Salva il file modificato e, se stai utilizzando FTP, caricalo sul tuo sito. Quindi prova a provocare l’errore (o attendi finché non si verifica) e controlla il file debug.log. Lo troverai nella cartella wp-content della tua installazione di WordPress. Puoi aprirlo con un editor di testo e cercare i messaggi di errore che rivelano cosa sta causando problemi al tuo sito web.

Dopo aver fatto ciò, dovresti disattivare la registrazione modificando i valori “true” in “false” in tutte le righe che hai aggiunto o modificato nel file wp-config.php.

Segnalazione errori WPDB

Se sai o sospetti che il database del tuo sito Web stia causando problemi, puoi abilitare Segnalazione errori WPDB. Ciò richiede anche un po’ di codifica. Dopo aver abilitato la segnalazione degli errori, puoi indicare al tuo sito Web di iniziare a visualizzare gli errori del database sullo schermo.

Non dovresti farlo su un sito web live a meno che non ti importi se i tuoi visitatori ricevono messaggi di errore sui loro schermi. È meglio utilizzare un sito Web di staging (come descritto di seguito) in cui puoi testare tutto ciò che desideri senza che tutti vedano cosa sta succedendo sotto il cofano.

La lettura di questi rapporti o registri di errore richiede alcune conoscenze tecniche, proprio come sono necessarie conoscenze mediche per leggere una radiografia, ad esempio. Dovrai decifrare un po’ di programmazione, rete o gergo del database, ma probabilmente troverai il problema alla radice che sta interessando il tuo sito Web e quindi chiedi aiuto a qualcuno che potrebbe risolvere quel problema specifico.

Per iniziare a generare rapporti sugli errori del database, aggiungi la seguente riga al file wp-config.php (nello stesso modo spiegato prima per generare il registro di debug):

define( 'SAVEQUERIES', true);

Impostando questo valore su true, il database inizierà a memorizzare tutte le query effettuate dal tuo sito web. Quindi sarai in grado di ispezionare il numero di query causate da ciascuna richiesta di pagina e i comandi utilizzati in ciascuna. Un modo per mostrare le query sullo schermo è aggiungere queste righe nel file PHP del tema all’interno del flusso di esecuzione:

global $wpdb; 
print_r( $wpdb->queries );

Una volta terminato il debug, è necessario rimuovere queste righe per ripristinare il normale funzionamento del sito Web.

Utilizzo di un sito Web di staging

Un sito Web di staging è un clone del tuo sito Web attuale, in cui puoi testare modifiche o nuove funzionalità prima di metterle in diretta. È anche una buona idea utilizzare un sito Web di staging per eseguire il debug di problemi o monitorarne il comportamento perché ti dà la libertà di provare tutto ciò che desideri senza interferire con gli utenti effettivi del tuo sito Web.

È importante che un sito Web di staging rifletta esattamente il contenuto e la struttura del tuo sito Web effettivo. Ogni volta che aggiorni il tuo sito WordPress con nuovi contenuti o nuovi componenti aggiuntivi (principalmente plugin e temi), dovresti aggiornare il tuo sito di staging con una copia di quello attuale. In questo modo, se si verifica un problema sul tuo sito web live, sarai in grado di replicarlo sul tuo ambiente di staging.

Molti provider di hosting WordPress gestiti offrono un sito di staging come valore aggiunto ai loro piani a pagamento. Questo è il modo più intuitivo per avere un ambiente di allestimento in cui puoi giocare e provare le cose senza rischi. Ma se il tuo provider di hosting non ti offre questa possibilità, puoi creare un sito di staging utilizzando il Messa in scena del WP collegare. Questo plug-in semplifica la clonazione del tuo sito Web e quindi l’utilizzo del clone come se fosse reale. Saprai sempre quando ti trovi nell’ambiente di staging perché una barra arancione nella parte superiore dello schermo te lo dirà.

Se ti piace sporcarti le mani, puoi sempre creare un sito di staging manualmente su un sottodominio, supponendo che il tuo provider di hosting ti permetta di aggiungere un sottodominio al tuo account. Il processo di creazione del sito di staging in questo modo può essere un po’ complicato, quindi se sei un principiante di WordPress, potresti voler utilizzare un’altra opzione.

Monitoraggio delle query

Il suo nome potrebbe essere fuorviante perché Monitoraggio delle query fa molto di più che monitorare le query. È un pannello di sviluppo completo per WordPress, che consente il debug di script, fogli di stile, chiamate API, query di database, errori PHP e altro ancora. Alcune funzionalità avanzate consentono di eseguire il debug delle chiamate Ajax ed eseguire controlli delle capacità dell’utente.

Una volta installato e attivato, Query Monitor inizia a mostrare le informazioni sul comportamento del tuo sito web nei modi più utili.

Ad esempio, mostra le query di database aggregate raggruppate in base alle funzioni, ai plug-in o ai temi che le hanno attivate. Un menu della barra degli strumenti di amministrazione mostra le statistiche in tempo reale della pagina corrente, con tutte le informazioni di debug di cui potresti aver bisogno per valutare il problema che devi risolvere.

Utilizzando Query Monitor, puoi restringere progressivamente la tua ricerca di bug per plugin o tema, fino a trovare quello che sta degradando le prestazioni del tuo sito web o causando un malfunzionamento. Proprio come WordPress, Query Monitor è completamente gratuito e open source.

Precedentemente noto come Firebug, Strumenti per sviluppatori Firefox è una versione speciale di Firefox su misura per gli sviluppatori, che offre le funzionalità e gli strumenti di sviluppo più recenti. Non è specifico per WordPress, ma risulta essere molto utile per il debug dei siti web.

È inevitabile confrontare gli strumenti per sviluppatori di Firefox con i più popolari Chrome DevTools. In questo modo, spicca il solido layout di Firefox. Ad esempio, puoi fare clic con il pulsante destro del mouse su qualsiasi elemento per visualizzare la scheda dell’ispettore e la console Web offre un output completo durante la stampa di oggetti, mostrando molte più informazioni rispetto al solo nome. Fornisce informazioni aggiuntive per determinati tipi, consentendo un esame dettagliato delle proprietà dell’oggetto e fornendo informazioni più complete per gli elementi DOM.

Con lo strumento Inspector, puoi esaminare e modificare la pagina HTML e CSS, permettendoti di farlo con le pagine caricate localmente su Firefox o su un dispositivo remoto, come Firefox per Android.

La Console Web mostra tutte le informazioni di cui potresti aver bisogno su una pagina Web: JavaScript, richieste di rete, CSS, avvisi, messaggi di errore e messaggi informativi registrati esplicitamente dal codice JavaScript. Consente inoltre di interagire con una pagina Web eseguendo direttamente espressioni JavaScript nel contesto della pagina.

Nuova reliquia

In qualità di uno dei maggiori attori nel settore APM (Application Performance Monitoring), Nuova reliquia è un prodotto commerciale che migliaia di sviluppatori in tutto il mondo utilizzano quotidianamente per ottenere informazioni dettagliate sulle prestazioni dei loro prodotti software. Ha un’architettura plug-in che consente funzionalità aggiuntive da parte di terze parti, risultando in uno spettro praticamente infinito di tecnologie che possono essere monitorate da questo strumento.

Con una fascia di prezzo da $ 9,37 a $ 200 per host al mese, è destinato a attività di debug professionali. Ha anche una curva di apprendimento estesa, quindi oltre a spendere soldi per la soluzione, devi anche investire tempo per imparare a usarla. Gli utenti di New Relic apprezzano il fatto che è facilmente integrabile nelle applicazioni per l’APM e il monitoraggio dell’infrastruttura.

Kinsta ti consente di integrare facilmente New Relic dalla dashboard di MyKinsta.

Barra di debug

Barra di debug è un insieme di plugin accessibili tramite un menu di debug nella barra di amministrazione di WordPress, che mostra un’ampia varietà di informazioni di debug. Le sue opzioni includono la console, codici brevi, costanti, tipi di post, cron, azioni e filtri, transitori, richieste remote ed elenchi di script e dipendenze di stile. È un plugin open source, quindi può essere utilizzato gratuitamente.

Il plug-in principale, Debug Bar, fornisce la funzionalità di base, estesa dal resto dei plug-in. Funziona con i flag di debug integrati offerti da WordPress, come WP_DEBUG e SAVEQUERIES. Quando questi flag sono attivi, la barra di debug aggiunge utili informazioni di debug, come avvisi PHP e query MySQL, risparmiandoti la fatica di cercare e leggere i file di registro.

Ciascuna opzione nel menu della barra di debug fornisce la propria quota di potenza di debug. La console, ad esempio, fornisce una console in cui è possibile eseguire codice PHP arbitrario, che è eccellente per testare il contenuto delle variabili (tra gli altri usi). Cron mostra informazioni sugli eventi programmati di WordPress, come l’ora del prossimo evento, il numero di eventi programmati, l’elenco degli eventi programmati personalizzati, ecc. Azioni e filtri sono un’altra opzione per visualizzare gli hook allegati alla richiesta corrente. La scheda Azioni mostra le azioni agganciate alla richiesta corrente, mentre la scheda Filtri mostra tutti i tag di filtro, insieme alle funzioni allegate a ciascuno.

Debug per tutti

Gli strumenti di debug sono progettati principalmente per i professionisti dello sviluppo software. Ma anche se non sei uno sviluppatore, se mantieni solo un blog WordPress, è utile avere almeno una conoscenza di base su come monitorare ed eseguire il debug del tuo sito. In questo modo, puoi fornire a uno sviluppatore alcune informazioni che lo aiuteranno a trovare la fonte di un problema, allo stesso modo che, se ti senti male, puoi risparmiare un po’ di lavoro al tuo medico misurandoti la temperatura da solo prima di andare in ospedale.

Impara alcuni modi per fare soldi come professionisti di WordPress.