Modifier le préfixe de la base de données WordPress : 3 méthodes simples

Modifier le préfixe des tables de la base de données WordPress est un moyen simple mais efficace de renforcer la sécurité de votre site. Par défaut, WordPress attribue le préfixe de table wp_, ce qui en fait une cible courante pour les pirates qui tentent des attaques par injection SQL. Modifier ce préfixe peut aider à protéger votre base de données contre ce type de menaces.

Dans ce guide, nous expliquons trois méthodes différentes pour modifier en toute sécurité le préfixe des tables de votre base de données WordPress.

Chaque action sur un site WordPress est liée à la base de données :

Comment fonctionnent les bases de données dans WordPress.
This image demonstrates how Databases work in WordPress.

Pourquoi modifier le préfixe des tables WordPress ?

Modifier le préfixe de table par défaut wp_ permet de :

  • Réduire le risque d’attaques par injection SQL
  • Rendre plus difficile pour les attaquants de deviner les noms des tables
  • Ajouter une couche supplémentaire de sécurité à votre site WordPress

Avant de commencer : sauvegardez votre base de données

Avant d’effectuer la moindre modification, créez une sauvegarde complète de votre base de données WordPress à l’aide de phpMyAdmin, d’un plugin comme WP Staging ou d’un outil en ligne de commande.

Modifier le préfixe de la base de données WordPress peut être une tâche critique et n’est pas toujours simple. Vous devez vous assurer de ne pas casser votre site lorsque vous modifiez le préfixe des tables WordPress.

Avant de modifier le préfixe de la base de données, nous vous recommandons de le faire sur un site de staging. Vous pourrez ainsi vérifier minutieusement si la mise à jour fonctionne et, après avoir modifié le préfixe de la BDD, transférer votre site de staging vers le site de production sans aucun risque de perte de données.

Un site de staging est une copie de votre site en production, ce qui vous permet d’effectuer différents changements/tests et de les mettre en ligne en un seul clic.

Vous pouvez créer gratuitement un site de staging avec WP STAGING.

Lors de l’installation de WordPress, l’une des erreurs les plus courantes est d’oublier de modifier le préfixe de la base de données WordPress, ce qui permet aux attaquants de lancer des injections SQL automatisées. C’est pourquoi il est essentiel de prendre des mesures préventives pour protéger votre site contre le piratage.

Comment modifier le préfixe de la base de données WordPress

Suivez ce guide étape par étape pour renommer le préfixe de la base de données WordPress en toute sécurité.

Il existe trois (3) options pour modifier et renommer le préfixe de la base de données de votre site WordPress :

  1. Utiliser un plugin pour modifier le préfixe des tables de la base de données.
  2. Renommer le préfixe de la base de données WordPress à l’aide d’une requête sur la base de données avec Adminer.
  3. Renommer le préfixe de la base de données WordPress à l’aide d’une requête sur la base de données avec PhpMyAdmin.

Méthode 1 : utiliser un plugin pour modifier le préfixe des tables de la base de données

Tout d’abord, nous vous recommandons de sauvegarder votre site (soit avec la fonction de sauvegarde de WP STAGING | PRO soit manuellement via CPanel) afin d’éviter tout problème lié à l’installation d’un plugin.

Nous pouvons modifier le préfixe de la base de données à l’aide d’un plugin. Voici quelques étapes simples pour le faire sur WordPress.

  1. Rendez-vous dans le tableau de bord WordPress.
  2. Allez dans l’onglet « Extensions » et cliquez sur « Ajouter ».
  3. Recherchez Brozzme DB Prefix & Tools Add-ons dans le répertoire des plugins WordPress.
  4. Cliquez sur le bouton « Installer maintenant » pour installer Brozzme DB Prefix & Tools Add-on sur votre site.
  5. Cliquez sur le bouton « Activer » pour activer ce plugin.
mettre à jour le préfixe de la base de données WordPress via un plugin

Le plugin est activé et nous pouvons commencer immédiatement à modifier le préfixe de la base de données WordPress.

  1. Allez dans « Outils » et cliquez sur « DB Prefix ». Vous verrez le préfixe actuel de votre base de données et pourrez le remplacer par un nouveau.
