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

Pour modifier le préfixe des tables de votre base de données WordPress, modifiez $table_prefix dans wp-config.php, renommez chaque table de la base de données avec le nouveau préfixe et mettez à jour les clés préfixées dans wp_options et wp_usermeta. La méthode du plugin est la plus rapide et la plus sûre pour la plupart des sites ; le SQL dans phpMyAdmin ou Adminer vous donne un contrôle total sur les bases de données plus volumineuses. Sauvegardez toujours votre base de données au préalable.

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 de telles menaces.

Quelle méthode devriez-vous utiliser ?

Méthode Nécessite Niveau de risque Idéale pour
Plugin accès à wp-admin, wp-config.php accessible en écriture Faible La plupart des sites ; utilisateurs non techniques
SQL avec phpMyAdmin accès cPanel / phpMyAdmin Moyen Hébergeurs qui fournissent phpMyAdmin
SQL avec Adminer accès à la base de données via Adminer Moyen Administration de base de données en un seul fichier

Les trois modifient les trois mêmes choses — le préfixe dans wp-config.php, les noms des tables et les clés préfixées dans wp_options et wp_usermeta. Elles ne diffèrent que par l’outil que vous utilisez pour le faire.

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

How Databases work in WordPress.
This image demonstrates how Databases work in WordPress.

Pourquoi devriez-vous modifier le préfixe des tables WordPress ?

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

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

C’est une étape de durcissement à effectuer une seule fois. Un préfixe personnalisé n’arrête pas à lui seul un attaquant déterminé, mais il déjoue les scripts automatisés qui supposent les noms par défaut wp_ — et ces scripts représentent l’essentiel de ce qui cible une base de données WordPress.

Sauvegardez votre base de données avant de commencer

Before making any changes, create a full backup of your WordPress database using phpMyAdmin, a plugin like WP Staging, or a command-line tool.

Changing the WordPress database prefix can be a critical task, and it’s not always easy. You must ensure you don’t break your website by changing the WordPress table prefix.

Before changing the database prefix, we recommend doing it on a staging site. So you can check thoroughly if the update works and can safely push your staging site to the production site without any risk of data loss after changing the DB prefix.

A staging site is a copy of your live site, so you can do different changes/testing and make those changes live with a single click.

You can create a free staging site with 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, ce qui laisse la porte ouverte aux injections SQL automatisées. Prendre des mesures préventives est essentiel pour protéger votre site contre le piratage. Un préfixe renommé touche chaque table, donc une sauvegarde récente est votre filet de sécurité si une étape tourne mal — vous pouvez sauvegarder et restaurer votre site WordPress en quelques minutes avant d’apporter la moindre modification.

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 options :

  1. Utiliser un plugin pour modifier le préfixe des tables de la base de données.
  2. Renommer le préfixe avec une requête SQL dans Adminer.
  3. Renommer le préfixe avec une requête SQL dans phpMyAdmin.

Méthode 1 : Modifier le préfixe des tables avec un plugin

First, we recommend you take a backup of your website (either with the backup feature of WP STAGING | PRO or manually through CPanel) to avoid any mishappening caused by installing a plugin.

Un plugin est l’option la plus rapide et la moins risquée, car il modifie wp-config.php, renomme les tables et met à jour pour vous les clés préfixées des options et des usermeta. Voici les étapes :

  1. Allez 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 extensions 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 cette extension.
updatewp database prefix via plugin

L’extension est activée, et nous pouvons commencer tout de suite à modifier le préfixe de la base de données WordPress.

  1. Allez dans Outils et cliquez sur DB Prefix. Vous pouvez voir le préfixe actuel de votre base de données et le remplacer par un nouveau.
wordpress database prefix

Si votre fichier wp-config.php n’est pas accessible en écriture, vous recevrez un message d’erreur, car l’extension ne peut pas modifier le préfixe de la base de données dans le fichier wp-config.php. Corrigez les permissions du fichier (ou modifiez wp-config.php manuellement, comme indiqué dans la Méthode 2) et réessayez.

