Filtra la ricerca ...
Categorie

Log di errore WordPress: leggere e risolvere i bug comuni (guida pratica 2025)

Ciao e benvenuto. Se hai bisogno di chiarimenti sul codice, lascia un commento (no WhatsApp); ricorda però che non fornisco assistenza gratuita sugli articoli che ho scritto nè personalizzo il codice in modo gratuito, quindi se la tua richiesta va oltre il semplice "aiutino", se vuoi mi chiedi una consulenza a pagamento nella pagina contatti. Grazie della comprensione. Alessio

I log di errore di WordPress sono il modo più veloce per capire cosa rompe il sito (500, schermata bianca, checkout bloccato, backend lento). Qui trovi come attivare e leggere i log in modo sicuro, una procedura di diagnosi e le soluzioni rapide agli errori più frequenti.

TL;DR

In wp-config.php attiva solo per il tempo del debug:

  • Leggi /wp-content/debug.log e i log PHP del server (cPanel/Plesk/SSH).
  • Per prima cosa isola: disattiva cache/minify, passa a tema di default, disattiva plugin a blocchi.
  • Errori tipici: Memory exhausted, Max execution time, Headers already sent, Call to undefined function, DB connection.
  • Finito il debug: togli WP_DEBUG o rimettilo a false e ruota/cancella il log.

Attivare e leggere i log (modalità sicura)

Modifica wp-config.php (sopra la riga “That’s all, stop editing!”):

Dove leggere:
wp-content/debug.log (log applicativo di WordPress)
– Log del server (PHP/Apache/Nginx) via cPanel/Plesk/SSH

Dove trovo i log del server

  • cPanel: Metrics → Errors oppure File Manager → logs/error_log
  • Plesk: dominio → Logs (filtra “Error”/“PHP”) o File Manager cartella logs
  • SSH (può variare): /var/log/apache2/error.log o /var/log/nginx/error.log

Procedura standard di diagnosi (sempre nell’ordine)

  1. Replica l’errore e annota data/ora.
  2. Disattiva cache/minify/concatenate temporaneamente (plugin di performance e CDN).
  3. Tema di default (Twenty Twenty-Five o simile) e disattiva i plugin a blocchi per trovare il colpevole.
  4. Controlla debug.log e i log PHP del server in corrispondenza di data/ora.
  5. Risolto il problema, riattiva progressivamente cache/ottimizzazioni e ritesta.

Errori frequenti e soluzioni rapide

Messaggio nel log Causa probabile Soluzione rapida
Allowed memory size exhausted Plugin/tema pesante, loop, memoria PHP bassa

Rimuovi bloat, controlla plugin recenti e query pesanti.

Maximum execution time of 30 seconds exceeded Processo lungo (import, API), limiti PHP bassi Aumenta max_execution_time (hosting o .user.ini), spezza i job, verifica cron.
Cannot modify header information - headers already sent Output prima dei header (spazi/BOM, echo in plugin/tema) Rimuovi BOM/spazi prima di <?php, evita ?> di chiusura, elimina echo in hook di login/redirect.
Call to undefined function / class Dipendenza non caricata, ordine di hook errato, estensione PHP mancante Controlla require/autoload, ordina gli hook (init vs plugins_loaded), abilita estensioni PHP (es. mbstring, intl).
Error establishing a database connection Credenziali DB errate, MySQL down, privilegio utente Verifica DB_NAME/USER/PASSWORD/HOST in wp-config.php, prova:

Chiedi all’hosting se il DB ha problemi o rate limit.

cURL error 28: Connection timed out Timeout chiamate esterne (API, WP.org), DNS/firewall Aumenta timeout della richiesta, verifica DNS/Firewall, controlla blocchi IPv6/IPv4 dell’hosting.
Permission denied Permessi/ownership errati Cartelle 755, file 644, wp-config.php 640. Riallinea ownership lato hosting.
REST API not working / 401/403/404 Rewrite, sicurezza, cookie/sessione Rigenera permalink, consenti endpoint nel WAF, escludi dal caching, controlla nonce.
Mixed content Asset http su sito https Forza https (URL sito), cerca/replace nel DB, controlla CDN e regole di riscrittura.

Comandi utili (WP-CLI e server)

Finito il debug: chiudi i rubinetti

In produzione rimetti così:

  • Ruota o cancella wp-content/debug.log (non lasciarlo crescere).
  • Se usi plugin di cache, svuota la cache e ritesta.

FAQ

Non vedo debug.log: perché?

Permessi/cartella non scrivibile, costanti in posizione errata, opcache che non ha ricaricato. Metti le costanti nella parte alta di wp-config.php e verifica i permessi di wp-content/.

Meglio mostrare gli errori a schermo?

No in produzione: usa WP_DEBUG_DISPLAY false. Gli errori a schermo possono esporre percorsi e dati sensibili agli utenti.

Log pieno di notice/warning: li ignoro?

I notice spesso non bloccano il sito ma indicano codice obsoleto. Pianifica la correzione: gli aggiornamenti futuri potrebbero trasformarli in errori.

 

Potrebbe interessarti anche ...

Hai bisogno di una consulenza, lo sviluppo di un plugin o vuoi incrementare le performance del tuo sito ?

Se vuoi postare codice usa codeshare.io
Se vuoi postare uno screeshot usa postimages.org ed inserisci l'url nel commento.

Lascia un commento


Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.