préfixe de la base de données WordPress

Si votre fichier wp-config.php n’est pas accessible en écriture, vous recevrez un message d’erreur car ce plugin ne peut pas modifier le préfixe de la base de données dans le fichier wp-config.php.

Vous avez terminé en cliquant sur le bouton « Change DB Prefix ».

Méthode 2 : renommer le préfixe de la base de données WordPress à l’aide d’une requête SQL avec Adminer

Modifier le préfixe des tables dans le fichier de configuration wp-config.php

Modifiez la valeur du préfixe des tables dans le fichier wp-config.php situé dans le dossier racine du répertoire WordPress.

Pour modifier le fichier wp-config.php, vous pouvez vous connecter en FTP ou SFTP avec Filezilla ou tout autre client FTP. Vous trouverez les identifiants FTP dans cPanel (selon votre hébergeur, car certains hébergeurs n’ont pas cPanel et utilisent leur propre panneau personnalisé).

Cherchez cette ligne dans le fichier wp-config.php :

$table_prefix = 'wp_testing123_';

 
Cette image montre où se trouve le préfixe des tables dans le fichier wp-config.php.
It should look like this in the wp-config file:
Cette image montre à quoi ressemble la ligne mise à jour.
That is what the updated line should look like.

Vous ne pouvez utiliser qu’un préfixe composé de chiffres, de lettres et de tirets bas. Une fois les modifications apportées au fichier wp-config.php, enregistrez-le.

Renommer les tables de la base de données

Si vous utilisez Adminer, vous trouverez le bouton de commande SQL dans le coin supérieur gauche ; cliquez sur ce bouton.

Cette image montre une capture d'écran de l'emplacement du bouton de commande SQL dans Adminer
Where to find the SQL command button

La requête SQL ci-dessous peut être utilisée pour modifier le préfixe des tables WordPress dans la base de données d’un site WordPress existant.

Mettez à jour les propriétés SET selon vos besoins :

  • nom de la base de données
  • oldprefix_
  • newprefix_

Voici la requête 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;

Après avoir personnalisé la requête, vous obtiendrez quelque chose comme ceci :

Une requête SQL pour mettre à jour le préfixe de la base de données WordPress
Use this SQL query to update the WordPress database Prefix

Exécutez cette requête, et vous obtiendrez en résultat d’autres requêtes comme celles-ci :

RENAME oldprefix_options to newprefix_options;
RENAME oldprefix_users to newprefix_users;

Copiez ces requêtes et exécutez-les à nouveau pour renommer les tables avec les nouveaux noms.

Utilisez cette requête SQL pour renommer les tables de la base de données WordPress
Use this SQL query to rename WordPress database tables

Renommer le préfixe dans la table user meta

Après avoir renommé les tables, vous devez également remplacer certaines valeurs dans les tables *_usermeta et *_options à l’aide des requêtes ci-dessous.

N’oubliez pas de mettre à jour les chaînes mises en évidence.

Pour remplacer les valeurs dans la table *_usermeta, utilisez cette requête :

SQL
UPDATE `newprefix_usermeta`
SET meta_key = REPLACE(meta_key, 'oldprefix_', 'newprefix_')
WHERE meta_key LIKE 'oldprefix_%';
Utilisez cette requête SQL pour renommer le préfixe de table dans la table wp_usermeta
Use this SQL query to rename the prefix in table wp_usermeta

Mettre à jour le préfixe dans la table wp_options

La dernière étape consiste à remplacer les valeurs dans la table *_options.

Utilisez cette requête :

SQL
UPDATE wp_options SET option_name = replace(option_name, 'wp_', 'new_') WHERE option_name LIKE 'wp_%';
Cette image montre les requêtes SQL pour remplacer les valeurs dans la table options
Execute this query to replace the values in the options table.

C’est tout.

Méthode 3 : renommer le préfixe de la base de données WordPress à l’aide d’une requête SQL avec PHPmyAdmin

Modifier le préfixe des tables dans wp-config.php.

Modifiez le préfixe des tables dans le fichier wp-config.php situé dans le dossier racine du répertoire WordPress.