C’est terminé en cliquant sur le bouton « Change DB Prefix ».

Méthode 2 : Modifier le préfixe avec SQL dans Adminer

Étape 1 : Modifier le préfixe des tables dans 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 wp-config.php, connectez-vous via FTP ou SFTP en utilisant FileZilla ou tout autre client FTP. Vous trouverez vos identifiants FTP dans cPanel (selon votre hébergeur — certains utilisent un panneau personnalisé au lieu de cPanel). Consultez le guide WordPress pour modifier wp-config.php pour la référence complète.

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

$table_prefix = 'wp_testing123_';

 
This picture shows where the table prefix can be found in the wp-config.php file.
It should look like this in the wp-config file:
This picture shows how the updated line looks like.
That is what the updated line should look like.

Un préfixe ne peut contenir que des chiffres, des lettres et des traits de soulignement. Une fois la modification effectuée dans wp-config.php, enregistrez-la.

Étape 2 : Renommer les tables de la base de données

Si vous utilisez Adminer, trouvez le bouton de commande SQL dans le coin supérieur gauche et sélectionnez-le.

This picture shows a screenshot of where to find the SQL command button on Adminer
Where to find the SQL command button

La requête SQL ci-dessous modifie le préfixe des tables WordPress sur un site 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 :

A SQL query to update the WordPress database Prefix
Use this SQL query to update the WordPress database Prefix

Exécutez cette requête. Elle génère un second ensemble d’instructions RENAME, comme ceci :

RENAME oldprefix_options to newprefix_options;
RENAME oldprefix_users to newprefix_users;

Copiez ces instructions et exécutez-les pour renommer les tables avec leurs nouveaux noms. (RENAME TABLE est du MySQL standard — consultez la référence MySQL RENAME TABLE.)

Use this SQL query to rename WordPress database tables
Use this SQL query to rename WordPress database tables

Étape 3 : Renommer le préfixe dans la table usermeta

Après avoir renommé les tables, remplacez les valeurs préfixées dans *_usermeta et *_options à l’aide des requêtes ci-dessous. N’oubliez pas de mettre à jour les chaînes surlignées.

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_%';
Use this SQL query to rename the table prefix in table wp_usermeta
Use this SQL query to rename the prefix in table wp_usermeta

Étape 4 : 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_%';
This picture shows the sql queries to replace the values in the options table
Execute this query to replace the values in the options table.

C’est tout pour la méthode Adminer.

Méthode 3 : Modifier le préfixe avec SQL dans phpMyAdmin

Étape 1 : 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 wp-config.php, connectez-vous via FTP ou SFTP en utilisant FileZilla ou tout autre client FTP. Vous trouverez vos identifiants FTP dans cPanel (selon votre hébergeur — certains utilisent un panneau personnalisé au lieu de cPanel).

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

$table_prefix = 'wp_testing123_';

Un préfixe ne peut contenir que des chiffres, des lettres et des traits de soulignement. Une fois la modification effectuée dans wp-config.php, enregistrez-la.

Étape 2 : Renommer les tables de la base de données

Si vous utilisez cPanel, ouvrez phpMyAdmin. Sur le côté gauche, vous pouvez voir 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. La documentation phpMyAdmin couvre l’accès et la connexion si vous débutez.

Sélectionnez la base de données dont vous avez défini le préfixe dans wp-config.php, puis procédez comme suit :

  1. Sélectionnez la base de données.
  2. Cochez la case « Tout cocher » pour sélectionner toutes les tables.
  3. Ouvrez le menu déroulant et sélectionnez « Remplacer le préfixe des tables ».
change wordpress table prefix
  1. Remplacez l’ancien préfixe par le nouveau préfixe.
update wordpress database prefix

Après avoir saisi le nouveau préfixe, cliquez sur Continuer pour modifier le préfixe sur chaque table.

