Database WordPress: come cambiare i prefissi delle tabelle

Condividi su facebook
Condividi su twitter
Condividi su linkedin
Condividi su email
Il #database #WordPress è come un cervello per l’intero sito. Per proteggerlo è bene personalizzare i prefissi delle tabelli. Vediamo come.
Ultima modifica il 10 Marzo 2021
Tempo di lettura: 7 min.

Il database WordPress è come un cervello per l’intero sito, perché ogni singola informazione è memorizzata in esso, rendendolo così il bersaglio preferito dagli hacker.

Spammer e hacker tentano di eseguire codici automatizzati per gli attacchi SQL injection. Purtroppo molte persone dimenticano di cambiare il prefisso del database mentre installano WordPress. Questo rende più facile pianificare un attacco di massa mirando al prefisso predefinito wp_.

Il modo più intelligente per proteggere il proprio database è quello di modificarne il prefisso, cosa che è davvero facile da fare su un sito nuovo ancora in fase di configurazione. Ci vuole, invece, qualche passo in più per cambiare il prefisso del database di WordPress di un sito operativo.

Il processo è uno di quelli fondamentali per aumentare la sicurezza di WordPress, quindi ti consiglio di armarti di pazienza e di seguire questa piccola guida.

Se il tuo prefisso è già differente da wp_, puoi non seguire la guida.

Database WordPress Cassetti

Step 1. Preparazione del backup

Prima di fare qualunque operazione, ti consiglio di eseguire un backup del database WordPress.

È importante mantenere backup frequenti del sito, per questa operazione hai diverse opzioni. Quelle più semplici coinvolge un plugin: UpdraftPlus.

Esiste anche la possibilità di creare un backup manuale scaricando ogni file e il database manualmente. Per i file, puoi usare Filezilla, per il DB puoi andare su phpmyadmin, selezionare il DB ed esportare una copia.

Approfondiremo il discorso backup in un prossimo articolo.

Database WordPress Export
Schermata di phpmyadmin dove esportare il DB

Step 2. Cambio prefisso su wp-config.php

Apri il tuo file wp-config.php che si trova nella tua directory principale di WordPress. Cambia la linea del prefisso della tabella da wp_ a qualcosa di diverso, tipo wp_aJkl12n_.

Quindi la linea dovrebbe essere qualcosa così:

$table_prefix = 'wp_aJkl12n_';

Nota: I caratteri permessi sono numeri, lettere e underscore, inoltre sono case sensitive, quindi lettere maiuscole e minuscole sono differenti.

Step 3. Cambio prefisso nel DB

A questo punto, devi accedere al tuo database (molto probabilmente tramite phpMyAdmin), e poi cambiare i nomi delle tabelle con quelli che hai specificato nel file wp-config.php.

I pannelli di controllo dell’hosting solitamente offrono un tasto per accedere facilmente a phpmyadmin. Se non è così, devono almeno darti le credenziali di accesso.

Se devi accedere in autonomia, il percorso solitamente è

https://miodominio.it/phpmyadmin

TI verranno chieste le credenziali di accesso e ti ritroverai in una schermata simile a quella qui sotto:

Database WordPress phpmyadmin
Schermata phpmyadmin in locale

Nota: Nell’immagine proposta sono presenti tanti DB quanti siti ho installato in locale, visto che è la schermata del phpmyadmin del mio server locale. Lo uso per le prove e per registrare i corsi.

Avuto accesso al DB, ora devi cambiare il prefisso delle tabelle, ma sono almeno 11 e non è una cosa così divertente farlo una per una. Però, puoi usare una query, cioè una richiesta, sul DB per fare in modo che cambi lui i prefissi per te.

La query è la seguente:

RENAME table `wp_commentmeta` TO `wp_aJkl12n_commentmeta`;
RENAME table `wp_comments` TO `wp_aJkl12n_comments`;
RENAME table `wp_links` TO `wp_aJkl12n_links`;
RENAME table `wp_options` TO `wp_aJkl12n_options`;
RENAME table `wp_postmeta` TO `wp_aJkl12n_postmeta`;
RENAME table `wp_posts` TO `wp_aJkl12n_posts`;
RENAME table `wp_terms` TO `wp_aJkl12n_terms`;
RENAME table `wp_termmeta` TO `wp_aJkl12n_termmeta`;
RENAME table `wp_term_relationships` TO `wp_aJkl12n_term_relationships`;
RENAME table `wp_term_taxonomy` TO `wp_aJkl12n_term_taxonomy`;
RENAME table `wp_usermeta` TO `wp_aJkl12n_usermeta`;
RENAME table `wp_users` TO `wp_aJkl12n_users`;

