Blog Tool Box

Transférer votre blog WordPress vers un nouveau domaine en 10 étapes

Vous voulez tranférer votre blog WordPress vers un nouvel hébergement avec un nouveau domaine ? L’opération n’est pas très difficile à réaliser mais les différentes étapes doivent être suivis dans un ordre précis pour que le transfert s’effectue sans le moindre heurt. Pendant cette migration, il faut également veiller à ne pas perturber vos visiteurs mais aussi les moteurs de recherche.

  1. Mettez en place un fichier robots.txt sur le nouveau domaine contenant ces deux lignes suivantes :

    User-agent: *
    Disallow: /

    Ce fichier va permette, pendant la migration, de bloquer l’accès à votre blog par les robots d’indexation.

  2. Copiez votre base de données WordPress ainsi que les fichiers de votre blog vers le nouveau domaine.
  3. Editez le fichier wp-config.php avec la nouvelle configuration de la base de données (nom, user, password et host), et ajoutez-y les lignes suivantes (à adapter avec le nom de votre nouveau domaine) :

    define('WP_SITEURL', 'http://www.nouveau-blog.com/');
    define('WP_HOME', 'http://www.nouveau-blog.com/');

  4. Maintenant, lancez l’installation du nouveau blog avec les mêmes options que vous aviez sur votre ancien domaine (si vous avez un plugin de cache installé, supprimez les fichiers cache générés).
  5. Installez le plugin Search and Replace et lancez une recherche pour remplacer les urls se référents à votre ancien domaine (images, tags, liens internes, etc) par l’url du nouveau.
  6. Quand vous avez fini et que vous avez bien vérifié au moins deux fois que tout fonctionne parfaitement,
  7. Supprimez le fichier robots.txt.
  8. Sur votre ancien domaine, ajoutez cette ligne dans votre fichier .htaccess apache (à la racine de votre espace web) pour signaler que votre blog à changé de domaine :

    Redirect 301 / http://www.nouveau-blog.com/
    ou
    Redirect 301 /blog/ http://www.nouveau-blog.com/
    si votre blog était installé dans le répertoire /blog/

  9. Supprimez votre ancien blog ainsi que sa base de données.
  10. Si vous utilisez FeedBurner, n’oubliez pas de changer l’adresse du flux RSS par la nouvelle.

Et c’est finit, votre migration devrait bien se passer après tout cela. Si vous avez des questions, n’hésitez pas à laisser un commentaire.

Traduit et adapté de l’article de Joost de Valk.

  • Salut Maxime,

    Je ne suis pas tout à fait d’accord avec la partie URL rewriting de ton billet, j’ai même fait un billet à ce sujet :D

    http://www.referencement-blog.net/redirection-htaccess-domaine-144

  • Maigret

    Bonjour et merci pour cet excellent tuto !
    Juste une petite question: lorsque je redirige mon ancien domaine vers mon nouveau site via le htacess, dois-je supprimer l’intégralité du dossier ou se trouve le blog (wordpress) ? Ne vais je pas supprimer la redirection ?

  • Max

    @Alex : merci pour la correction.

    @Maigret : lorsque la migration est terminée, le nouveau domaine contient donc le « clone » de l’ancien blog. Il est donc maintenant possible de supprimer les fichiers WordPress du premier domaine.
    La redirection .htaccess étant à la racine de l’espace web, supprimer le dossier wordpress ne le supprimera pas ce fichier (.htaccess et /wordpress/ étant au même niveau). Enfin, cela dépend de comment vous avez installé votre blog, mais dans tout les cas vous pouvez supprimer la totalité des fichiers WP sauf le .htaccess.

  • Maigret

    Merci ça marche nickel !

  • Olivier

    Excellent article!
    Il faut remettre en place un fichier robots.txt après la migration et si possible bien configuré pour éviter le duplicate content :)http://www.lautre-monde.fr/webtech/robotstxt-optimise-pour-wordpress/

  • ludo

    Bonjour tout le monde,
    Maxime, je viens de suivre tes conseils pour le transfert de wordpress.
    J’ai suivi pas a pas tes conseils et le blog fonctionne a nouveau.
    Y’a juste un petit truc qui cloche chez moi : je n’arrive plus a me connecter a l’admin !!
    J’ai fais une demande de renouvellement de mot de passe et même avec le nouveau mot de passe, je n’arrive pas a me connecter.
    D’où pourrait venir le soucis ?

    Merci d’avance pour votre aide

  • buz

    @ludo: J’ai eu le même problème. En fait à l’étape 3 au lieu de :

    define(‘WP_SITEURL’, ‘http://www.nouveau-blog.com/’);
    define(‘WP_HOME’, ‘http://www.nouveau-blog.com/’);

    il faut mettre :

    define(‘WP_SITEURL’, ‘http://www.nouveau-blog.com’);
    define(‘WP_HOME’, ‘http://www.nouveau-blog.com’);

    ++

  • Nico

    Afin d’aider d’autres, j’ai suivi le tout mais me suis retrouvé avec un problème… la page d’accueil était accessible, tout comme l’admin par contre toutes les catégories étaient inaccessibles… tout cela parce que je n’avais pas copié le fichier htaccess chez le nouvel hébergeur car il n’était pas affiché dans mon soft ftp (fireftp) car caché… Donc ne pas l’oublier !

    Anyway merci pour l’explication !

  • Gands

    Merci à Nico pour sa précision!
    J’avais le même problème et ne comprenais pas pourquoi…
    J’utilise Filezilla et en dans le menu « serveur » il faut « forcer l’affichage des fichiers cachés » pour voir apparaître le htaccess indispensable à une bonne navigation sur le blog.

  • Krafty

    Salut,

    J’ai suivis ce tuto (et désolé pour le déterrage de sujet) j’ai eu quelques difficulté pour le 3 (problème de permission, enfin bref pas trop compris) et maintenant je suis bloqué à l’étape 4 :x En effet, je ne sais pas comment fait-on pour réinstaller wordpress alors que celui-ci est déjà installé ?

    Merci d’avance pour votre réponse.

  • Maxime Guernion

    @Krafty : Soit en supprimant l’ensemble des tables (commençant par défaut par wp_) de la base de données soit en installant une seconde fois WordPress mais en choisissant un autre préfixe de nom de tables (autre que wp_) lors de l’installation.

  • Patrice

    Genial ce tuto !

    Je me suis fais avoir avec le fichier HTML a la racine de mon site qu’OVH ajoute pour dire que le site est en construction. Pensez-donc à le virer..

    Sinon j’ai un problème dans le lien de mes images.. bizarrement il manque un slash « / » après le nom de domaine..
    Les images à la une s’affichent bien mais pas les autres.. Le plugin search et replace ne me permet pas de mettre a jour les images.. y a t’il une solution ? Merci ! :)