Succede a tutti: c’è un problema o un errore sul nostro sito e bisogna fare qualche di ricerca per capire qual è la causa del problema e come risolverlo.

WordPress dispone di una modalità di debug integrata che aiuta a capire cosa sta succedendo, visualizzando tutti gli errori PHP, i messaggi e gli avvisi. Esistono anche altre soluzioni di debug che possono essere utili per indagare su determinati problemi.

Una volta identificata l’origine di un problema, è possibile segnalarne i dettagli allo sviluppatore del plugin o del tema o allo sviluppatore del sito web. Se non è possibile una soluzione immediata, potrebbe essere necessario disattivare il plugin o il tema fino a quando il problema non è stato risolto.

Abilitare WP_DEBUG

Per abilitare WP_DEBUG, accedere a MyKinsta e selezionare il sito e l’ambiente in cui su vuole abilitarlo.

Andate alla scheda Strumenti e fate clic sul pulsante Abilita alla voce Debug di WordPress.

Abilitare il debug di WordPress in MyKinsta.
Abilitare il debug di WordPress in MyKinsta.

In questo modo, WordPress mostrerà tutti gli errori PHP, gli avvisi e i messaggi del sito. Questi verranno mostrati a tutti i visitatori e potranno essere visualizzati sia nella parte frontale del sito che nella bacheca di WordPress.

Se ora visualizzate il file wp-config.php del vostro sito, vedrete che la seguente riga è stata aggiunta subito prima della riga /* That's all, stop editing! Happy blogging. */:

if (! defined('WP_DEBUG') ) { define( 'WP_DEBUG', true ); } // line added by the MyKinsta

Impostando WP_DEBUG su true si abilita il debug in WordPress.

Estendere WP_DEBUG

Ci sono alcune costanti che accompagnano WP_DEBUG che attivano ulteriori opzioni di debug.

Debug Log

Se volete salvare gli errori in un file di log, potete abilitare WP_DEBUG_LOG modificando il file wp-config.php e aggiungendo la seguente riga dopo quella che abilita WP_DEBUG:

define( 'WP_DEBUG_LOG', true );

Di default, il file di log verrà salvato in: wp-content/debug.log sul server. Se volete, potete personalizzare il percorso e il nome del file. In questo esempio, salveremo il file di log nella directory tmp e lo chiameremo wp-errors.log:

define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );

Script Debug

Abilitando SCRIPT_DEBUG, WordPress utilizzerà le versioni dev dei file CSS e JavaScript del core invece delle versioni minificate che carica normalmente:

define( 'SCRIPT_DEBUG', true );

Questo può essere utile quando si risolvono problemi con JavaScript o CSS e si sospetta un conflitto o un altro problema con i file JavaScript o CSS principali.

Debug delle Query del Database

Per salvare le query del database in un array, bisogna attivare SAVEQUERIES:

define( 'SAVEQUERIES', true );

In questo modo ogni query verrà salvata, insieme al tempo di esecuzione e la funzione che l’ha invocata. È possibile accedere all’array o visualizzarlo con il comando globale $wpdb->queries.

Altri Strumenti e Risorse per il Debug

Plugin Query Monitor

Il plugin Query Monitor è un plugin gratuito utile per il debug di diverse aree di WordPress. Può essere utile per individuare le query del database lente, le chiamate AJAX, le richieste API REST e molto altro. Per maggiori informazioni, abbiamo un articolo del blog che spiega come usare il plugin Query Monitor.

Kinsta APM

Lo strumento APM di Kinsta permette di identificare i colli di bottiglia delle prestazioni PHP sul vostro sito WordPress senza dover acquistare servizi di monitoraggio di terze parti come New Relic.

New Relic

New Relic è uno strumento di monitoraggio che fornisce un’analisi dettagliata delle prestazioni a livello granulare.

Log del Server

In MyKinsta sono disponibili i file di log, che possono essere scaricati anche tramite SFTP. Questi file possono essere utili per la risoluzione di errori o per rintracciare altri problemi sul sito.