Si vous ne l’avez jamais changé, suivez donc ce tutoriel simple et rapide. Mais avant toute intervention dans votre base de données WordPress, faites une sauvegarde complète.
Étape n°1 – Édition du fichier wp-config.php
Situé à la racine de votre serveur FTP, le fichier wp-config.php abrite les identifiants de connexion à la base de données.
Ainsi, localisez la ligne suivante qui contient le préfixe des tables de la base :
Il s’agit donc de modifier la valeur par défaut fixée sur wp_
Évidement, si celle-ci est déjà fixée sur une autre valeur, parcourez les autres tutoriels du site. 😉
N’oubliez pas de sauvegarder le fichier modifié.
Etape n°2 – Changer le préfixe de l’ensemble de vos tables WordPress
Cette étape est de loin la plus fastidieuse et la plus risquée !
Il vous faut intervenir dans votre base à l’aide de phpMyAdmin ou de l’outil de gestion proposé par votre hébergeur. Connectez-vous donc sur l’administration de votre serveur pour y accéder.
Exécutez à présent les requêtes SQL suivantes en prenant soin d’indiquer votre nouveau préfixe :
Étape n°3 – Modifications de certaines tables de la base MySQL
Si vous en restez là, WordPress ne vous donnera plus les droits d’accès à votre administration. Vous obtiendrez alors, ce type d’erreur :
Adaptez ce qui suit avec votre nouveau préfixe !
Édition de la table wp_options
Il nous faut donc intervenir dans wp_options
, recherchez donc la valeur wp_user_roles
dans la colonne option_name
et indiquez votre nouveau préfixe.
Bien entendu, le préfixe de la table sera différent suite à l’étape 2.
Édition de la table wp_usermeta
Changez à présent tous les anciens préfixes de la colonne meta_key
au nombre de 5 dans mon cas.
Félicitations ! Nous voici arrivés au terme de ce tutoriel qui vous aura montré comment changer manuellement le préfixe de votre base de données WordPress. Votre site bénéficie à présent d’un niveau de sécurité accru contre les hackers.
Un grand merci, il me manquait le “wp_user_roles” a modifier.
Bonjour,
J’ai changé le préfixe des tables de ma base de donnée via le plugin WordPress Security Scan, ça a bien fonctionné. Par contre, j’ai fait la bêtise d’éditer le fichier wp-config.php (qui n’avait pas été modifié). J’ai changé la ligne ‘wp_’ en ‘newprefixe_’ par exemple. Maintenant, mon site ne s’affiche plus. Que se soit en tant qu’utilisateur ou en tant qu’admin, voici la page qui apparait : http://bankut.fr/
Est-ce que vous auriez une solution à ce problème ? J’ai l’impression d’avoir fait quelque chose d’irréversible…
PS : j’ai fait une sauvegarde de ma base de donnée depuis phpMyAdmin et j’en fait régulièrement depuis le plugin WP Database Backup.
Merci pour votre aide !
Bug corrigé non ?
merci pour ce tuto
j’ai lu ici et la, que dans un objectif de securité il est préférable de modifier certain parametres par defaut
ca répond @ ce besoin parfaitement
maintenant faire cette mise à jour est trop risquée vu mes compétences, je ferai attention à la prochaine installation de site
merci
Merci ça m’a bien aidé
Alors moi j’ai tout suivi à la lettre, résultat : Page Blanche. Je ne peux plus accéder ni à mon site en ligne ni au backoffice…
Il vous faut restaurer votre base de données et remettre le fichier wp-config.php d’origine. Préférez la méthode plugin si vous n’y parvenez pas.
Opération réussie ! J’avoue que j’ai pour habitude de changer le préfixe dès l’installation de WordPress mais j’ai eu besoin de modifier la base de données d’un client et il fallait trouver le moyen de changer le préfixe pour des raisons de sécurité évidentes! Merci donc pour ce tuto !
Bonjour!
Est-ce que l’utilisation de ce script SQL fonctionne? Je l’ai trouvé sur internet mais je ne veux pas me rater et faire un backup…
UPDATE `wp_new_name_options` SET `option_name`=REPLACE(`option_name`,’wp_’,’wp_newname_’) WHERE `option_name` LIKE ‘%wp_%’;
UPDATE `wp_new_name_usermeta` SET `meta_key`=REPLACE(`meta_key`,’wp_’,’wp_newname_’) WHERE `meta_key` LIKE ‘%wp_%’;
Merci d’avance 🙂
dans la partie Update j’ai mis un underscore en trop “newname” et non pas “new_name”, mais sinon ma question reste valable 🙂
Il est impératif de faire une sauvegarde MySQL par phpMyAdmin ou un plugin et de tester la sauvegarde.
Bonjour Aurélien ! Vos podcast sont toujours pertinents, merci beaucoup je me sentirai plus en sécurité en ayant changé ces préfixes. Je veux vous mentionner que lors du changement (dans le phpMYadmin) chez mon hébergeur (Hostpapa) on peut cocher toutes les tables de données (au bas de celles-ci) et il y a un onglet sous lequel se trouvent 11 possibilités dont «remplacer le préfixe de table», ce qui donne des changements plus rapidement, (au cas où ça peut servir)
Et SVP, j’aurais une question qui pourrait paraître «bête» un peu, je ne suis pas expert, mais est-il normal que dans mon FTP (Filezilla), les préfixes wp sont toujours là ? Et sinon, dois-je les changer eux aussi ? Merci beaucoup, je vous lis avec plaisir. Bonne route Monsieur ! Daniel
Non en aucun cas il ne faut modifier ce préfixe de fichiers qui n’a rien à voir avec la base de données. 😉
Merci pour cette réponse rapide ! Ça me rassure. 🙂
Merci pour ce chouette tuto! J’ai réussi à faire le changement rapidement sans trop de stress 😉 Par contre petite question, j’avais développé mon site en local donc j’ai déjà plusieurs plugins et donc quand j’ai utilisé les “rename”, ca n’a pas renommé les tables crées par les pluggins (environ 25 tables). Que me conseillez-vous?
Bonjour Marion, il faudrait utiliser phpMyAdmin pour renommer les tables via une requête ou bien une par une si cela vous semble trop compliqué. 😉
Merci Aurélien pour cette réponse hyper rapide. 🙂 Oui pas de souci pour utiliser phpmyadmin avec un script du genre: Rename table wp_users to wplabo_users;
Mais en fait je me demande si je dois vraiment renommer les tables des plugins. Est-ce que le renommage ne risque pas de “tout casser”? Est-ce que c’est un problème d’avoir des tables avec des préfixes différents (wp pour certaines et wplabo pour d’autres?)
Merci d’avance pour l’aide 🙂
Le préfixe n’est pas un souci en soi. On évite d’avoir celui par défaut par sécurité. 😉
oki Aurélien, merci pour l’information. Je crains toujours que le renommage “casse” les plugins… est-ce que qqun a un retour d’expérience à ce sujet? Merci d’avance 🙂
Ca ne “doit” pas casser mais toujours faire une sauvegarde bien sûr. 😉
Tutoriel très bien fait ! J’ai toujours un petit creux au ventre lorsque je manipule des fichiers sensibles (malgré des sauvegardes préventives) et je suis soulagé de constater que rien de mal ne s’est produit après cette opération de sécurité. Encore merci !
Bonjour Aurélien
J’avais suivi ce tuto il y a quelque temps pour un site, cela avait marché sans problème.
J’ai voulu le faire pour un nouveau site mais j’ai tout planté, page blanche avec l’url et plus accès à l’admin wordpress. Comme je n’avais rien fait encore sur le site, j’ai supprimé mon module WordPress (via OVH) puis installé à nouveau. Le site est bien revenu, problème sur php admin je n’ai plus aucune base de donnée mysql.
J’ai téléphoné à OVH, la base est apparemment bien présente, mais je ne la vois pas.
As tu eu ce cas ? Comment retrouver ma base ?
Merci d’avance
David
Attention, je ne comprend pas l’étape 3 : wp_options ne devrait il pas s’appeler wplabo_options suite à l’étape 2 ?
Tout à fait ! Il faut ajuster en fonction du renommage effectué. Je vais apporter une précision dans le billet pour être plus clair. 😉
Top moumoute ! Merci 🙂
Hello !! J’ai essayé et tout bien suivi, sur mon localhoast en guise de test et une fois fini je ne pouvais plus rentrer dans le panneau d’administration :
mes identifiant et mot de passe d’existaient plus même si ils étaient toujours présents dans dans phpmyadmin !
J’ai tout essayé je n’ai oublié aucune étape et la derniere solution à été de faire marche arrière et de tout renommer en wp_ !
Est ce parce que c’est en local que cela réagit ainsi ? Sinon j’avais également essayé avec un Pluggin pour un autre prefixe en guise de test également et ça prennait très bien, ceci dit j’aurais aimé me passer de pluggin et pouvoir le faire toute seule.
Si tu as le temps de m’indiquer a quoi c’est possiblement dû ce serait gentil 🙂 Merci d’avance !!
Note : j’accédais à l’admin avec nomdusite/wp-admin
Merci beaucoup pour ce tuto qui m’a permis de me dépatouiller !
Excellent site, contenu de qualité, jolie boulot continus comme ça !
le probleme est resolu j ai tout recommencé a zero mais cette fois en faissant les modification sur mon fichier avant de faire le chargement merci
ESt ce que on peut changer le nom de la table je veut une réponse rapide s’il vous plais et merciii
En aucune façon !
oui l adresse URL de connexion est bien exact jusque sa m affiche la page de connexion lorsque je me logue on m affiche ce message Vous n’avez pas les droits suffisants pour accéder à cette page.
bonjour j ai fait exactement tout ce ke vous avez demandé de faire pour changer le préfixe de la bases de bonnées mai je n arrive pas a accédé a ma partir administration je reçoit ce message Vous n’avez pas les droits suffisants pour accéder à cette page.
L’adresse URL de connexion est bien exacte ?
Bonjour
J’ai également effectué la manip sur un blog “test” mais je suis également renvoyée vers une nouvelle installation, de plus différentes erreurs apparaissent. A quoi cela peut-il être du?
Merci
Oups, j’ai fait toute la manip et voilà qu’en essayant de rentrer sur mon site, je suis renvoyé à l’installation de wordpress, comme si tout avait disparu… Y a-t-il une explication?? Guillaume
Problème réglé, apparemment j’avais mal suivi une étape…
merci pour ce tuto sans lequel je ne m’en serais pas sortie seule.
Pour ceux qui auraient le même pb que moi. J’ai recommencé à nouveau la manip. Cette fois – après motif des préfixes- j’ai supprimé en même temps et en les cochant les deux doublons (capabilities & user-level) qui avaient donc créé deux lignes supplémentaires sur le panneau général de la table “user-meta”. Et là çà a bien marché. Je n’ai donc plus de doublons et bien accès à mon tableau de bord. Donc tout va bien, mais par contre je ne sais toujours pas pourquoi ces deux données spécifiques se sont doublées à chaque fois que j’ai voulu en changer le préfixe… J’espère juste que cela ne créera pas de problèmes par la suite. Et si qqun a une explication, elle est la bienvenue j’imagine. Merci.
Aurélien merci pour ta réponse. j’ai suivi ta méthode à la lettre, en changeant uniquement le préfixe des tables (pas le nom de la bdd). Tout semble ok sauf que dans les “XX-usermeta” / meta-key -> “XX-capabilities” et “XX-user-level” sont doublées automatiquement qd je fais le changement de préfixe… (et avec le même contenu exactement). Si je supprime les doublons qui à priori n’ont pas lieu d’être, je n’ai plus accès à mon tableau de bord (droits). Quand je recommence l’opération mais sans supprimer les doublons, là tout fonctionne et j’ai bien accès à mon tableau de bord, sauf qu’avoir des doublons dans les meta-key ne doit pas être très normal non ? Si tu as une idée, welcome ! Sinon pour info j’ai bien sûr essayer de ré-importer aussi les tables avec le préfixe original, et aucun doublon ds les meta-key… Merci pour tes éventuelles pistes ou conseils. M.
C’est toujours délicat ce genre d’intervention, le mieux est toujours de le faire à l’installation pour éviter les problèmes mais il faut y penser 🙂
Merci Aurélien pour ce tuto que je vais tester.
Cela marche bien exactement de la même manière si je suis encore en “local” (MAMP) ? J’aurais également aimé changer le nom de la BDD (je n’entre pas ds les détails du pourquoi), est-ce possible ? sans risques ou vaut-il mieux éviter ?
Je vois bien comment changer le nom de la BDD ds le fichier wp-config (comme pour le préfixe des tables), mais deux questions : 1. est-ce possible de le faire aussi (ensuite) ds phpmyadmin (je n’ai pas vu où et comment cela pouvait se faire). 2. Faut-il mieux faire le choses en 2 temps ? d’abord changer nom BDD. Vérifier que tout roule. Puis changer nom du préfix des tables ?
Merci pour ton aide !
Oui c’est la même chose. Il existe d’ailleurs un plugin pour aller plus vite (pas testé) : http://wordpress.org/plugins/db-prefix-change/
Bonjour,
J’ai essayé de faire les manips ci-dessous, tout fonctionne correctement pour moi… sauf une seule chose.
Lorsque je clic sur le titre d’un billet de mon blog, cela me redirige vers une page 404…
Une idée ?
Quand je passe la souris sur le lien du billet il indique en bas (en tant que lien) : http://www.nomdemonsite.com/monprefix
Merci d’avance…
Je ne saisis pas le rapport entre le changement de préfixe dans la base de données MySQL et le suffixe qui viendrait s’ajouter sur vos URLs… il ne faut pas confondre les 2.
Si vous souhaitez modifier le répertoire d’installation de WordPress ou plus simplement modifier les URLs de votre site ce n’est pas le bon tutoriel.
Moi, j’ai fais cette technique, (je l’ai sûrement mal faite), et ça m’a demandé de réinstaller wordpress, je l’ai fait et ça m’a littéralement réinitialisé mon site xD
Merci beaucoup pour ce tuto.
J’ai cependant une question : Dans la base de données on change les wp_ dans les key, mais je vois qu’il y a aussi des wp_ dans les values, est-ce qu’on doit aussi les changer ? Je vois aussi des _wp_.
Merci.
script pour modifier les préfix wp_ dnas la table option et usermeta :
“UPDATE sec_options SET option_name = replace(option_name, ‘wp_’, ‘pref_’);
UPDATE sec_options SET option_name = replace(option_name, ‘WP_’, ‘PREF_’);
UPDATE sec_usermeta SET meta_key = replace(meta_key, ‘wp_’, ‘pref_’);”
En complément,
quand on a déjà définit plusieurs utilisateurs dans sa table wp_usermeta on se retrouve avec un multiple (correspondant au nombre d’utilisateurs) du nombre d’enregistrements. Il peut alors être un peu fastidieux et source d’erreur de le faire manuellement.
Donc si vous avez un peu d’habitude avec les requêtes MySQL vous pouvez modifier la colonne meta_key avec la requête suivante :
update wp_usermeta set `meta_key` = concat(‘wplabo’,substr(`meta_key`,3)) where `meta_key` like ‘wp_%’
J’ai repris wplabo le préfixe de l’excellent tuto d’Aurélien. La valeur 3 dans l’extraction(substr) de chaine correspond à la longeur de chaine de votre préfixe d’origine (ici wp_ soit une longueur de 3 caractères). Il faut donc penser à mettre la longeur de votre préfixe d’origine s’il ne s’agit par du wp_ par défaut.
Très bonne remarque ! 😉
Merci pour cette petite astuce, j’avais changé tout cela à la main en oubliant de renommer les clés dans la table usermeta.
Bonjour,
Moi aussi, j’ai eu très peur en procédant à cette modification, car l’écran de mon PHPMyAdmin ne ressemblait pas aux captures d’écran jointes.
A un moment, il m’a indiqué une “error” !!! J’ai fait un retour arrière à l’aide du navigateur, j’espère n’avoir rien abimé !!
J’ai retrouvé mon tableau de bord d’administration et mon site qui semble fonctionner … mais je viens de voir que j’ai “perdu” mon favicon ! Si c’est le seul déga^t, ce n’est pas bien grave.
Tout ça pour dire qu’il faut être très très prudent, et que ce serait bien de préciser (même si on s’en doute) qu’il faut valider les actions pour qu’elles soient effectives.
Et ce serait bien de nous dire ce qu’il faut faire en cas de fausse manip ou comment revenir en arrière.
La règle d’or : toujours faire une sauvegarde de sa base de données ! Après, je ne cache pas que ce type de manipulation est plutôt réservée à des utilisateurs avertis. Mais il faut bien apprendre un jour ! 🙂
bravo, mais mes faibles connaissances en php, m’ont fait préférer le plugin de philippe
cordialement
Merci beaucoup Aurélien pour votre tuto !
Merci pour ce résumé complet et juste : tout à bien fonctionné de mon côté.
J’avais bien plus que 5 champs à reprendre dans la table WP_USERMETA mais pas de grande différence sinon.
Bravo et merci !
Thomas.
Bonjour,
J’installe wordpress avec softaculous (dans mon cpanel), qui me laisse le choix avant l’installation de mettre un autre prefixe que wp_, puis-je le changer avant l’installation de wordpress ou bien la base de données ne sera pas reconnue par wordpress quand ce sera installé et il faudrai que je change les noms dans wp-confing.php et les noms de wp_options et wp_usermeta ?
Merci de votre réponse.
Attention à toutes ces solutions d’installation automatiques. Certaines systèmes ne permettent pas l’accès aux bases de données ou aux mises à jour. Méfiance donc ! D’autant plus que WordPress est vraiment très simple à installer soi-même. 😉
A priori, il n’y a aucun souci à ce que vous indiquiez votre propre préfixe. 😉
Bonjour,
Je n’ai pas suivi ce tuto car ai utilisé le plug in WP-SECURITY-SCAN qui le fait automatiquement et très bien. Par contre, je rencontre un problème lié au changement du préfixe dans l’une des fonctionnalités de mon thème dont le fichier php fait appel à ces tables. Le fait de changer le préfixe casse le fonctionnement de ce fichier et n’étant pas très à l’aise en php (j’ai fait des tentatives de remplacement infructueuses en local), je ne sais pas trop comment faire. Si tu vas sur mon site, il s’agit de la page “déjeuner sur-mesure” et c’est tout le contenu des menus qui ne s’affichent plus si je change le préfixe (seules les grandes rubriques s’affichent mais l’intérieur non). Si je t’envoie le fichier en question, pourrais-tu m’aider et m’expliquer comment faire pour modifier le code, stp ? Bien entendu j’ai demandé avant au créateur de mon thème mais qui n’est pas développeur et qui ne sait pas comment faire.
merci beaucoup pour ton aide !
En réalité, ce genre d’erreurs ne devrait pas subvenir dans la mesure où le préfixe ne doit jamais être codé en dur dans le thème. Il y a des variables pour cela.
Pour autant, pourquoi vouloir changer à tout prix le préfixe ? OK, la sécurité est importante mais dans ce cas le changement n’est pas vraiment justifié… ou est-ce pour une autre raison ?
Pour information, toute intervention fait l’objet d’une prestation payante.
Une méthode brutale: après avoir changé le wp-config comme indiqué, sauver la base, l’éditer avec un éditeur, et faire un remplacer wp_ par xxx_
Puis la réinsatller..
J’ai faut?
Merci pour tout
Quel est ton souci ?
Je viens d’essayer comme de cette manière et ça marche très bien.
Merci pour ton aide.
Les captures d’écran sont vraiment utiles dans une opération aussi délicate ;).
Bonjour, avant tout très beau site internet et bien complet !
Alors voilà j’ai un petit problème…
Avec le plugin WP-sécurity Scan quand je fais un scan il me trouve rien tout est ok niveau sécurité sauf pour le préfixe wp-
Mais voilà le problème c’est quand je clique sur click here et bien j’ai une belle page avec un beau petit message : vous avez pas assez de permissions pour pouvoir y accéder (ou message similaire..)
Donc je fais comment moi du coup ?
Je suis l’admin du site et le seul alors franchement la je sais pas quoi faire lol
Merci d’avance A+ les amis 😉
c’est quoi le risque de sécurité de laisser l’essayer avec le préfixe wp_ ?
merci
Hello 🙂
juste pour vous dire que j’ai également utilisé le lien de Philippe, http://www.seoegghead.com/software/wordpress-table-rename.seo
et c’est parfait, cela créer de nouvelle table (toutes, même celle des plugins) sans modifier les anciennes. (et çà c’est pas mal au cas où un plugin plante… et çà rassure aussi 🙂 )
Je ne l’ai pas trouvé sur le site officiel, pourtant il est très efficace !
bonne journée à vous
Merci bien pour l’info ! 😎
Par contre à l’avenir, merci d’indiquer un pseudo qui ne corresponde pas au nom du site car ces commentaires finissent généralement dans le spam. 😉
Bonjour,
je cherche desesperement le moyen de gerer ma bdd. Via phpmyadmin ou autre chose. JE n’y arrive pas. J’ai les codes d’acces sr mon wp-config mais ca ne marche pas. aurais tu une idee stp. Oui je suis plus dans le topic mais on sait jamais.
MErci d’avance.
PS: c’est une base par defaut que j’ai je crois: define(‘DB_HOST’, ‘sql3.modules’);
Un plugin sympa http://www.blogtycoon.net/wordpress-plugins/portable-phpmyadmin/
merci pour ce tuto
j’ai lu ici et la, que dans un objectif de securité il est préférable de modifier certain parametres par defaut
ca répond @ ce besoin parfaitement
maintenant faire cette mise à jour est trop risquée vu mes compétences, je ferai attention à la prochaine installation de site
merci
Sebastien
Mon hebergeur c’est 1and1
sinon si c’est la faute de l’hebergeur , j’ai plus cas me servire de ma sauvegarde Merci encore
bonjour ,
y a t-il des manip a refaire lors des mises à jour WP ou de certains plugin ?
merci!
Aucune vu que ce paramètre peut être déterminé dès l’installation. Les développeurs utilisent une variable globale pour leur retourner le préfixe de la table de sorte que le préfixe est toujours le bon.
Merci maintenant j’ai acées au back-office
mais maintenant fatal error out of memory
Suite a la tentative de mise a jour vers la nouvelle version
est ce que c’est lier
merci pour vos explication
Sûrement un problème d’hébergeur pas assez performant…
Merci
Je bloque a la dernière phases
édition de la table wp_usermeta
car les meta keys si je me trompe pas j’en trouve 41, je voudrais pas faire une erreur
Quel est le champ a modifié si c’est bien sa
merci
Il faut modifier uniquement les champs commençant par wp_ 😉
J’avais utilisé http://www.seoegghead.com/software/wordpress-table-rename.seo qui avait parfaitement fonctionné.
Merci du plugin !
Merci pour le tuto.
Je cherchai à faire en début de semaine mais je trouvai pas le champ pour renommer les tables sous 1&1.
Là je pourrais le faire ce soir.
Bon, j’avoue, j’avais quand même un peu d’appréhension pendant que je bidouillais la base MySQL mais tout va bien !
Encore un tuto (très clair et accessible) qui me permet d’améliorer mon blog et de progresser.
Merci.