Plusieurs situations nécessitent un déplacement d’un blog, par exemple:

  • changement d’hébergeur
  • transfert d’un blog développé en local vers un site public
  • transfert d’un blog (sous-domaine) sur un nouveau site

Voici la marche à suivre pour que le transfert d’un blog WordPress vers un nouveau site. Si toutes les étapes sont respectées, le nouveau blog est accessible en quelques heures.

Etape 1 – Commander nouveau site

Avant tout chose, il faut disposer d’un nouveau nom de domaine et d’un hébergeur. Je fais confiance à Infomaniak depuis des années, pour la Suisse comme pour la France. La commande passée, on reçoit dans les 24 à 48 heures un courriel avec toutes les informations de connexion.

Etape 2 – Activer le nouveau site

  1. Se connecter sur le nouveau site et suivre les instructions transmises par l’hébergeur pour l’activer. Une page d’accueil temporaire sera créée.
  2. Dans l’interface d’administration, activez la base de données.
  3. Créer un compte FTP avec les droits d’administration

Etape 3 – Sur le blog d’origine

  1. Sauvegarder toutes les données du blog d’origine: Base de données (utiliser le plugin Backup WordPress), fichiers wp-config.php, .htaccess, index.php + tout le répertoire WordPress (toujours une bonne idée!)
  2. Exporter la base de donnée MySql
    A partir de phpMyAdmin, sélectionner la base de données (celle qui est référencée dans le fichier wp-config.php du blog) et choisir la fonction Exporter. Sauvegarder la base dans un fichier en local, la compresser si nécessaire.

Etape 4 – Nouveau site

Importer la base de données

  1. Ouvrir l’interface d’admin sur le nouveau site (selon les données transmises par l’hébergeur)
  2. Aller à phpMyAdmin
  3. Importer la base de données du blog d’origine précédemment sauvée en local

Modifier les URL dans la base de données

C’est la partie la plus délicate! WordPress sauve des URL en référence absolue. Il faut aller modifier toutes les URL qui font référence à l’ancien blog, pour les remplacer avec l’URL du nouveau site. Il y a 3 modifications à faire.

  1. Ouvrir PHPMyAdmin
  2. Sélectionner la base de données qui contient les données du blog d’origine.
  3. Sélectionner « SQL » dans la liste des fonctions et entrer successivement les trois blocs de texte suivant

Remplacer les références à http://www.ancien-site.com (votre ancienne url) par l’adresse du nouveau blog dans la table wp_options:


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';

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');

Faire un rechercher/remplacer dans le contenu des posts pour être bien sûr qu’aucun lien en URL absolue ne traîne avec l’ancienne adresse des posts.

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.ancien-site.com', 'http://www.nouveau-site.com');

Copier les fichiers WordPress

  1. Se connecter au nouveau site via FTP (cyberduck ou FileZilla) et uploader les fichiers préalablement sauvegardés: répertoire WordPress, fichier wp-config.php, .htaccess.
  2. Uploader le répertoire WordPress

Editer le fichier wp-config

Ouvrir le fichier wp-config dans un éditeur texte (Notepad, Smultron) et modifier le nom de la base de données et s’il y a lieu le nom et mot de passe de l’utilisateur. Enregistrer.

Etape 5

Se connecter à l’interface d’admin sur le nouveau blog: http://www.nouveau-site.com/wp-admin ou http://www.nouveau-site.com/wordpress/wp-admin si wordpress est dans un sous-répertoire.

En principe, tout fonctionne. En cas d’erreur, rechercher dans la base de données s’il persiste des références à l’ancien domaine.

Pour en savoir plus