Cambiare il prefisso del database di WordPress: 3 metodi semplici

Cambiare il prefisso delle tabelle del database di WordPress è un modo semplice ma efficace per migliorare la sicurezza del tuo sito. Per impostazione predefinita, WordPress assegna il prefisso wp_ alle tabelle, rendendolo un bersaglio comune per gli hacker che tentano attacchi di SQL injection. Modificare questo prefisso può aiutare a proteggere il tuo database da tali minacce.

In questa guida ti spiegheremo tre metodi diversi per cambiare in sicurezza il prefisso delle tabelle del database di WordPress.

Ogni azione su un sito WordPress è collegata al database:

Come funzionano i database in WordPress.
This image demonstrates how Databases work in WordPress.

Perché cambiare il prefisso delle tabelle di WordPress?

Cambiare il prefisso predefinito wp_ ti aiuta a:

  • Ridurre il rischio di attacchi di SQL injection
  • Rendere più difficile per gli aggressori indovinare i nomi delle tabelle
  • Aggiungere un ulteriore livello di sicurezza al tuo sito WordPress

Prima di iniziare: esegui un backup del database

Prima di apportare qualsiasi modifica, crea un backup completo del database di WordPress utilizzando phpMyAdmin, un plugin come WP Staging o uno strumento da riga di comando.

Cambiare il prefisso del database di WordPress può essere un’operazione critica e non sempre semplice. Devi assicurarti di non danneggiare il tuo sito quando modifichi il prefisso delle tabelle di WordPress.

Prima di modificare il prefisso del database, ti consigliamo di farlo su un sito di staging. In questo modo potrai verificare a fondo che l’aggiornamento funzioni e, dopo aver cambiato il prefisso del DB, trasferire il tuo sito di staging al sito di produzione in sicurezza, senza alcun rischio di perdita di dati.

Un sito di staging è una copia del tuo sito live, così puoi effettuare diverse modifiche/test e rendere quelle modifiche live con un solo clic.

Puoi creare gratuitamente un sito di staging con WP STAGING.

Durante l’installazione di WordPress, uno degli errori più comuni è dimenticare di modificare il prefisso del database, permettendo agli aggressori di eseguire SQL injection automatizzate. Per questo è fondamentale adottare misure preventive per proteggere il tuo sito web da attacchi hacker.

Come cambiare il prefisso del database di WordPress

Segui questa guida passo passo per rinominare in sicurezza il prefisso del database di WordPress.

Esistono tre (3) opzioni per cambiare e rinominare il prefisso del database del tuo sito WordPress:

  1. Usare un plugin per cambiare il prefisso delle tabelle del database.
  2. Rinominare il prefisso del database di WordPress tramite query del database con Adminer.
  3. Rinominare il prefisso del database di WordPress tramite query del database con PhpMyAdmin.

Metodo 1: usare un plugin per cambiare il prefisso delle tabelle del database

Innanzitutto, ti consigliamo di eseguire un backup del tuo sito (sia con la funzione di backup di WP STAGING | PRO sia manualmente tramite CPanel) per evitare inconvenienti causati dall’installazione di un plugin.

Possiamo cambiare il prefisso del database utilizzando un plugin. Ecco alcuni semplici passaggi per farlo su WordPress.

  1. Vai alla dashboard di WordPress.
  2. Vai alla scheda "Plugin" e fai clic su "Aggiungi nuovo".
  3. Cerca Brozzme DB Prefix & Tools Add-ons nel repository dei plugin di WordPress.
  4. Fai clic sul pulsante "Installa ora" per installare Brozzme DB Prefix & Tools Add-on sul tuo sito.
  5. Fai clic sul pulsante "Attiva" per attivare il plugin.
aggiornare il prefisso del database di WordPress tramite plugin

Il plugin è attivato e possiamo iniziare subito a cambiare il prefisso del database di WordPress.

  1. Vai su "Strumenti" e fai clic su "DB Prefix". Vedrai il prefisso attuale del tuo database e potrai cambiarlo con uno nuovo.
prefisso del database di WordPress

Se il file wp-config.php non è scrivibile, riceverai una notifica di errore perché questo plugin non è in grado di modificare il prefisso del database nel file wp-config.php.

Cliccando il pulsante "Change DB Prefix", hai finito.

