Déplacez votre site WordPress : la méthode à l’épreuve des balles

Déplacez votre site WordPress : la méthode à l’épreuve des balles

Quand on déplace son site WordPress pour le publier sur Internet après l’avoir développé « en local » (sur son ordinateur), l’url change. Or, WordPress enregistre l’url dans la base de données. Vous devez donc manipuler cette dernière lors de votre transfert, afin de remplacer l’ancienne adresse par la nouvelle. Si vous ne comprenez pas bien de quoi je parle, lisez donc cet article où je vous explique en détails comment déplacer votre site wordpress.

Avant de passer à la présentation, petit erratum

Dans ce long article où j’explique comment déplacer un site WordPress, je vous avais déjà présenté une technique pour changer cette url. Pour résumer, il s’agissait de faire un chercher/remplacer de votre ancienne adresse par la nouvelle, dans le fichier d’export de votre base de données.

Mais comme l’a signalé en commentaire un lecteur attentif (salut à Xav’), cette technique rencontre parfois sa limite…et vous fais perdre des données au passage.

Quelles sont les données perdues ?

Je ne vais pas rentrer dans les détails techniques dus à la sérialisation de vos données, mais sachez que quelque part dans votre base de données, WordPress fait un lien entre les données de votre thème (couleur, logo, widgets…) et le nombre de caractères contenus dans votre url.

Oui, je sais que ça semble tordu dit comme ça…pourtant la sérialisation est courante dans de nombreux systèmes informatiques, car elle permet d’utiliser une seule table pour stocker différents types de données.

Revenons à notre problème d’url…

Disons que vous déplaciez votre site depuis http://localhost vers http://fleuriste-marseille.fr. La première url compte 16 caractères, et la seconde 29. En plus de remplacer manuellement http://localhost par http://fleuriste-marseille.fr, il faut aussi trouver un moyen de remplacer « 16 » par « 29 ».

Or le chiffre 16 a peut-être été utilisé pour désigner autre chose dans la base de données que le nombre de caractères de votre url. Par exemple, si vous avez une page « Les 16 membres de notre équipe », ce titre se retrouve aussi dans la base de données. Vous ne pouvez pas sauvagement remplacer tous les 16 par des 29 !

Comment faire ça proprement ?

Je vous rappelle la procédure pour déplacer un site WordPress :

  • Etape 1: Envoyer tous les fichiers de WordPress (vierge) vers l’endroit B
  • Etape 2: Créer la base de données de B
  • Etape 3: modifier le wp-config-sample.php sur B
  • Etape 4: installer WordPress à l’endroit B
  • Etape 5: envoyer les plugins, le thèmes et les images de A vers B
  • Etape 6: exporter la base de données de l’endroit A et nommez le fichier « basededonnees.sql »
  • Etape 7: changer les urls de « basededonnees.sql »
  • Etape 8: importer la base de données dans l’endroit B
  • Etape 9: se connecter au back-office du site B
  • Etape 10: vérifier les derniers réglages

Les changements portent uniquement sur les étapes 6 et 7.

Nouvelle étape 6 (détaillée) :

  • (1) Exportez la base de données de A et mettez-là de côté comme sauvegarde
  • (2) Connectez-vous à l’administration du site A
  • (3) Dans le menu Réglages, il faut entrer l’url de B dans les champs « Adresse web de WordPress (URL) » et « Adresse web du site (URL) »
  • (4) Déconnectez-vous. (n’allez pas voir votre site, il est tout cassé !)
  • (5) Exportez encore une fois la base de données de A et nommez le fichier « basededonnees.sql »
  • (6) Facultatif : Si vous souhaitez que le site reste fonctionnel à l’endroit A, remettez en place la base de données mise de côté en (1).

Sautez l’étape 7, nous allons y revenir plus tard. Exécutez les étapes 8 et 9. Et allez configurer vos permaliens juste après vous être connecté.

Nouvelle étape 7 à faire à la fin (détaillée):

Nous allons nous occuper de la sérialisation. Cette étape est pour les personnes « initiées ». Si vous « ne le sentez pas », ne vous y risquez pas. 😉 Utilisez plutôt l’ancienne méthode.

  • (1) Téléchargez le script Search and replace
  • (2) Dézippez le dossier et renommez le fichier replace.php par scriptpratique.php
  • (3) Envoyez ce fichier à la racine de votre site en FTP et exécutez-le dans votre navigateur
  • (4) Suivez les instructions à l’écran (il y a au moins 4 ou 5 étapes) pour remplacer l’ancienne adresse par la nouvelle tout en conservant automatiquement la sérialisation.
  • (5) Surtout n’oubliez pas de supprimer ce fichier après utilisation : il serait dommage que n’importe qui le trouve et puisse faire des chercher/remplacer dans votre base de données !

Vous êtes arrivé à la fin de ce tutoriel, votre site est à présent bien installé dans son petit nid, identique en tout point au site d’origine.

