Migrer son site WordPress n’est certainement pas une chose que l’on est amené à faire tous les jours, mais n’est-il pas appréciable de savoir que cela se fait en trois clic de souris ?
Je pourrais résumer une migration de site à l’installation d’un nouveau site WordPress, à la nuance prêt que se seront des données provenant de vous et qu’il vous allez surement changer de nom de domaine.
J’ai déjà eu l’occasion de traiter de la question de l’installation de WordPress. Je partirais du principe que vous savez tous installer WordPress, créer une base de donnée, vous connectez à cette base, faire un export et un import avec phpMyAdmin. Si cela vous parle chinois, n’hésitez pas à lire notre article sur l’installation de WordPress.
1 – Sauvegarder ses données
Si vous tenez vraiment à votre site WordPress, j’espère que cette étape ne sera pas nécessaire pour vous, car bien entendu, vous sauvegardez tout très régulièrement.
Si vous ne sauvegardez pas souvent votre site WordPress, sachez que vous devez aussi bien sauvegarder vos fichiers, que les données sauvegardées dans votre base de donnée.
1.1 – Récupérer ses fichiers WordPress
Rien de bien compliqué. Armez-vous de votre client FTP favoris, FileZila étant le notre; connectez-vous; rapatriez l’ensemble des répertoires nécessaires au bon fonctionnement de votre site. Le répertoire WWW étant souvent suffisant. Mais attention au répertoire CGI BIN. Votre site peut très bien avoir besoin de certificat de la banque se trouvant dans ces répertoires… par exemple si l’on parle de WordPress en mode e-commerce.
1.2 – Récupérer ses données WordPress
Ici encore, rien de bien méchant. Connectez-vous à l’interface phpMyAdmin de votre site. Rendez-vous rubrique Exporter de la base qui vous intéresse. Par précaution, je fais toujours deux sauvegardes, une avec Drop Table, l’autre sans. On n’est jamais trop prudent.
2 – Transférer ses données
Maintenant que vous avez toutes vos données, sur votre ordinateur, il vous faut faire le processus inverse; envoyez ces données sur votre nouveau serveur.
On prend les mêmes et on recommence, mais cette fois-ci, vous envoyez vos données sur le serveur FTP, et vous choisissez l’onglet Importer dans le nouveau phpMyAdmin.
L’étape la plus longue ici étant bien souvent d’attendre que le transfert FTP se termine, ADSL oblige.
3 – Petits réglages entre amis
Une fois vos données transférées sur le nouveau serveur avec succès, il se pourrait que vous soyez confronté à l’obligation de faire certains petits réglages. Tout dépend du cas de figure.
3.1 – J’ai changé de base de donnée
Naturellement, si vous changez de serveur, il y a de très fortes probabilités que le mot de passe de connexion à MySQL ne soit plus le bon, voir que l’utilisateur ait changé, ainsi que le nom de la table.
Une des étapes nécessaire pour voire le site migré être fonctionnel est d’éditer le fichier wp-config.php.
Remplacez les données par celles qui sont désormais les bonnes.
3.2 – Je n’ai pas changé de nom de domaine
Dans ce cas… votre migration est maintenant terminée. Il vous est possible de vous connecter sur ce site comme vous le faisiez sur le précédent.
Facile n’est-il pas ?
3.2 – J’ai changé de nom de domaine
Si votre migration implique aussi un changement de nom de domaine, il va falloir alors le dire à WordPress. Et pour lui dire, pas de secret, on va devoir passer par les tables de la base de donnée. Pourquoi ? Car WordPress stock le nom de domaine comme une variable dans la base de donnée. Ainsi, lorsque vous changez de nom de domaine, votre ancienne installation ne sera pas directement accessible après avoir copié les données.
Si votre site fait une certaine taille, on peut vite imaginer qu’éditer la base au travers de phpMyAdmin relève de l’art. Mais comme tout est merveilleux dans le monde WordPress, un petit script va nous prendre par la main pour changer l’URL dans votre base de donnée. Que du bonheur.
J’aurais tendance à dire qu’avant d’utiliser ce script, je vous invite très fortement à faire une sauvegarde de votre base de donnée. Mais compte tenu de la situation, vous devez déjà travailler à partir d’une sauvegarde. Donc tout va bien.
Le script dont je parle se nomme WordPress Search and Replace. Notez que ce script peut vous être utile dans d’autres situations que la notre; mais il faut aussi admettre qu’il est particulièrement utile aussi dans ce cas.
Pour changer le nom de domaine dans la base de WordPress, il faut télécharger ce script sur la racine du site en question, et de l’appeler à partir de votre navigateur web chéri.
Une fois connecté au script, voici ce que vous obtiendrez :
Ce script étant bien fait, il vous invite à récupérer automatiquement les informations à partir du fichier wp-config.php. Si celui-ci est bien renseigné, laissez le script faire le travail pour vous.
Vérifiez tout de même que tout vous semble correct.
Sélectionnez ensuite les tables sur lesquels porte votre recherche. Pour notre petite affaire, se limiter à la table _options et _postmeta sera suffisant. Attention à ne pas trop en sélectionner non plus, il se pourrait que le nom de domaine ait été utilisé pour créer le thème par exemple. Il ne faudrait pas venir interférer là où il ne faudrait pas.
C’est ici que les choses sérieuses arrivent. C’est le moment de donner la chaîne de caractère à rechercher et celle qui servira de remplacement. Ici, il est très important de bien faire les choses. L’URL de votre ancien site est stocké sous la forme http://www.monsiteamoi.com.
Il vous faut donc faire une recherche du type http://www.monsiteamoi.com et un remplacement du type http://www.monnouveausiteamoi.com.
On prend le temps de se relire deux fois, et on envoi la requête de remplacement.
Une fois celle-ci effectuée, un retour vous informe du déroulement de l’action.
Testez votre site WordPress et,Oh, magie, votre migration est parfaitement fonctionnelle.
Mais un petit détail avant d’en avoir complètement terminé avec votre migration de site WordPress, pensez à bien supprimer le script de votre serveur web. En effet, celui-ci étant accessible par n’importe qui, il ne serait pas étonnant que des vers exploitent une faille de type interface chaise / clavier de j’ai oublier de retirer un script qui permet de tout changer dans ma base de donnée, par le premier venu. On vous aura prévenu 😉
Merci beaucoup pour ce tuto.
Simple, claire et efficace.
Bonjour,
j’aurais plusieurs questions à vous demander concernant la migration.
J’ai testé votre tutoriel et ça n’a pas fonctionner.
J’ai bâtit un site en WordPress sur un domaine avec un sous domaine m’appartenant. Je dois transférer ce site sur un domaine déjà existant (qui n’a pas été crée en WordPress) et remplacer le contenu par le contenu que je viens de créer en WordPress. J’ai en ma possession les accès ftp. Je dois conserver le nom de domaine qui existait déjà et ne plus utiliser celui sur lequel j’ai développer le nouveau contenu.
Une suggestion pour faire fonctionner le tout ? Merci 🙂
Merci pour ce tuto qui m’a bien rassuré pour passer de mon hébergeur “historique” qui me bridait sur le nombre de noms de domaines (céléonet) vers o2switch.
Il faut s’habituer aux différents backoffices des hébergeurs, et cela rajoute de la complexité.
Un petit mot utile : Pour ma part je gère toujours mes noms de domaine chez un tiers (Gandi pour ne pas le nommer) ce qui me permet de ne pas dépendre de l’hebergeur.
Dans ma migration j’ai juste changé les DNS chez Gandi et hop en quelques minutes le site est apparu propulsé par mon nouvel hebergeur.
Bonjour, je n’arrive pas a trouver le script de migration. Je pense que le lien est mort !
Salut,
Il semble qu’il soit dispo sur GIT : https://github.com/interconnectit/Search-Replace-DB. Je ne l’ai pas testé (sur GIT), donc hésite pas à faire un retour dessus 😉
moi qui ai une dizaine de wordpress à migrer suite à un changement d’hébergement, j’ai trouvé toute l’info nécessaire pour faire cela facilement et en toute sécurité.
Excellent, merci
Content que cet article (et les autres) soit utile. Il faudrait que j’en refasse d’autres sur le sujet, car aujourd’hui il existe de super plugins pour ça. WordPress est en constante mutation, et c’est pour ça qu’on l’aime.
Grand merci !
Je pense que actuellement on a pas mal de plugin WordPress pour migrer un site WordPress.
Vous pouvez consulter WordPress GoLive http://goo.gl/uKUrEJ.
il permet d’automatiser tout le process:
– Export de la base donnée
– Remplacer tout les URL par le nouveau domaine
– Tranférer les fichiers
– Import de la base
– Les objets serialisé sont prise en compte.
Bonjour,
le nom de mon site est BeFitLike, mais mon adresse url est http://www.esprit-forme.
A votre avis, cela pose t’il un problème? Si oui, comment y remédier en gardant le nom BeFitLike.
Merci par avance.
WordPress est le CMS que je préfère. Il y a une logique référencement qu’il n’y a nulle part ailleurs.
Merci du tuyau, j’avais trouvé un autre moyen : exporter les tables nécessaires en csv, l’ouvrir avec excell, faire un search&replace, puis réimportes lesdites tables dans ma base sql, mais le script que tu proposes à l’air plus cool 🙂
Excellent article qui m’a été très utile. Un grand merci.
merci beaucoup pour cet article, sachant que j’ai beaucoup souffert afin de migrer mon site de localhost en hébergeur, je ne savais pas comment changer les liens http://localhost/page en site.com/page.
Salut
Je suis tombé sur votre script en en cherchant un autre
Je m’explique : j’ai un annuaire de liens développé sous arfooo (php/mysql), et je veux migrer ma BDD, et en fait les milliers de liens et dizaines de catégories dans wpress. Je cherche un script permettant d’intégrer mes liens en tant qu’articles Wpress, et les catégories.
Savez-vous si cela existe, ou comment y arriver sans trop de casse ?
Merci !
lulu
Bonjour,
j’ai réalisé ma migration de site , mais pas moyen de me connecter sur mon panneau de configuration WP : “ERREUR : les cookies sont bloqués ou ne sont pas reconnus pas votre navigateur. ”
Seulement , avec ce même navigateur je me connecte sans soucis à un autre panneau d’admin (site WP d’origine, sur le net). Je suppose donc qu’il y a un chpounz sur le nouveau site.
Auriez vous une piste ?
Merci par avance
Bonjour,
le script est bien mais parfois il ne corrige pas tout, moi je préfère les commandes SQL, chercher sur Google déplacer+wordpress vous verrez un lien vers le site d’Olivier.
Bonjour,
Je ne comprends rien!
J’ai transféré via ftp la totalité des fichiers de mon domaine 1 vers le domaine 2. Je n’ai pas réussi à importer le base de données de 1 vers 2 (“erreur d’importation”) mais le site fonctionne parfaitement sur le domaine 2!!!
comment faire pour modifier mon header dan le meme site sous wordpress : http:xxxxxxxxx
Bravo pour ces infos et merci, très utile !