Changer le nom de domaine d’un blog Wordpress sans encombres
Par Korben le 1 septembre 2008

Si vous songez à migrer le nom de domaine de votre blog sous Wordpress, voici quelques petites explications et lignes de commandes qui vous permettront de faire cela sereinement…
Petite chose quand même avant de commencer : FAITES un BACKUP de vos fichiers et surtout de votre base de données, car si vous vous loupez, vous risquez de perdre tous vos posts.
Il faut savoir qu’un changement d’url n’est pas simple car il nécessite de repasser dans chacun de vos articles surtout si vous faites des liens entre vos posts. De plus la configuration d’un blog Wordpress se fait en base de données, donc un changement d’adresse doit aussi être opéré dans la table de configuration de Wordpress.
Une fois que vous avez bougé votre blog (fichiers php + base de données) d’un serveur à un autre ou que vous avez changé d’url, la première chose à faire est d’indiquer à wordpress cette nouvelle adresse. Pour cela, on va utiliser du SQL avec la fonction replace() de mysql.
La première commande à entrer dans MYSQL est donc :
UPDATE wp_options SET option_value = replace(option_value, 'http://www.ancien-site.com', 'http://www.nouveau-site.com') WHERE option_name = 'home' OR option_name = 'siteurl';
qui va remplacer les références à http://www.ancien-site.com (votre ancienne url) par la nouvelle adresse de votre blog dans la table wp_options. Vous pouvez aussi très bien le faire à la main.
On va ensuite changer l’url relative des posts dans la table wp_posts
UPDATE wp_posts SET guid = replace(guid, 'http://www.ancien-site.com','http://www.nouveau-site.com');
Et pour terminer, on va faire un rechercher/remplacer dans le contenu de vos posts pour être bien sûr qu’aucun lien en URL absolue ne traine avec l’ancienne adresse dans vos posts.
UPDATE wp_posts SET post_content = replace(post_content, 'http://www.ancien-site.com', 'http://www.nouveau-site.com');
Normalement, suite à cela, vous pourrez vous relogger sur votre interface d’admin à la nouvelle adresse et tout devrait re-fonctionner comme avant… Ouf
Si vous rencontrez des soucis d’authentification, pensez à supprimer les cookies de votre navigateur.
Bonne migration !
[photo]
Je vous recommande aussi la lecture des sujets suivants
- Comment désactiver le suivi des versions sous Wordpress 2.6
- Personnaliser la page d’erreur de connexion à la DB de Wordpress
- SecondLight, la prochaine table Surface de Microsoft
- Envoyer un message sur Twitter avec PHP
- Laissez un message au propriétaire d’une adresse IP






