WordPress debug: guida completa e strumenti utili

Gennaio 21, 2021

Cosa signfica esattamente WordPress debug? Tutti utilizzano WordPress, vabbè non proprio tutti ma sicuramente con il 40% siti web che lo utilizzano nel mondo, WordPress è di gran lunga il CMS più utilizzato e questo significa una miriade di temi, plugin e app che circolano intorno a questo sistema.

Se vivessimo in un mondo perfetto, come quello che le demo di temi per WordPress ci mostrano, non avremmo problemi, sia nell'installazione, che nella configurazione o nell'uso di WordPress, ma nel mondo reale sicuramente chiunque abbia a che fare con questo sistema, prima o poi, si imbatterà con un problema che richiederà di "aprire la scatola" e guardarci dentro.

Tutto sommato WordPress stesso ci viene in aiuto fornendo una propria modalità di debug integrata e in più si possono anche trovare strumenti di terze parti utili per fare il WordPress debug.

Vediamo insieme come funziona la modalità di debug integrata di WordPress ed anche alcuni altri metodi per eseguire il debug di un sito WordPress.

Ma cosa fa esattamente il WordPress debug?

Come di certo saprete il core di WordPress è scritto principalmente in PHP, cosi come i plugin ed i temi quindi abilitare la modalità di debug di WordPress vi può aiutare a capire cosa sta succedendo, mostrandovi tutti gli errori e gli avvisi PHP.

Una volta abilitata la modalità di debug, compariranno in amministrazione e/o nel frontend del sito web dei messaggi ogni volta che riscontrerete un’anomalia (anche se questa non sta bloccando il sito oppure causando problemi immediati), vediamone alcuni esempi:

Wordpress error frontend

Questa è una informazione utile che può servire per intervenire e riparare il problema, se si è in grado di farlo, oppure segnalarlo al vostro sviluppatore/collaboratore o all'assistenza tecnica che vi può aiutare a risolvere il problema.

Come si attiva il WordPress debug?

Essenzialmente in due modalità:

  • con un plugin
  • direttamente nel file wp-config.php

Come utilizzare un plugin per il WordPress debug

Naturalmente, nel repository di plugin di WordPress, si trovano tantissimi plugin atti a questo scopo ed ognuno utilizza quello che gli sembra migliore. Molti hanno tante opzioni che soprattutto per chi è alle prime armi, non vengono utilizzate. Quello che serve è abilitare il debug di WordPress e il plugin WP Debugging assolve egregiamente a questo scopo.

Una volta installato e attivato il plugin, questo inizia subito a fare il suo lavoro. Di default, il plugin imposta le seguenti costanti su true (cioè abilita le seguenti funzionalità):

  • WP_DEBUG – abilita la modalità di debug.
  • WP_DEBUG_LOG – salva i messaggi in un file di log.
  • SCRIPT_DEBUG
  • SAVEQUERIES

Vediamo dopo cosa fanno queste funzionalità di WordPress.

Per configurare il plugin, si può andare in Strumenti → WP Debug.

Quando avete terminato il lavoro ed individuato o risolto il problema, ricordatevi di disattivare il plugin per disattivare la modalità di debug, che non va tenuta attiva in siti operativi e più avanti vi spiegherò anche il motivo.

Attivare manualmente la modalità WordPress debug

Per avere tutto sotto controllo l'opzione migliore è quella di abilitare la modalità di debug di WordPress aggiungendo manualmente le costanti al file wp-config.php.

Non è difficile, ma richiede un attimo di attenzione perché un errore nella modifica di questo file potrebbe non far funzionare più il vostro sito web, per cui, ricordarsi sempre di fare una copia del file originale per non avere brutte sorprese ed evitare problemi.

Bisogna connettersi via FTP alla cartella principale del vostro sito web WordPress, dove nella stragrande maggioranza dei casi si trova il file wp-config.php (a meno che sia stato spostato per motivi di sicurezza) e dopo aver fatto la copia di sicurezza, basta aggiungere, se non è presente, la seguente riga di codice:

// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );

prima della linea di codice con scritto:

/* That's all, stop editing! Happy publishing. */

se la riga è già presente va modificata la parola false con true, e una volta che avete terminato le operazioni fate esattamente il contrario, cioè modificate riportando a false oppure togliete l'intera riga.

La modalità di debug non va lasciata abilitata sempre, per due buoni motivi: può dare informazioni dal codice PHP ai visitatori del sito che non sempre sono animati da buone intenzioni..... e molte volte rallenta in modo anche evidente l'esecuzione del sito web.

Abilitare WP_DEBUG permetterà di mostrare tutti gli errori, le notifiche e gli avvisi di PHP. In questo modo spesso vengono mostrati messaggi di errore per situazioni che in effetti funzionano correttamente, ma che non seguono le convenzioni appropriate di PHP oppure che vengano mostrate le notifiche su funzioni e argomenti di WordPress deprecati ma utilizzati nel proprio sito. Questi avvisi sono facili da sistemare, addirittura spesso indicano la nuova funzione da usare al posto di quella deprecata ed in teoria basterebbe sostituirla, in pratica, invece quando si tratta di plugin o temi non autocostruiti potrebbe risultare complicata la correzione per vari motivi.

Altre istruzioni per il WordPress debug

Naturalmente non esiste soltanto WP_DEBUG, ma ci sono altre istruzioni che se abilitate nel file wp-config.php possono risultare utili.

WP_DEBUG_LOG è l'alter ego di WP_DEBUG che consente il salvataggio di tutti gli errori in un file di log chiamato debug.log dentro la cartella /wp-content/. per abilitarlo la riga da inserire nel file wp-config.php è la seguente:

define('WP_DEBUG_LOG', true);

Ma in effetti in questo caso, se salviamo gli errori in un file, forse non vogliamo mostrarli a video, magari in frontend cosa che darebbe fastidio ai visitatori. Allora possiamo usare un'altra riga di istruzioni sempre da inserire nella stessa maniera:

define('WP_DEBUG_DISPLAY', false);

Ci sono poi un altro paio di istruzioni interessanti, per chi è un po' più esperto da poter usare: SCRIPT_DEBUG che, se attivata a true, forza WordPress ad usare le versioni di sviluppo dei file CSS e Javascript di base piuttosto che le versioni minimizzate che normalmente vengono caricate in modo da poter meglio individuare problemi in script javascript o CSS e SAVEQUERIES che, sempre se attivata a true, salva le query fatte al database, insieme alle informazioni sul tempo impiegato nell'esecuzione, in un array che viene memorizzato nella variabile globale $wpdb->queries e che può essere stampato per analizzarle.

Vediamo un esempio di codice da poter inserire nel file wp-config.php per essere utilizzato come WordPress debug:

 // Abilitare la modalità WP_DEBUG
define('WP_DEBUG', true);

// Abilitare il salvataggio del log nel file /wp-content/debug.log
define('WP_DEBUG_LOG', true);

// Disabilitare la stampa di errori e avvisi
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);

// Utilizzare le versioni di sviluppo dei file JS e CSS di base
// (serve solo se si stanno modificando tali file)
define('SCRIPT_DEBUG', true);

Ricordarsi sempre di inserire questi codici prima della riga

/* That's all, stop editing! Happy publishing. */

e soprattutto copie su copie prima di modificare qualsiasi cosa.

Ciao, sono Marco e questo è il mio blog con gli appunti del mio lavoro di PHP developer. Come sviluppatore Wordpress creo templates e plugin, e per Prestashop realizzo moduli e temi oltre a varie applicazioni in PHP e MySql.

Hai problemi con Wordpress, con Prestashop, oppure vuoi creare un nuovo progetto Web?.

Copyright © 2023 - P. Iva 02677660546


Another project made with

by Marco Brughi
Città di Castello - Perugia - Arezzo - Firenze
Privacy Policy Cookie Policy
heart