Pour modifier le fichier wp-config.php, vous pouvez vous connecter en FTP ou SFTP avec Filezilla ou tout autre client FTP. Vous trouverez les identifiants FTP dans cPanel (selon votre hébergeur, car certains hébergeurs n’ont pas cPanel et utilisent leur propre panneau personnalisé).

Repérez cette ligne dans le fichier wp-config.php.

$table_prefix = 'wp_testing123_';

Vous ne pouvez utiliser qu’un préfixe composé de chiffres, de lettres et de tirets bas. Une fois les modifications apportées au fichier wp-config.php, enregistrez-le.

Renommer les tables de la base de données

Supposons que vous utilisez cPanel et accédez à PhpMyAdmin. À gauche, vous voyez vos bases de données. Si vous n’utilisez pas cPanel, contactez votre hébergeur pour accéder à la base de données de votre site.

Sélectionnez la base de données dans laquelle vous souhaitez modifier le préfixe des tables défini dans le fichier wp-config.php, puis suivez les étapes ci-dessous.

  1. Sélectionnez la base de données.
  2. Cochez la case « tout cocher » pour sélectionner toutes les tables.
  3. Cliquez sur le menu déroulant et sélectionnez « Remplacer le préfixe des tables ».
modifier le préfixe des tables WordPress
  1. Remplacez l’ancien préfixe par le nouveau préfixe.
mettre à jour le préfixe de la base de données WordPress

Après avoir saisi un nouveau préfixe, cliquez sur Continuer, ce qui modifiera le préfixe dans la base de données.

Renommer le préfixe dans la table Options

Recherchez le préfixe wp_ dans la table options à l’aide de cette requête.

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

Remplacez tous les anciens préfixes par les nouveaux.

Remplacez les anciens préfixes de table par les nouveaux à l'aide d'une requête SQL.

Mettre à jour le préfixe dans la table Usermeta

Nous devons rechercher wp_ comme préfixe dans la table usermeta et le remplacer à l’aide de cette requête.

SQL
SELECT * FROM `wp_testing123_usermeta` WHERE `meta_key` LIKE '%wp_%'
préfixe de la base de données du site WordPress

Une autre option est, si vous souhaitez modifier le préfixe de la base de données à l’aide d’une requête, d’utiliser cette unique requête pour le faire.

Si vous souhaitez modifier le préfixe des tables WordPress de la base de données d’un site WordPress existant, vous pouvez utiliser la requête SQL suivante :

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;

Cette requête créera une autre requête SQL que vous pourrez utiliser pour renommer tous les préfixes des tables avec les nouveaux.

Ensuite, vous devrez également remplacer certaines valeurs dans les tables wp_usermeta et wp_options à l’aide des requêtes ci-dessous.

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_%';

C’est tout.

Voilà la méthode manuelle pour modifier le préfixe de la base de données.

Impossible de se connecter au tableau de bord d’administration WordPress après avoir renommé le préfixe des tables

C’est l’erreur la plus fréquemment rencontrée par les utilisateurs lorsqu’ils renomment le préfixe des tables WordPress.
Vérifiez que vous avez bien mis à jour le préfixe de tous ces noms de colonnes et que vous n’en oubliez aucun :

Dans la table wp_option

  • wp_user_roles

Dans la table wp_user_meta

  • wp_capabilities
  • wp_user_level

Une fois que vous aurez renommé le préfixe de ces colonnes pour qu’il corresponde à celui des noms de tables, vous pourrez à nouveau vous connecter à votre site WordPress.

Conclusion

Modifier le préfixe des tables WordPress est une mesure de sécurité simple mais efficace. Que vous utilisiez phpMyAdmin, un plugin ou des scripts SQL, sauvegardez toujours votre base de données avant d’effectuer des modifications. Ce petit ajustement peut grandement contribuer à sécuriser votre site WordPress !

Articles connexes

Rene Hermenau

Auteur : Rene Hermenau

À propos de l'auteur : René Hermenau est le fondateur de WP STAGING. Il travaille sur les sauvegardes WordPress, les environnements de staging, les migrations, la gestion des bases de données et les workflows de déploiement sécurisés.