Metodo 2: rinominare il prefisso del database di WordPress tramite query SQL con Adminer

Cambiare il prefisso delle tabelle nel file di configurazione wp-config.php

Cambia il valore del prefisso delle tabelle nel file wp-config.php presente nella cartella principale della directory di WordPress.

Per modificare il file wp-config.php puoi accedere via FTP o SFTP usando Filezilla o un altro client FTP. Puoi trovare i dati FTP in cPanel (a seconda del tuo hosting, dato che alcuni provider non usano cPanel ma un pannello personalizzato).

Cerca questa riga nel file wp-config.php:

$table_prefix = 'wp_testing123_';

 
Questa immagine mostra dove si trova il prefisso delle tabelle nel file wp-config.php.
It should look like this in the wp-config file:
Questa immagine mostra come appare la riga aggiornata.
That is what the updated line should look like.

Puoi usare solo un prefisso composto da numeri, lettere e trattini bassi. Dopo aver apportato le modifiche al file wp-config.php, salvalo.

Rinominare le tabelle del database

Se usi Adminer, troverai il pulsante per il comando SQL nell’angolo in alto a sinistra; clicca su quel pulsante.

Questa immagine mostra uno screenshot di dove trovare il pulsante di comando SQL su Adminer
Where to find the SQL command button

La query SQL qui sotto può essere utilizzata per cambiare il prefisso delle tabelle WordPress nel database di un sito WordPress esistente.

Aggiorna le proprietà SET in base alle tue esigenze:

  • nome del database
  • oldprefix_
  • newprefix_

Questa è la query SQL:

sql
SET @database  = "<strong>databasename</strong>";
SET @oldprefix = "<strong>oldprefix_</strong>";
SET @newprefix = "<strong>newprefix_</strong>";
 
SELECT
    concat(
        "RENAME TABLE ",
        TABLE_NAME,
        " TO ",
        replace(TABLE_NAME, @oldprefix, @newprefix),
        ';'
    ) AS "SQL" FROM information_schema.TABLES WHERE TABLE_SCHEMA = @database;

Dopo aver personalizzato la query, otterrai qualcosa di simile a questo:

Una query SQL per aggiornare il prefisso del database di WordPress
Use this SQL query to update the WordPress database Prefix

Esegui questa query e, come risultato, otterrai ulteriori query come queste:

RENAME oldprefix_options to newprefix_options;
RENAME oldprefix_users to newprefix_users;

Copia queste query ed eseguile di nuovo per rinominare le tabelle con i nuovi nomi.

Usa questa query SQL per rinominare le tabelle del database di WordPress
Use this SQL query to rename WordPress database tables

Rinominare il prefisso nella tabella user meta

Dopo aver rinominato le tabelle, devi anche sostituire alcuni valori nelle tabelle *_usermeta e *_options utilizzando le query seguenti.

Non dimenticare di aggiornare le stringhe evidenziate.

Per sostituire i valori nella tabella *_usermeta usa questa query:

SQL
UPDATE `newprefix_usermeta`
SET meta_key = REPLACE(meta_key, 'oldprefix_', 'newprefix_')
WHERE meta_key LIKE 'oldprefix_%';
Usa questa query SQL per rinominare il prefisso nella tabella wp_usermeta
Use this SQL query to rename the prefix in table wp_usermeta

Aggiornare il prefisso nella tabella wp_options

L’ultimo passaggio è sostituire i valori nella tabella *_options.

Usa questa query:

SQL
UPDATE wp_options SET option_name = replace(option_name, 'wp_', 'new_') WHERE option_name LIKE 'wp_%';
Questa immagine mostra le query SQL per sostituire i valori nella tabella options
Execute this query to replace the values in the options table.

Ecco fatto.

Metodo 3: rinominare il prefisso del database di WordPress tramite query SQL con PHPmyAdmin

Cambiare il prefisso delle tabelle nel file wp-config.php.

Cambia il prefisso delle tabelle nel file wp-config.php presente nella cartella principale della directory di WordPress.

Per modificare il file wp-config.php puoi accedere via FTP o SFTP usando Filezilla o un altro client FTP. Puoi trovare i dati FTP in cPanel (a seconda del tuo hosting, dato che alcuni provider non usano cPanel ma un pannello personalizzato).

Cerca questa riga nel file wp-config.php.

$table_prefix = 'wp_testing123_';

