Come disattivare i plugin WordPress senza accesso al pannello admin
Il tuo sito WordPress mostra una schermata bianca, un errore fatale o non riesci ad accedere al pannello admin? Nella maggior parte dei casi, il colpevole è un plugin difettoso. Ma come disattivarlo se non puoi entrare nella dashboard? In questa guida ti mostro tutti i metodi per disattivare i plugin WordPress quando il pannello admin è inaccessibile: via FTP, database, SSH e WP-CLI.
Quando serve disattivare i plugin dall’esterno
Ci sono diverse situazioni in cui hai bisogno di disattivare i plugin senza poter accedere a wp-admin:
- Schermata bianca (WSOD): un plugin ha generato un errore fatale PHP che impedisce il caricamento dell’intero sito, incluso il pannello admin.
- Errore 500 Internal Server Error: un conflitto tra plugin o un plugin incompatibile con la versione di PHP causa un errore del server.
- Bloccato dal plugin di sicurezza: un plugin come Wordfence o iThemes Security ti ha bloccato per troppi tentativi di login o cambio di IP.
- Redirect loop: un plugin di redirect o cache crea un loop infinito che impedisce il caricamento di qualsiasi pagina.
- Errore dopo aggiornamento: un aggiornamento di plugin ha causato un’incompatibilità che rende il sito inaccessibile.
Metodo 1: rinominare la cartella via FTP
Il metodo più semplice e sicuro. Collegati al server con un client FTP (FileZilla è il più usato) o tramite il File Manager del pannello hosting.
Disattivare tutti i plugin
- Naviga nella cartella wp-content/.
- Trova la cartella plugins.
- Rinominala in plugins-disabled (o qualsiasi altro nome).
- Ricarica il sito: WordPress non trova più la cartella plugins e disattiva automaticamente tutti i plugin.
- Se il sito torna a funzionare, il problema è confermato in uno dei plugin.
- Rinomina la cartella al nome originale plugins. Tutti i plugin risulteranno disattivati nella dashboard.
- Accedi a wp-admin e riattiva i plugin uno alla volta per identificare il colpevole.
Disattivare un singolo plugin
Se sai già quale plugin è il responsabile:
- Naviga in wp-content/plugins/.
- Trova la cartella del plugin specifico (es. wordfence).
- Rinominala (es. wordfence-disabled).
- Ricarica il sito: solo quel plugin sarà disattivato.
Questo metodo funziona perché WordPress verifica l’esistenza delle cartelle dei plugin a ogni richiesta. Se la cartella non esiste con il nome registrato nel database, il plugin viene marcato come disattivato.
Metodo 2: disattivare via database (phpMyAdmin)
Puoi disattivare i plugin modificando direttamente il database tramite phpMyAdmin. Questo metodo è utile se non hai accesso FTP ma hai accesso a phpMyAdmin dal pannello hosting.
- Accedi a phpMyAdmin dal pannello hosting.
- Seleziona il database di WordPress.
- Apri la tabella wp_options (il prefisso potrebbe essere diverso).
- Cerca la riga con option_name uguale a active_plugins.
- Clicca “Modifica”.
- Il campo option_value contiene un array serializzato con la lista dei plugin attivi.
- Per disattivare tutti i plugin, sostituisci il valore con: a:0:{}
- Clicca “Esegui”.
Tutti i plugin sono ora disattivati. Accedi a wp-admin e riattivali selettivamente. Attenzione: prima di modificare il valore, copialo e salvalo in un file di testo. Se vuoi ripristinare esattamente la stessa lista di plugin attivi, potrai incollare il valore originale.
Metodo 3: WP-CLI via SSH
Se hai accesso SSH al server, WP-CLI è il metodo più rapido e flessibile:
# Elencare tutti i plugin e il loro stato wp plugin list --path=/percorso/wordpress/ # Disattivare un plugin specifico wp plugin deactivate wordfence --path=/percorso/wordpress/ # Disattivare tutti i plugin wp plugin deactivate --all --path=/percorso/wordpress/ # Riattivare un plugin specifico wp plugin activate wordfence --path=/percorso/wordpress/
WP-CLI è particolarmente utile perché mostra messaggi di errore dettagliati se un plugin ha problemi, aiutandoti a diagnosticare il problema specifico. Puoi anche usare wp plugin status per vedere un riepilogo completo: plugin attivi, inattivi e disponibili per aggiornamento. Se il tuo hosting non ha WP-CLI preinstallato, molti provider (Plesk, cPanel, ServerPilot) permettono di installarlo manualmente via SSH in pochi minuti.
Metodo 4: creare un plugin MU per forzare la disattivazione
I Must-Use plugins (MU plugins) vengono caricati prima di tutti gli altri plugin. Puoi sfruttare questo meccanismo per disattivare un plugin problematico:
- Via FTP, crea la cartella wp-content/mu-plugins/ se non esiste.
- Crea un file disable-plugin.php con questo contenuto:
<?php
// Disattiva un plugin specifico
add_filter('option_active_plugins', function($plugins) {
$key = array_search('wordfence/wordfence.php', $plugins);
if ($key !== false) unset($plugins[$key]);
return $plugins;
});
- Salva il file. Il plugin specificato verrà ignorato a ogni richiesta.
- Dopo aver risolto il problema, elimina il file MU plugin.
Questo metodo è utile quando non vuoi rinominare la cartella del plugin (perché perderebbe le impostazioni in alcuni casi) ma vuoi solo impedirne il caricamento temporaneamente.
Attivare il debug per capire quale plugin causa l’errore
Prima di procedere con il metodo di esclusione, puoi attivare il debug di WordPress per ottenere informazioni più precise sull’errore. Apri il file wp-config.php via FTP e modifica (o aggiungi) queste righe:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Con questa configurazione, WordPress scrive tutti gli errori nel file wp-content/debug.log senza mostrarli ai visitatori. Apri il file di log via FTP e cerca l’errore fatale: troverai il percorso completo del file che lo genera, incluso il nome della cartella del plugin. Questo ti permette di identificare subito il plugin colpevole senza doverli disattivare tutti. Ricorda di disattivare il debug dopo aver risolto il problema, impostando WP_DEBUG su false.
Identificare il plugin colpevole
Se non sai quale plugin causa il problema, procedi con il metodo di esclusione:
- Disattiva tutti i plugin (con uno dei metodi sopra).
- Verifica che il sito funzioni.
- Riattiva i plugin uno alla volta dalla dashboard.
- Dopo ogni riattivazione, ricarica il sito e verifica che funzioni.
- Quando il sito si rompe di nuovo, hai trovato il colpevole.
Per accelerare il processo, puoi usare il metodo binario: riattiva metà dei plugin alla volta. Se il sito funziona, il problema è nell’altra metà. Continua a dimezzare fino a isolare il plugin problematico. Con 20 plugin, trovi il colpevole in 4-5 tentativi anziché 20.
Cosa fare dopo aver identificato il plugin
Una volta identificato il plugin problematico, hai diverse opzioni:
- Aggiorna il plugin: se è disponibile un aggiornamento, potrebbe risolvere il problema.
- Contatta lo sviluppatore: segnala il problema nel forum di supporto del plugin su WordPress.org.
- Cerca un’alternativa: se il plugin non è più mantenuto o causa problemi ricorrenti, cerca un sostituto.
- Verifica la compatibilità PHP: il plugin potrebbe non essere compatibile con la versione di PHP del server. Verifica i requisiti del plugin.
Non riesci a risolvere il problema?
Se il sito è ancora inaccessibile dopo aver disattivato tutti i plugin, il problema potrebbe essere nel tema, nel core di WordPress o nella configurazione del server. Prova a passare a un tema predefinito (Twenty Twenty-Five) rinominando la cartella del tema attivo in wp-content/themes/. Se nemmeno questo risolve, controlla il file .htaccess per regole corrotte o il file wp-config.php per errori di configurazione.
Se non riesci a venirne a capo, il team di SoccorsoWP può diagnosticare rapidamente la causa dell’errore e ripristinare il sito in tempi brevi. Apri un ticket e torna online senza stress.