Greg
Moi j’utilisais simplement le recherche remplacer de Notepad++ qui fait ça en même pas une seconde pour plus de 2000 occurrences. Ça évite une charge sur la BDD. Merci pour les requêtes SQL qui me seront quand même surement utiles un jour ou l’autre.
Pour compléter l’article, tu devrais aussi faire un tuto pour faire les redirections 301 en htaccess et ne pas perdre son bon référencement. Ou juste citer des liens de gens qui expliquent tout ça car c’est bien galère. Pour l’avoir fait quelques fois.
Posté le 1 septembre 2008 à 12:50:28
Paul
Ne pas oublier aussi de mettre un .htaccess contenant toutes les redirection en [R=301,L] sur l’ancien domaine… Sinon on repart de zéro !
(HS : @Korben : depuis plusieurs jours tradedoubler rame beaucoup et ça ralenti vraiment l’affichage de ton blog…)
Posté le 1 septembre 2008 à 12:52:06
Reyvax
Hop post-it sur ton article:
http://www.wordpress-fr.net/blog/referencement/changer-le-nom-de-domaine-de-votre-blog-wordpress-en-5-etapes
Posté le 1 septembre 2008 à 12:56:21
Korben
@Paul: Je prend note… je teste pour voir si ça marche ou pas après je déciderai si je le garde ou pas. Merci en tt cas
Posté le 1 septembre 2008 à 12:58:37
benji
@Paul: Ouai, un petit tuto pour faire la redirection ça serait bien. J’ai migrer mon blog qui était héberger chez free. Maintenant je suis chez 1&1, je sais pas comment faire la rediection.
@Korben: Faut aussi une requette pour les commentaires. Si je me trompe pas, quand on l’auteur est loggé et qu’il laisse un commentaire, wordpress met automatiquement l’adresse du blog dans le champ comment_author_url. Il faut donc ajouter :
UPDATE wp_comments SET comment_author_url = replace(comment_author_url, ‘http://www.ancien-site.com’,'http://www.nouveau-site.com’);
Posté le 1 septembre 2008 à 13:36:15
henri
mon expérience positive du sujet : http://www.2803.fr/wordpress/changer-le-nom-de-domaine-dun-blog-sous-wordpress/
Posté le 1 septembre 2008 à 14:26:57
GuAM
Merci beaucoup pour le tuto !
J’en aurai bien eu besoin récemment. Arf !
Posté le 1 septembre 2008 à 14:39:16
GuAM
Oups, juste pour m’abonner aux commentaires…
Posté le 1 septembre 2008 à 14:46:56
JB
Tu tombes à pique, comme d’ab ! Moi qui pense bientôt migrer vers un serveur dédié, tu es génial
Posté le 1 septembre 2008 à 16:15:01
Red@
Je crois qu’il y’a plus simple comme moyen sur tout pour les novice du biouille code … un Plugin WordPress qui se charge de tout , en tout cas c’est de loin la solution que je préfère : http://snipurl.com/3lv3s
Posté le 1 septembre 2008 à 16:36:07
David Bénard
Devant tant de risques je n’ai même pas envie d’essayer !
Posté le 1 septembre 2008 à 16:39:58
corimanon
Merci pour cette info que je connaissais déjà , mais pour l’avoir testée il y a quelques semaines, je peux vous dire qu’elle fonctionne parfaitement.
Par contre dans le même sujet wordpress, comme fais-tu Korben pour avoir ton commentaire qui est mis en avant par rapport aux autres ? Highlight Author Comments ou bien une modification ?
Posté le 1 septembre 2008 à 17:07:06
Korben
@corimanon: C’est un truc direct dans le template
Posté le 1 septembre 2008 à 17:12:09
Pti-seb
Allez je suis sympa, je vous file une astuce bien plus simple. Il suffit d’ajouter les paramètres suivants dans le wp-config, cela evite d’utiliser les valeurs en base de données :
define(’WP_SITEURL’, ‘http://www.tux-planet.fr’);
define(’WP_HOME’, ‘http://www.tux-planet.fr’);
Posté le 1 septembre 2008 à 17:29:32
Korben
@Pti-seb: Tu viens de me tuer la
Merci en tout cas !
Posté le 1 septembre 2008 à 17:31:09
benji
@Pti-seb: Sympa l’info. Est ce que ca modifie toute la base directement, ou ca prend effet pour les prochains articles?
Posté le 1 septembre 2008 à 18:10:44
Guil
Merci, désormais ça va être plus simple !
Posté le 1 septembre 2008 à 20:35:17
Tom
Pour ceux qui veulent sauvegarder leur blog WordPress (fichiers et base de données), j’ai écrit un petit script. Il n’y a qu’à configurer le répertoire du blog, le répertoire des backups et son email pour recevoir la confirmation :
Il se trouve ici : http://www.tomsquest.com/blog/script-de-sauvegarde-wordpress-et-mysql/
Tom
Posté le 3 septembre 2008 à 23:13:59
Brygida
Mille merci Korben pour ton poste!
J’ai réussit alors que mon éducation sql se limite à créer/supprimer une base sql
Aha, accès au admin marche aussi, on se logge avec le mot de passe de l’ancien wordpress
la prochaine fois je vais tester la méthode à la Pti-seb
Posté le 18 septembre 2008 à 00:12:35