Una delle cose più spaventose che possono capitare a un utente WordPress è installare un plugin e, all’attivazione, ritrovarsi davanti alla temuta “White Screen of Death” (schermata bianca della morte).
Lo schermo, dove prima viveva il tuo sito web splendidamente realizzato, è ora completamente bianco o mostra una o due righe di testo non formattato. Questo è spesso sintomo di un conflitto plugin WordPress.
Un conflitto tra plugin si verifica quando hai due (o più) plugin installati che, sebbene funzionino bene singolarmente, se eseguiti insieme causano problemi al sito.
Solitamente accade quando i plugin agiscono contemporaneamente e includono librerie o funzioni con nomi simili o identici. Si crea un conflitto di denominazione e PHP genera un errore fatale.
Questo articolo ti guiderà nel processo di diagnosi e risoluzione di un conflitto plugin WordPress.
I conflitti tra plugin sono davvero comuni?
Prima di tutto, va detto che un conflitto plugin WordPress grave, tale da bloccare completamente il sito, sta diventando meno frequente.
WordPress, negli ultimi anni, ha introdotto meccanismi di protezione: se si verifica un errore critico durante l’attivazione di un plugin, piuttosto che attivarlo completamente, il sistema tende a fare un passo indietro automaticamente, fornire un messaggio di errore e lasciare il plugin disattivato.
Per la maggior parte degli utenti, questo è lo scenario più comune.

A questo punto, l’indagine sul plugin problematico dovrebbe essere fatta in un ambiente di staging (una copia di test del sito). Se il plugin non è unico nel suo genere, potrebbe essere necessario trovare un’alternativa che non entri in conflitto con la tua configurazione attuale.
I conflitti tendono a verificarsi più spesso quando:
- Installi un plugin Must Use (MU) tramite metodi come FTP.
- Si verifica un aggiornamento di uno o più plugin che introduce incompatibilità.
- Hai un plugin personalizzato attivo e vengono inviate modifiche al server che creano conflitti.
Ti guiderò attraverso il mio processo per risolvere un conflitto plugin WordPress.
La diagnosi: hai accesso a WordPress?
Per iniziare, la prima domanda da porsi è: riesci ad accedere all’area di amministrazione di WordPress /wp-admin/
? La strategia di diagnosi cambia a seconda della risposta.
1. Sì, ho accesso all’area admin
Se riesci ad accedere, hai un potente strumento a tua disposizione.
La saggezza convenzionale suggerirebbe di disattivare tutti i plugin e passare a un tema predefinito (come Twenty Twenty-Four) per isolare il problema.
Tuttavia, farlo su un sito live non è ideale, poiché interromperebbe molte funzionalità per i tuoi visitatori.
Un approccio molto migliore è installare il plugin Health Check & Troubleshooting. Per maggiori dettagli, consulta la nostra guida dettagliata su come installare un plugin per WordPress.
- Installa e attiva il plugin Health Check & Troubleshooting dalla bacheca di WordPress vai su Plugin » Aggiungi Nuovo.
- Vai su Strumenti » Site Health.
- Clicca sulla scheda ‘Troubleshooting‘.
- Clicca sul pulsante ‘Enable Troubleshooting Mode‘.
Questa modalità ti consente di avere una sessione “pulita” di WordPress solo per te (come amministratore loggato), con tutti i plugin disattivati e un tema predefinito attivo.
I tuoi visitatori continueranno a vedere il sito normalmente.
All’interno della modalità Troubleshooting (vedrai un indicatore nella barra di amministrazione), vai su Plugin » Plugin Installati.
Ora puoi riattivare i plugin uno per uno, ricaricando una pagina del sito (o l’area problematica) dopo ogni attivazione.
Quando il sito si rompe di nuovo, hai trovato il plugin che causa il conflitto plugin WordPress.
Lascia quel plugin disattivato nella modalità Troubleshooting e poi disattiva la modalità Troubleshooting dalla barra di amministrazione.
Ora sai quale plugin causa problemi sul sito live e puoi disattivarlo definitivamente (o cercare una soluzione).
Consiglio: Attiva il tema per ultimo, specialmente se usi un tema personalizzato. Potrebbe dipendere da funzionalità presenti in specifici plugin e attivarlo prima potrebbe causare errori.
2. No, non ho accesso all’area admin
Se non riesci ad accedere a /wp-admin/
, la diagnosi richiede un approccio diverso, solitamente tramite accesso ai file del server (FTP/SFTP o File Manager del tuo hosting).
2.1. Controlla l’email dell’amministratore (Modalità di ripristino)
Se l’errore è un “Fatal Error” causato da un plugin o tema specifico, WordPress (dalla versione 5.2 in poi) tenta di inviare un’email all’indirizzo dell’amministratore (impostato in Impostazioni » Generali).
Questa email contiene un link speciale per accedere alla Modalità di Ripristino (Recovery Mode).
Questa modalità ti permette di accedere alla bacheca mettendo in pausa il plugin o tema che causa l’errore, consentendoti di disattivarlo o risolvere il problema. Controlla la tua casella di posta (e la cartella spam!).

