Auteur :
• 3 mars 2009
closeCet article a été publié il y a 7 ans 9 mois 9 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

wordpress-iconAvec toute mes manipulations d’un nouveau serveur et l’intégration des pages web éparpillées que j’ai un peu partout, j’en suis venu à me poser la question comment déménager complètement un blog créé sous WordPress.

Les manipulations que je présente ici ont été réalisées avec la version 2.6. Tout d’abord, je présume que vous avez un accès FTP et un accès à votre base de données MySQL (via phpmyadmin) dans votre ancien et votre nouvel hébergeur. Ces solutions ont fonctionnés pour moi, je ne pourrait être tenu responsable de ce que vous allez faire.

Voici les deux cas :

1. Sans changement de nom de domaine (http://mondomaine.com –> http://mondomaine.com).

C’est le cas le plus facile, c’est un simple déménagement d’hébergeur. Le transfert du blogue peut se faire en quelques étapes :

  1. Tout d’abord, on se connecte en FTP à notre ancien hébergeur et on télécharge tout le répertoire racine de notre blogue.
  2. Dans le répertoire que l’on vient de télécharger, on édite le fichier wp-config.php que l’on renseigne avec les nouvelles informations de connexion (DB_NAME, DB_USER, DB_PASSWORD et DB_HOST).
  3. Ensuite on se connecte à phpmyadmin de notre ancien hébergeur, on se positionne dans la bonne base de données, on clique sur exporter, on coche en bas sur transmettre, on donne un nom significatif et on sélectionne un format de compression (moi j’ai utilisé bzippé) puis exécuter.
  4. Dans notre nouvel hébergeur, on se connecte en FTP et on télécharge en amont le répertoire racine que l’on avait téléchargé dans notre ordinateur.
  5. Ensuite on se connecte à phpmyadmin de notre nouvel hébergeur, on se positionne dans la bonne base de données, on clique sur importer, on sélectionne le fichier compressé de la base de données dans notre ordinateur, puis exécuter.

Et voilà!

2. Avec changement de nom de domaine (ex. : http://www.mondomaine.com/blogue –> http//:blogue.mondomaine.com).

Ici la difficulté réside dans le fait que WordPress utilise des url absolues, plutot que relatives. Nous devrons donc au préalable modifier toutes les adresses contenues dans la base de données. Voici les étapes :

  • Tout d’abord, on se connecte en FTP à notre ancien hébergeur et on télécharge tout le répertoire racine de notre blogue.
  • Dans le répertoire que l’on vient de télécharger, on édite le fichier wp-config.php que l’on renseigne avec les nouvelles informations de connexion (DB_NAME, DB_USER, DB_PASSWORD et DB_HOST).
  • Si vous avez la réécriture d’url, vous devait également éditer le fichier .htaccess afin qu’il ai la nouvelle adresse.
  • Dans notre nouvel hébergeur, on se connecte en FTP et on télécharge en amont le répertoire racine que l’on avait téléchargé dans notre ordinateur.

Pour la modification de l’adresse dans la base de données, plusieurs références proposent de modifier la base de données avec un éditeur de texte, ce qui implique un téléchargement sans compression.

J’ai du rejeter cette solution parce que mon fichier SQL nom compressé dépassait la limitation de 2 Mo d’importation d’un fichier SQL dans phpmayadmin. Nous allons donc régler notre problème par des requêtes SQL.

  • On se connecte à phpmyadmin de notre nouvel hébergeur, on se positionne dans la bonne base de données, on clique sur importer, on sélectionne le fichier compressé de la base de données dans notre ordinateur, puis exécuter.
  • Toujours dans notre base de données de phpmyadmin on sélectionne SQL. Il suffira de copier les requêtes modifiées dans la zone de texte puis choisir exécuter.

On modifie afin que la nouvelle adresse soit prise en compte :

UPDATE wp_options SET option_value = replace(option_value, 'http://ancien.domaine.com', 'http://nouv.domaine.com') WHERE option_name = 'home' OR option_name = 'siteurl';

Ensuite on modifie l’adresse de tous les billets et de toutes les pages

UPDATE wp_posts SET guid = replace(guid, 'http://ancien.domaine.com','http://nouv.domaine.com');

Ensuite on modifie le contenu des billets et des pages afin que les liens pointant vers notre blogue soient modifiés.

UPDATE wp_posts SET post_content = replace(post_content, 'http://ancien.domaine.com', 'http://nouv.domaine.com');

Voilà

Be Sociable, Share!
Catégorie: Du code | Tags : , , , , ,
Vous pouvez suivre toutes les réponses à à ce billet via le flux RSS 2.0. Les commentaires et la notification par ping sont désactivés.

Une réponse

  1. 1
    Pascal Tremblay 

    Ouais. Mimi m’as dit que t’était brûlé par tes glissades au mont lac-vert avec les enfants. Je vois que t’as trouvé l’énergie d’écrire quand même un billet ! J’aimerai savoir tes impressions sur WordPress dans le privé. On se téléphone.

    Bye