Si vous avez changé l’url d’un site – comme par exemple une migration de WordPress d’un nom de domaine à un autre – et que vous aviez fait plein de jolis liens dans votre blog d’un post à un autre, vous avez peut être envie de chercher et de remplacer les occurences de l’ancienne URL dans la base de données MySQL ?
La procédure est assez simple même si je ne sais pas comment créer une commande vérifiant toutes les tables …
En gros un exemple de code serait :
UPDATE wp_posts SET post_content = replace( post_content,'blog.gonzaguedambricourt.com','gonzague.me')
La commande va donc chercher dans la table wp_posts les occurences de blog.gonzaguedambricourt.com et les remplacer par gonzague.me
Utilisez un outil comme phpMyAdmin pour faire une recherche du terme à remplacer dans toute votre base et ensuite adaptez le code pour faire les remplacements là où cela s’impose :)
Addendum :
Je viens de mettre de côté quelques unes des requêtes SQL à exécuter dans le cas de la migration d’un blog sous WordPress d’un domaine à un autre. L’idée de ces commandes est donc de remplacer l’ancienne adresse par la nouvelle. Si le nom de domaine est similaire ( par exemple de emmanueldetaillac.fr à blog.emmanueldetaillac.fr ) exécutez ces commandes *avant* d’aller modifier quoi que ce soit sur votre nouvelle installation.
Les commandes ( à exécuter une par une – faites un backup avant ) :
UPDATE wp_posts SET post_content = replace( post_content,'emmanueldetaillac.fr','blog.emmanueldetaillac.fr') UPDATE wp_posts SET guid = replace( guid,'blog.blog.emmanueldetaillac.fr','blog.emmanueldetaillac.fr') UPDATE wp_postmeta SET meta_value = replace( meta_value,'emmanueldetaillac.fr','blog.emmanueldetaillac.fr') UPDATE wp_options SET option_value = replace( option_value,'emmanueldetaillac.fr','blog.emmanueldetaillac.fr'); UPDATE wp_comments SET comment_author_url = replace( comment_author_url,'emmanueldetaillac.fr','blog.emmanueldetaillac.fr'); UPDATE wp_comments SET comment_author_url = replace( comment_author_url,'emmanueldetaillac.fr','blog.emmanueldetaillac.fr'); UPDATE wp_comments SET comment_content = replace( comment_content,'emmanueldetaillac.fr','blog.emmanueldetaillac.fr');
Grâce à cet ensemble de requêtes, vous allez mettre à jour les liens dans vos posts, les adresses des fichiers (images etc), votre url dans vos commentaires, etc.