2.2. Controlla i file di log del server
Il primo passo tecnico è controllare i file di log degli errori del server. Questi file registrano gli errori PHP fatali che potrebbero causare il blocco del sito. La posizione dei log varia a seconda del tuo provider di hosting:
- Potrebbero essere visibili direttamente nel pannello di controllo del tuo hosting (cPanel, Plesk, ecc.), spesso in una sezione chiamata “Logs”, “Error Log” o simile.
- Se hai solo accesso ai file (FTP/SFTP/File Manager), i log si trovano spesso al di fuori della cartella pubblica principale (public_html o www). Cerca una cartella chiamata logs o file chiamati error_log o php_error.log nella directory principale del tuo account hosting (un livello sopra public_html).
Se trovi il file di log, scaricalo e aprilo con un editor di testo. Cerca errori recenti, specialmente quelli etichettati come “PHP Fatal error“, solitamente verso la fine del file. Il messaggio di errore ti darà indizi cruciali su quale file (e spesso quale plugin o tema) sta causando il conflitto plugin WordPress.
2.3. Attiva il debug di WordPress (se non ci sono log)
Se non riesci a trovare i log del server o sono vuoti, puoi forzare WordPress a registrare gli errori attivando la modalità di debug.
- Connettiti al tuo sito tramite FTP/SFTP o File Manager.
- Trova il file
wp-config.php
nella directory principale di WordPress. - Fai un backup di questo file prima di modificarlo.
- Apri
wp-config.php
con un editor di testo. - Trova la riga
/* That's all, stop editing! Happy publishing. */
(o simile). - Appena prima di quella riga, aggiungi le seguenti linee di codice:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 );
- Salva le modifiche e ricarica il file wp-config.php sul server.
Ora, prova a visitare nuovamente il tuo sito web (la pagina che dava errore o la dashboard). Questo dovrebbe creare un file chiamato debug.log all’interno della cartella /wp-content/
. Scarica e apri questo file per vedere i messaggi di errore PHP.
Consiglio di sicurezza: Il file debug.log potrebbe essere pubblicamente visibile se qualcuno conosce l’URL esatto. Una volta risolto il problema, ricordati di rimuovere le righe aggiunte a wp-config.php e di eliminare il file debug.log dalla cartella
/wp-content/
.
Capire i messaggi di errore
Indipendentemente dal metodo utilizzato per trovare l’errore (email di ripristino, log del server, debug.log), dovresti ottenere un messaggio simile a questo:
Fatal error: Cannot redeclare hello_dolly_get_lyric() (previously declared in /wp-content/plugins/broken-plugin/index.php:17) in /wp-content/plugins/hello-dolly/hello.php on line 46
Analizziamo questo messaggio:
- “Fatal error“: Indica il tipo di errore. Un errore fatale in PHP significa che l’esecuzione dello script si interrompe immediatamente, bloccando il caricamento del sito. Potresti trovare anche altri tipi di errore come “Warning” o “Notice”, che sono meno gravi ma indicano comunque problemi.
- “Cannot redeclare hello_dolly_get_lyric()“: Questo è il messaggio specifico dell’errore. In questo caso, significa che ci sono due funzioni PHP con lo stesso identico nome (hello_dolly_get_lyric()). Questa è la causa tecnica del conflitto plugin WordPress.
- Percorsi dei file: Il messaggio indica dove la funzione è stata dichiarata la prima volta (/wp-content/plugins/broken-plugin/index.php:17) e dove si è verificato il tentativo di rideclararla (/wp-content/plugins/hello-dolly/hello.php on line 46). Questo ti dice quali plugin sono coinvolti nel conflitto (in questo esempio, broken-plugin e hello-dolly). Il numero di riga è meno importante per la risoluzione, ma i percorsi dei file sono cruciali.
Risolvere il conflitto plugin WordPress
Una volta identificato il plugin (o i plugin) che causa il conflitto, il passo successivo è risolverlo:
- Disattiva il plugin problematico: Il modo più semplice e sicuro, specialmente se non hai accesso all’area admin, è usare FTP/SFTP o il File Manager del tuo hosting.
- Vai alla cartella /wp-content/plugins/.
- Trova la cartella del plugin identificato dall’errore (es. hello-dolly).
- Rinomina la cartella aggiungendo qualcosa alla fine (es. hello-dolly-disattivato o hello-dolly-old).
- Questo impedirà a WordPress di caricare il plugin, disattivandolo di fatto. Ora dovresti essere in grado di accedere nuovamente all’area admin.
- Non eliminare (se possibile): È una buona idea non eliminare subito la cartella del plugin, se puoi evitarlo. Rinominarla è sufficiente per disattivarlo e ti permette di indagare ulteriormente se necessario.
- Indaga e scegli: Ora puoi:
- Cercare un’alternativa: Trova un altro plugin che offra funzionalità simili ma che non causi conflitti.
- Contattare gli sviluppatori: Se il conflitto coinvolge due plugin di terze parti, contatta gli sviluppatori di entrambi i plugin, fornendo il messaggio di errore. Potrebbero non essere a conoscenza dell’incompatibilità e potrebbero rilasciare una correzione. Se uno dei plugin è tuo codice personalizzato, dovrai correggerlo tu.
- Mantenere disattivato: Se la funzionalità non è essenziale, puoi semplicemente lasciare il plugin disattivato.
Prevenire i conflitti: consigli per sviluppatori
Se sei uno sviluppatore che costruisce siti WordPress, temi o plugin, seguire buone pratiche può prevenire molti casi di conflitto plugin WordPress. Ecco alcuni consigli:
- Usa prefissi univoci: Se non stai usando i Namespace PHP (una tecnica più avanzata), prefissa sempre le tue funzioni e classi con un identificatore unico legato al tuo plugin o tema (es. mioplugin_mia_funzione(), MiaClasse_MioPlugin). Evita prefissi generici come wp_ o nomi troppo comuni.
- Controlla l’esistenza: Prima di dichiarare una funzione o una classe, verifica se esiste già usando function_exists() o class_exists(). Questo impedisce errori fatali se un altro plugin ha già caricato una funzione/classe con lo stesso nome.
if ( ! function_exists( 'mia_funzione_speciale' ) ) { function mia_funzione_speciale() { // Il tuo codice qui } }
- Carica le dipendenze correttamente: Se il tuo codice dipende da librerie esterne o funzionalità di altri plugin/core, assicurati che vengano caricate prima del tuo codice, utilizzando gli hook appropriati di WordPress (es. plugins_loaded).
- Ambienti coerenti: Assicurati che il tuo ambiente di sviluppo sia il più simile possibile all’ambiente live (stessa versione PHP, server web, ecc.). Questo aiuta a individuare potenziali conflitti prima della messa in produzione.
- Limita le librerie esterne: Includi librerie di terze parti solo se strettamente necessario e verifica che non siano già caricate da WordPress core o da altri plugin comuni.
Non potrai mai garantire al 100% che il tuo plugin o tema non entri in conflitto con i milioni di altri plugin esistenti.
Tuttavia, seguendo questi passaggi, puoi minimizzare significativamente il rischio di conflitto plugin WordPress e risparmiarti ore di debug in futuro.
Se questo articolo vi è piaciuto, seguiteci su X e Facebook per rimanere aggiornati su tutte le novità e consigli utili su WordPress!