Étape 3 : 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 chaque ancien préfixe par le nouveau préfixe.

Replace old table prefix with new prefixes by using SQL query.

Étape 4 : Mettre à jour le préfixe dans la table usermeta

Recherchez wp_ comme préfixe dans la table usermeta et remplacez-le à l’aide de cette requête :

SQL
SELECT * FROM `wp_testing123_usermeta` WHERE `meta_key` LIKE '%wp_%'
database prefix of wordpress site

Alternativement, si vous souhaitez modifier le préfixe de la base de données avec une seule requête, vous pouvez utiliser cette requête unique sur un site WordPress existant :

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ée une seconde requête qui renomme tous les préfixes de tables avec les nouveaux. Après l’avoir exécutée, vous devez encore remplacer les valeurs préfixées dans 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.

Bloqué hors de wp-admin après avoir renommé le préfixe ?

C’est de loin l’échec le plus courant lors du renommage du préfixe des tables WordPress. Dans les tickets de support WP STAGING, cela revient presque toujours à une clé préfixée qui a été renommée sur les tables mais oubliée à l’intérieur des données. Parcourez cette liste de vérification dans l’ordre :

  1. Avez-vous mis à jour wp-config.php ? La valeur de $table_prefix doit correspondre exactement aux nouveaux noms de tables. Une incohérence ici est la cause habituelle de « Error establishing a database connection » ou d’une boucle de connexion.
  2. Avez-vous mis à jour la clé capabilities dans wp_usermeta ? La ligne wp_capabilities doit être renommée en newprefix_capabilities. Si elle utilise toujours l’ancien préfixe, WordPress ne peut pas lire vos rôles et vous bloque l’accès.
  3. Avez-vous mis à jour la clé user level dans wp_usermeta ? Renommez wp_user_level en newprefix_user_level pour la même raison.
  4. Avez-vous mis à jour la clé user roles dans wp_options ? Renommez wp_user_roles en newprefix_user_roles. WordPress lit les définitions de rôles ici lors de la connexion.

Les clés à vérifier, par table :

Dans la table wp_options :

  • wp_user_roles

Dans la table wp_usermeta :

  • wp_capabilities
  • wp_user_level

Après avoir renommé ces clés pour qu’elles utilisent le même préfixe que vos tables, vous pourrez à nouveau vous connecter. Si vous êtes toujours bloqué, restaurez la sauvegarde que vous avez effectuée au début et recommencez les étapes.

Foire aux questions

Est-il sûr de modifier le préfixe de la base de données WordPress sur un site en production ?

C’est sûr si vous sauvegardez d’abord la base de données et mettez à jour chaque endroit où le préfixe apparaît : wp-config.php, les noms des tables et les clés préfixées dans wp_options et wp_usermeta. La méthode du plugin gère tout cela automatiquement, c’est pourquoi c’est l’option la moins risquée. Testez d’abord sur une copie de staging si vous le pouvez.

Pourquoi est-ce que j’obtiens « Error establishing a database connection » après la modification ?

La valeur de $table_prefix dans wp-config.php ne correspond plus aux noms de vos tables. Ouvrez wp-config.php et vérifiez que le préfixe correspond exactement aux tables renommées, y compris le trait de soulignement final.

Dois-je modifier le préfixe sur un site existant, ou uniquement au moment de l’installation ?

Vous pouvez le faire à tout moment. Le modifier à l’installation est le plus simple car il n’y a pas de données à migrer, mais les trois méthodes ci-dessus fonctionnent aussi sur un site existant.

Un préfixe personnalisé peut-il casser des plugins ?

Cela peut arriver si un plugin code en dur wp_ au lieu de lire le préfixe configuré par WordPress. Les plugins bien conçus utilisent le préfixe signalé par WordPress, ils continuent donc de fonctionner. Après la modification, parcourez vos principaux plugins pour le confirmer.

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’apporter 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.