Si vous faites partie de ceux qui aiment bien développer leur site WordPress en local, avant de l’envoyer en ligne chez un hébergeur web, vous avez peut-être parfois des difficultés à effectuer la migration.
Je vais donc vous expliquer comment vous pouvez envoyer votre site WordPress local créé avec Xampp, WampServer, Mamp, Ampps, InstantWP, Local by Flywheel ou autre, vers un hébergeur web, facilement, simplement en suivant les bonnes étapes.
Si vous n’avez pas encore créé votre WordPress en local et souhaitez savoir comment procéder, rendez-vous sur l’article suivant : Installer WordPress tout simplement !
Migrer son WordPress du local vers le serveur en ligne
Pour cela vous je vais vous parler de plusieurs options, ensuite c’est à vous de choisir celle que vous préférez :
- Utiliser un un des meilleurs plugins WordPress pour effectuer la migration de manière relativement simple (Duplicator)
- Effectuer la migration manuellement, en transférant les fichiers et en exportant/important la base de données, vous verrez que ce n’est pas si difficile !
- Utiliser un autre plugin, moins connu mais très efficace : WordPress Move
1. Utiliser Duplicator
Duplicator est un plugin à installer sur votre WordPress à migrer, qui crée un paquet que vous devez ensuite envoyer par FTP afin d’extraire le contenu.
Si vous souhaitez utiliser Duplicator, il existe un très bon tutoriel sur WPFormation pour bien l’utiliser, rédigé par Lycia : Migrer son site facilement avec Duplicator
2. Migration manuelle
Pour effectuer la migration manuellement, nous allons suivre trois étapes simples :
- Préparer et envoyer les fichiers par FTP
- Exporter et importer la base de données
- Finaliser la migration et corriger toutes les URLs
Préparer et envoyer les fichiers par FTP
Avant de commencer, vous devez télécharger et installer un logiciel vous permettant de transférer vos fichiers via FTP, je vous recommande d’utiliser FileZilla.
- Télécharger FileZilla pour Windows
- Télécharger FileZilla pour Mac
- Télécharger FileZilla pour Linux
Maintenant que vous avez téléchargé et installé FileZilla, ouvrez-le et connectez-vous à votre hébergement avec les informations FTP fournies par votre hébergeur.
Si vous êtes hébergé chez WPServeur, vous avez dû recevoir un email contenant toutes les informations de connexion FTP.
Une fois FileZilla lancé, vous devez donc entrer les informations de connexion FTP à votre hébergement comme ci-dessous, puis cliquer sur le bouton Connexion.
Dès que vous serez connecté(e), vous verrez les fichiers et dossiers déjà présents dans votre hébergement.
Généralement vous devez ensuite rentrer dans le dossier htdocs, public_html, www, ou autre selon l’hébergeur. Si vous êtes chez WPServeur, vous êtes directement au bon endroit ! :)
ATTENTION : Si vous souhaitez migrer votre site sur votre compte WPServeur, un WordPress doit d’abord être installé, vous allez donc juste remplacer le WordPress présent par le vôtre. Vous devez donc absolument garder le fichier wp-config.php présent sur votre compte pour récupérer les informations de connexion à la base de données et les retranscrire sur le fichier wp-config.php de votre site local migré. (Commencez d’abord par le renommer en wp-config.php.old par exemple)
Une fois le fichier wp-config.php de votre FTP renommé, rendez-vous dans le dossier qui contient tous les fichiers et dossiers de votre WordPress sur votre ordinateur et transférez-les sur votre hébergement, soit directement via l’explorateur de dossiers de FileZilla, soit par Glisser/Déposer comme ci-dessous :
Vous verrez certainement une boîte de dialogue s’ouvrir vous demandant si vous souhaitez remplacer le fichier cible car un fichier avec le même nom existe déjà, cochez “Toujours effectuer cette action” et “Remplacer”, puis cliquez sur OK et patientez que tout le transfert soit terminé.
Dès que le transfert est terminé, modifiez le fichier wp-config.php de votre site migré pour entrer les bonnes informations de connexion à la base de données, et nous allons passer à la deuxième étape, l’export/import de la base de données :)
Exporter et importer la base de données
Retournez sur votre système de gestion des sites en local (Wamp, Mamp…), et accédez au PhpMyAdmin.
Vous devez sélectionner la base de données concernée, cocher toutes les tables qui s’y trouvent, et sélectionner l’option d’exportation.
Cliquez sur le bouton “Exécuter”, vous allez alors télécharger votre base de données au format .sql, et il vous devrez l’importer dans votre base de données en ligne.
Si vous n’avez pas créé de WordPress au préalable, vous devrez créer une nouvelle base de données, un nouvel utilisateur et lui octroyer les droits pour la base de données concernée.
Si la base de données contient déjà des tables, supprimez les en les sélectionnant et en choisissant l’option “Supprimer”.
Rendez-vous sur le PhpMyAdmin de votre hébergeur, sélectionnez la base de données de votre WordPress et cliquez sur l’onglet “Importer”.
Vous devrez ensuite sélectionner la base de données précédemment exportée, dans vos fichiers sur votre ordinateur, et cliquer sur le bouton “Exécuter”.
Vous devez patienter que l’importation finisse, la durée dépend de la taille de votre base de données à importer. Dès que vous aurez un message “L’importation s’est terminée avec succès” affiché dans une boîte verte, vous pourrez passer à la dernière étape :)
Finaliser la migration et corriger toutes les URLs
Maintenant que les fichiers et la base de données sont sur votre hébergement en ligne, il faut mettre à jour les URLs.
Pour être sûr de l’URL à corriger, retournez sur le PhpMyAdmin de votre hébergeur en ligne, et allez dans la table xxx_options, vous verrez alors l’URL actuellement enregistrée sur votre WordPress :
Ici, vous voyez que l’URL à corriger est la suivante: http://localhost:8080/Migration
Pour corriger les URLs, vous pouvez suivre l’un des tutoriels suivants :
Votre WordPress est maintenant correctement migré chez votre hébergeur et est accessible en ligne ! :)
3. Utiliser le plugin WordPress Move
Vous allez voir qu’il est encore plus simple de migrer un WordPress en utilisant le plugin WordPress Move ! Ce plugin n’est malheureusement plus mis à jour depuis plusieurs années, mais il fonctionne toujours très bien :)
Prérequis :
- Avoir un WordPress en local (of course !)
- Avoir un WordPress cible en ligne
Tout d’abord, sur votre WordPress en local et en ligne, installez ce plugin: https://fr.wordpress.org/plugins/wordpress-move/
Avant de passer à l’étape suivante, il y a une chose que vous devez absolument effectuer sur votre WordPress local, vous devez changer le préfixe de la base de données. Pour effectuer cela facilement vous pouvez installer le plugin suivant: https://fr.wordpress.org/plugins/change-table-prefix/
Le préfixe doit être exactement le même que celui de votre site WordPress en ligne (visible dans le fichier wp-config.php).
Une fois cela effectué, vous pouvez supprimer ce plugin et commencer à préparer la migration !
Rendez-vous dans les Paramètres de WordPress Move, et entrez les bonnes informations dans les différents champs de la page comme ci-dessous. Veuillez noter que vous devez entrer l’adresse IP du serveur sur lequel vous êtes hébergé(e), et non le nom de domaine :)
Pour le champs “Remote Backup Path”, vous devez mettre le chemin d’accès exact vers le dossier backup du plugin WordPress Move. Si vous accédez au dossier public_html, htdocs ou autre avec votre compte FTP, vous devez l’inclure dans le chemin !
Dès que tout est rempli correctement, vous pouvez lancer la migration en vous rendant dans “Outils” => “Migration Assistant” en choisissant l’option du milieu “Migrate” et en cliquant sur le bouton “Begin” :
Vous devez encore entrer le mot de passe, l’URL du site en ligne, sélectionner les différents dossiers et fichiers à migrer et appuyer sur le bouton “Start Migration” pour lancer la migration :)
Il ne vous reste plus qu’à patienter que le message “Uploading files is completed without an error…” apparaisse ! Vous devrez alors vous rendre sur le WordPress en ligne pour finaliser la migration.
Rendez-vous maintenant dans l’administration du WordPress en ligne, censé être remplacé par le WordPress migré, dans “Outils” => “Migration Assistant”, et choisissez cette fois-ci l’option de droite “Restore” puis cliquez sur le bouton bleu “Begin”.
Vous allez voir les différents fichiers qui ont été envoyés sur votre WordPress par le plugin de migration sur votre site en local, sélectionnez ces trois fichiers et cliquez sur le bouton “Complete Migration”.
Dès que la procédure sera terminée, vous verrez le message “Migration has been completed successfully”, ce qui veut dire que tout s’est passé correctement et que votre migration a été effectuée avec succès.
Il ne vous reste plus qu’à supprimer ce plugin de votre WordPress, vider tous les caches et profiter de votre site migré en ligne ! :)
L’option All In One Migration https://fr.wordpress.org/plugins/all-in-one-wp-migration/ peut également être envisagée !
Bonjour,
L’article est intéressant mais il y a une question à laquelle il ne répond pas et c’est un problème auquel je suis régulièrement confronté dans mes migrations.
Quid du thème ?
Y -a-t-il une solution pour, au moment de la migration, conserver les options retenues ?
Merci, si vous avez une idée ou une ressource.
@Jérôme,
C’est la base de données qui contient les options du thème, si cette dernière est copiée alors les options sont également copiées.
Pour avoir copié/migré des dizaines de sites WordPress, que ce soit avec Duplicator, manuellement ou avec WordPress Move, je n’ai jamais eu de problème avec les options du thème et des plugins.
Bonjour,
Désolé de reprendre le fil de la discussion aussi tard (mais ma mémoire déraille…)
En général, je gère cela manuellement mais j’essaierai avec Duplicator à l’occasion. Cette mésaventure m’est arrivée plusieurs fois et justement, les infos n’étaient pas dans la base de données. A ma grande surprise d’ailleurs. Pcq pour le coup, je ne voyais pas où c’était stocké.
Alors, en général, c’est arrivé avec des thèmes gratuits. Mais je ne sais pas si ceci explique forcément cela. Avec des thèmes premiums, je n’ai jamais eu le soucis.
@Jérôme
Je confirme que même sur les thèmes WordPress gratuits, les options sont bien stockées dans la BDD ;)
Bon j’avoue que j’ai jamais compris d’où venait ce problème. C’est peut-être moi qui faisait une erreur à l’époque dans ma manière de faire.
Je ne vous embête pas plus longtemps sur ce point :)
Bonjour, tout d’abord merci pour le tuto, il m’a été d’une grande aide. J’ai une question bête, mon site (fait en local à l’aide de WordPress) est désormais en ligne, mais maintenant comment puis-je y ajouter du contenu ? Merci beaucoup :)
Bonjour,
Étant peu expérimentée, je vais tenter une migration (site Woocommerce local à site en ligne) avec WordPress Move. Mais subsistent quelques questions :
– WordPress Move permet-il d’importer tous les produits et paramètres Woocommerce ?
– Une fois la migration effectuée, comment cela se passe t-il pour les permaliens ? Sont ils automatiquement mis à jour ? (je veux dire par là, remplacement de http:// adresse.ip/wordpress/actualites par http:// nomdusite.fr/actualites par exemple).
– Plus globalement, une fois toutes les étapes de votre tuto passées, ya t-il autre chose à faire, ou bien le site est-il directement en ligne et opérationnel pour ajouter d’autres contenus ?
Merci beaucoup !
Bonjour @SJ,
Pour répondre à vos questions :
– WordPress Move absolument importe tout !
– Pour les permaliens, à vérifier sinon il faudra utiliser un script de type DBSR Master ou Search&Replace
– Vérifier que tous les liens soient corrects et que le site fonctionne correctement
bonjour,
Merci pour ce tuto. Je vais tenter l’installation manuelle j’aurais 2 petites questions :
Vous dites pour WPserveur il faut avoir installé aussi un wordpress sur l’hébergeur, est ce le cas pour tous les hébergeurs, j’ai mon site WP développé en local est ce que avant de transférer je dois installer sur ovh un WP vide aussi ?.
Seconde question : dans le dossier www j’ai un autre sous dossier index.html, c’est bien www que je dois choisir, dites moi si je me trompe ?
Merci d’avance
Très intéressant comme article. J’ai utilisé le plugin WordPress Move et ca a très bien marché pour moi.
Merci beaucoup.
Bonjour,
J’ai créer un site web dans un sous domaine OVH (multisite). J’aimerais le copier coller avec ce plugin sur mon “vrai” NDD. Cependant ma base de donnée OVH n’est pas neuve, elle accueille 2 autres site web. Avec duplicator j’ai vu que ça l’écrasait… Est ce que le plugin All in One WP migration épargne ma base de donnée svp ?
Bonsoir,
Merci beaucoup pour vos explications qui sont très claires. Cependant, j’ai eu plusieurs soucis et j’espère que vous pourriez m’aider. J’ai essayer avec WordPress Move, j’ai suivi consciencieusement toutes les étapes mais cela n’a pas fonctionné. Et je ne peux plus accéder à mon site local. Il y a toujours l’erreur “Safari ne peut pas se connecter au serveur localhost” alors qu’avant pas du tout. Et depuis les autres navigateur c’est la même chose.
Du coup j’ai essayé de migrer manuellement. Mais lors de l’importation de la base de donnée chez l’hébergeur, j’ai de nouveau une erreur “#1044 – Access denied for user ‘scvr’@’localhost’ to database ‘scvr1’ “.
Est-ce que vous pourriez m’aider s’il vous plaît? Merci beaucoup
salut,
Lorsque l’on a plusieurs site sous mamp : site1, site2 etc etc comment gérer les liens des images après la migration ?
Car une image aura une url /site1/wp-content/uploads/2017/11/monimage.svg
mais, une fois la migration réalisé elle devra être juste /wp-content/uploads/2017/11/monimage.svg non ?
merci de votre aide
Bonjour,
J’ai suivi votre démarche mais j’ai eu l’erreur suivante : “ERROR 1044 (42000) at line 6: Access denied for user ‘jnPdeGhba’@’%’ to database ‘local'”
En fait, de local by Flywheel vers OVH (mon cas) il faut modifier le fichier . sql généré par l’export, :
1) Supprimer la ligne CREATE DATABASE IF NOT EXISTS `nom-base-de-donnees` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
2) Corriger la ligne USE `nom-base-de-donnees`; en indiquant le nom de la base de donnée de l’hébergement OVH
C’est tout au début du fichier .sql.
Bravo pour vos articles, votre aide et précieuse, cordialement