Image courtesy of federico stevanin http://www.freedigitalphotos.net

comment déplacer mon site wordpress, déplacer son site wordpress, développeur, tutoriel

A propos de MarieEve Louvel

Depuis 3 ans, je partage mes connaissances sur ce blog, pour les entrepreneurs désireux de créer leur site vitrine et/ou leur blog professionnel avec WordPress. Mon expérience professionnelle va de l'accompagnement à la formation, en passant par de la création de site ou de logiciel. Retrouvez mes cours en ligne sur mon site FeelWeb Formation [http://feelwebformation.com]

17 commentaires

  1. Bonjour à tous,
    Toujours utile de connaître la manip « a la mano » chaque logiciel ayant ses petite subtilités.
    Par contre, dans tous les plugin qui existent pour WP, n’en existe-t-il pas un pour assurer de manière auto cette fonction de synchronisation ?

    Répondre
  2. Bonjour, Personnellement j’évite au maximum de faire ça,
    pour les raisons que tu as données (il ne suffit pas de changer
    l’url du site, et à moins de vraiment bien connaître WP on ne sait
    pas où faire les modifs). Du coup j’évite de créer du contenu en
    local, mais s’il faut absolument transférer le site une autre façon
    de faire est d’utiliser l’import-export xml: – on fait tes 5
    premières étapes – on exporte le contenu de A (pages , articles,
    etc) au format xml avec l’outil dédié (outils -> exporter
    dans le back office) -on importe le fichier qu’on vient de créer
    dans B avec le même outil C’est pas plus long (en général en local
    il n’y a qu’un compte donc un seul export à faire), et on évite
    d’aller toucher à sa base de donnée, ou de hacker son site en
    changeant l’url. Ceci dit je ne connaissais pas ton script, si il
    permet de faire ça proprement pourquoi pas, mais l’import-export me
    semble quand même bien plus simple.

    Répondre
    • Merci Samuel pour cette alternative ! J’avoue ne m’être jamais intéressée à cet outil import/export.

      Répondre
  3. C’est un peu compliqué pour les personnes qui ont une idée superficielle sur WordPress. Pour bien maîtriser les choses, je pense que mettre toute cette explication en pratique est le plus conseillé. Donc, il faut avoir l’occasion de créer un site en WordPress et de rencontrer ce genre de problème pour passer à mettre en oeuvre la solution.

    Répondre
  4. C’est assez incroyable quand même, je ne l’aurais pas
    imaginé… finalement tu avais raison bien que tu ne sois pas très
    sérieux en l’affirmant ;)Et bien, tous ces conseils méritent d’être
    pris en compte. Mais en complément, je dirai aussi qu’il faut
    personnaliser ses approches. Se distinguer du lot attirera à coup
    sûr!

    Répondre
  5. Bonjour Marie-Eve

    Est-ce que la procédure est valable dans l’autre sens, (du on-line au local) ?

    Si oui y a-t-il des détails à surveiller ?

    Amicalement
    JM C

    Répondre
    • Bonjour JM,

      Oui la procédure est valable pour n’importe quel déplacement.

      Amicalement,

      Répondre
    • Bonjour MagicYoyo

      Merci pour ce plugin, je vais le tester, ça pourra être utile à mes lecteurs.

      Répondre
  6. ça peut servir un jour qui sait, en plus c’est détailler pour les geek évidement
    Très utile comme d’habitude
    dans l’attente du podcast :-)

    Répondre
  7. C’est vrai que cela peut facilement poser problème lorsque l’on décide d’apporter des modifications en local alors que notre site est déjà en ligne…
    Il faudrait donc rechanger à chaque fois les URL? C’est assez particuliers je trouve. Je n’ai pas encore eu l’occasion de faire ces manipulations mais je garde ton article sous la main car l’heure où mon blog sera en ligne approche à grand pas!
    Merci pour ces explications claires et détaillées!

    Répondre
    • Bonjour,

      En effet, c’est « particulier » (pour ne pas dire autre chose). C’est pourquoi je conseille plutôt de développer le site en ligne et d’y faire les modifications directement. Pour les grosses modifs, c’est différent. Il y a des astuces pour les faire en ligne, ou alors on fait en local.

      Répondre
  8. Bonjour,

    Je trouve ta procédure beaucoup plus simple que celle que j’avais utilisée sur un site anglophone et qui l’a causée énormément de soucis pour déplacer mon blog.

    Au final, il m’a fallu 7 jours pour trouver une solution.

    Répondre
    • Bonjour,

      7 jours quand même !! Aaah ces bugs informatiques !

      Répondre

Trackbacks/Pingbacks

  1. Déplacez votre site WordPress : la m&eac... - […] La méthode officielle pour déplacer un site WordPress tout en conservant toutes les données, même celles qui sont sérialisées. …

Soumettre un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

This Blog will give regular Commentators DoFollow Status. Implemented from IT Blögg

EmailEmail
PrintPrint