Puoi usare solo un prefisso composto da numeri, lettere e trattini bassi. Dopo aver apportato le modifiche al file wp-config.php, salvalo.

Rinominare le tabelle del database

Supponiamo che tu stia utilizzando cPanel e accedendo a PhpMyAdmin. Sul lato sinistro vedrai i tuoi database. Se non usi cPanel, contatta il tuo host e accedi al database del tuo sito.

Seleziona il database in cui vuoi cambiare il prefisso delle tabelle specificato nel file wp-config.php e segui i passaggi sottostanti.

  1. Seleziona il database.
  2. Spunta la casella "seleziona tutto" per selezionare tutte le tabelle.
  3. Clicca sul menu a discesa e seleziona "Sostituisci prefisso tabella".
cambiare il prefisso delle tabelle WordPress
  1. Sostituisci il vecchio prefisso con quello nuovo.
aggiornare il prefisso del database di WordPress

Dopo aver inserito il nuovo prefisso, fai clic su Continua e il prefisso verrà cambiato nel database.

Rinominare il prefisso nella tabella Options

Cerca il prefisso wp_ nella tabella options con questa query.

SQL
SELECT * FROM `wp_testing123_options` WHERE `option_name` LIKE '%wp_%'

Sostituisci tutti i vecchi prefissi con quelli nuovi.

Sostituisci i vecchi prefissi delle tabelle con quelli nuovi tramite una query SQL.

Aggiornare il prefisso nella tabella Usermeta

Dobbiamo cercare wp_ come prefisso nella tabella usermeta e sostituirlo con questa query.

SQL
SELECT * FROM `wp_testing123_usermeta` WHERE `meta_key` LIKE '%wp_%'
prefisso del database del sito WordPress

Un’altra opzione è: se vuoi cambiare il prefisso del database con una query, puoi usare questa singola query per ottenere il risultato.

Se vuoi cambiare il prefisso delle tabelle WordPress del database su un sito WordPress esistente, puoi usare la seguente query SQL:

SQL
SET @database = "database_name";
SET @old_prefix = "old_prefix_";
SET @new_prefix = "new_prefix_";

SELECT concat "RENAME TABLE ", TABLE_NAME, " TO", replace(TABLE_NAME, @old_prefix, @new_prefix),';') AS "SQL" FROM information_schema.TABLES WHERE TABLE_SCHEMA = @database;

Questa query creerà un’altra query SQL che potrai usare per rinominare tutti i prefissi delle tabelle con quelli nuovi.

Dopo averlo fatto, dovrai anche sostituire alcuni valori nelle tabelle wp_usermeta e wp_options utilizzando le query qui sotto.

SQL
UPDATE `wp_testing123_usermeta`
SET meta_key = REPLACE(meta_key, 'wp_', 'new_')
WHERE meta_key LIKE 'wp_%';

UPDATE wp_options SET option_name = replace(option_name, 'wp_', 'new_') WHERE option_name LIKE 'wp_%';

Ecco fatto.

Questo è il metodo manuale per cambiare il prefisso del database.

Non riesco ad accedere alla dashboard di amministrazione di WordPress dopo aver rinominato il prefisso delle tabelle

Questo è l’errore più comune in cui incappano gli utenti quando rinominano il prefisso delle tabelle di WordPress.
Verifica di aver aggiornato il prefisso di tutti questi nomi di colonne e di non averne tralasciato nessuno:

Nella tabella wp_option

  • wp_user_roles

Nella tabella wp_user_meta

  • wp_capabilities
  • wp_user_level

Dopo aver rinominato il prefisso di queste colonne in modo che corrisponda a quello dei nomi delle tabelle, potrai accedere di nuovo al tuo sito WordPress.

Conclusione

Cambiare il prefisso delle tabelle di WordPress è una misura di sicurezza semplice ma efficace. Sia che tu utilizzi phpMyAdmin, un plugin o script SQL, esegui sempre un backup del database prima di apportare modifiche. Questa piccola modifica può fare molto per la sicurezza del tuo sito WordPress!

Articoli correlati

Rene Hermenau

Autore: Rene Hermenau

Informazioni sull'autore: René Hermenau è il fondatore di WP STAGING. Si occupa di backup WordPress, staging, migrazioni, gestione dei database e flussi di deployment sicuri.