Rimuovere correttamente Wordfence da WordPress
Negli ultimi mesi ho dovuto trasferire un po' di siti WordPress da un servizio all’altro. Solitamente questa operazione è molto lineare:
- esportazione del database
- download del sito tramite FTP
- upload sul nuovo hosting (sempre tramite FTP)
- importazione del dump del database fatto in precedenza
- aggiornamento dei dati nel file
wp-config.php
(spesso da un hosting all’altro i dati del database cambiano ed è necessario aggiornarli)
Ed è fatta! A volte capitano problemi con le versioni di PHP, però con qualche tentativo (se non conosci la versione esatta sul quale deve girare il sito), in pochi minuti si risolve facilmente anche questo “ostacolo”.
Con qualche sito però non è stato così semplice.
A volte ho avuto problemi con l’import del database. Da phpMyAdmin non andava a buon fine… Panico!
In alcuni casi avevo accesso alla shell del server e quindi con il comando di import mysql
sono riuscito
a risolvere:
mysql -u root -p [wp_database_name] < dump.sql
N.B.: sostituisci [wp_database_name]
con il nome del database in cui importare il dump.
Non sempre però ho avuto questa fortuna ed all’inizio ero davvero preoccupato, in alcuni casi ho creduto di aver perso l’unico backup superstite rimasto… Guai in vista 😭
Apro con Sublime Text il dump del database ed inizio a scorrere piano piano le migliaia di righe nel disperato tentativo di beccare il problema e tentare di salvare il salvabile. Mentre scorro, velocemente a colpo d’occhio, scorgo dei caratteri strani.
Cerco di indagare e capisco che in tutte le tabelle del plugin Wordfence c’erano caratteri speciali che in fase di import facevano fallire la procedura. Non ho capito se è stata colpa di phpMyAdmin che ha esportato male solo quelle tabelle o di Wordfence che ha utilizzato una codifica particolare.
Come ho risolto?
Mi sono armato di altra pazienza ed ho rimosso Wordfence manualmente seguendo questa procedura:
- cancello la cartella
wordfence
da/wp-content/plugins/
- cancello la cartella
wflogs
da/wp-content/
- nella root del sito apro il file
.htaccess
oppure.user.ini
, a seconda della configurazione del server, e cancello le istruzioni comprese tra# Wordfence WAF
e# END Wordfence WAF
- sempre nella root del sito cancello il file
wordfence-waf.php
- cancello dal database le tabelle di Wordfence, hanno tutte il
wf
dopo il prefisso dell’installazione. Ad esempio, con il prefissowp_
le tabelle di Wordfence sono:wp_wfHoover
,wp_wfIssues
,wp_wfKnownFileList
, etc…
In alcuni casi sono stato particolarmente sfortunato, non avevo più la copia online disponibile,
ho dovuto cancellarmi manualmente dal dump tutte le query
di CREATE TABLE
ed INSERT INTO
.
Un’operazione che non auguro di dover fare a nessuno per quanto è lunga e noiosa 😆
Cosa ho imparato da questa esperienza?
Quando trasferisco siti in WordPress, prima di procedere seguo questa procedura, rimuovo Wordfence e poi lo installo di nuovo dalla pagina dei plugin sul nuovo hosting 😃
Ti è mai capitato un problema simile?
Fammelo sapere nei commenti!
Ti aspetto anche nel mio canale Telegram pubblico periodicamente sconti, news tech ed altro 🙂
AP