Come vedi il codice non è complicato: la sintassi è RENAME table 'vecchia_tabella' TO 'nuova_tabella'. Se la tua installazione di WordPress comprende altre tabelle, segnatele tutte e scrivi la query su un file di testo, puoi eseguirla su phpmyadmin successivamente.

Per eseguire la query, seleziona il DB su phpmyadmin, poi clicca sulla tab SQL e ti si aprirà una schermata in cui incollare o scrivere la query. Per eseguirla infine, clicca su GO in basso a destra.

Database WordPress query
Schermata in cui inserire la query

Step 4. La tabella option

A questo punto abbiamo cambiato parte delle tabelle. Ora dobbiamo cercare nella tabella option qualsiasi altro campo che utilizzi wp_ come prefisso, in modo da sostituirlo. Per facilitare il processo, usa questa query:

SELECT * FROM `wp_aJkl12n_options` WHERE `option_name` LIKE '%wp_%'

In questo caso il comando cerca dentro alla tabella appena rinominata wp_aJkl12n_options e restituisce tutti i campi in cui option_name è wp_.

Questo restituirà molti valori e dovrai impostare nuove query per sostituire i prefissi, così come abbiamo visto nello step 3.

Step 5. La tabella UserMeta

Analogamente alla tabella options, dobbiamo cercare anche i prefissi nella tabella usermeta. Il processo è lo stesso dello step 4. La query sarà simile a questa:

SELECT * FROM `wp_aJkl12n_usermeta` WHERE `meta_key` LIKE '%wp_%'

Il numero di voci può variare in base al numero di plugin che utilizzi e così via. Basta cambiare tutto ciò che ha wp_ con il nuovo prefisso. Per farlo, puoi eseguire delle query analoghe a quelle dello step 3.

Metodo alternativo con plugin

Se la modifica del DB ti spaventa, esiste un plugin, non molto famoso, che permette di cambiare il prefisso del database WordPress. Si chiama Brozzme Prefix DB & Tools Addons e permette con un click di cambiare il prefisso delle tabelle.

Una volta installato il plugin, potrai andare in Strumenti -> DB PREFIX oppure su Brozzme -> DBPREFIX per ritrovarti nella schermata principale.

Nella schermata di modifica, automaticamente il plugin ha già impostato il prefisso attuale e dovrai solo scrivere il nuovo prefisso. Non scordarti di terminare il prefisso con un underscore.

Dopo aver inserito il nuovo prefisso, basterà cliccare su “Change DB Prefix” per ultimare l’operazione.

Io l’ho provato e non mi ha dato errori, anzi è stata un’operazione estremamente veloce, ma per sicurezza, visti i pochi download e review del plugin, io farei un extra backup per sicurezza.

Backup e chiudi

Ora sei pronto per testare il sito. Se hai seguito i passi precedenti, allora tutto dovrebbe funzionare bene. Ora fai un nuovo backup del database solo per essere sicuro.

Se qualcosa dovesse essere andato storto, ripristina il database dal primo backup e riprova. Il procedimento non è complicato, ma le tabelle da modificare sono molte, inoltre, scrivere male una query è un errore che rovina tutto il processo.

Se hai usato il plugin e qualcosa è andato storto, allora prova con il cambio manuale indicato negli altri passaggi.

Se ti è piaciuto l’articolo, non dimenticare di iscriverti alla newsletter per restare aggiornato sui prossimi contenuti!

Database WordPress
Tabella dei Contenuti

Iscriviti alla newsletter

Tabella dei Contenuti
Giacomo Lanzi

Giacomo Lanzi

Dopo studi in psicologia e letteratura, dal 2010 mi sono dedicato alla grafica web e all'editing per testi universitari. Sono un content creator per il web dal 2012. Dopo un'esperienza di due anni come manager di un team italiano per una compagnia internazionale a Berlino, ho deciso di tornare alla libera professione e di dedicarmi del tutto al web. Oggi offro servizi come autore, content creator, grafico web e SEO expert. Mi caratterizzano un attitudine al pensiero critico, abilità nella guida di un team, la cura dei dettagli e l'impegno che metto in ogni progetto, siano essi personali o professionali.

Iscriviti alla newsletter
ottieni sconti e promozioni