Migrer un site WordPress local en ligne, pas à pas
Un site local se déplace en deux morceaux, les fichiers et la base de données, puis une adresse à remplacer partout. Trois méthodes, leurs limites, et la liste de ce qu'il faut vérifier une fois le site en ligne.
Guides & ressources Par Romain D. Publié le
- Durée
- 1 h
- Niveau
- Intermédiaire
- Lecture
- 11 min

Un site WordPress local, ce sont deux éléments à copier, les fichiers et la base de données, et une adresse à remplacer partout où elle est écrite. C’est cette dernière que l’on oublie, et c’est elle qui laisse des images cassées ou des liens qui renvoient encore vers votre ordinateur. Pour migrer un site WordPress local en ligne, deux voies existent : une extension qui emballe le site à votre place, ou la méthode manuelle.
- Deux éléments à déplacer, les fichiers et la base de données. La documentation de WordPress demande de sauvegarder les deux avant toute migration.
- Duplicator et All-in-One WP Migration emballent le site dans une archive. La fiche officielle de Duplicator annonce plus d’un million d’installations actives, celle d’All-in-One plus de 5 millions.
- Méthode manuelle : export SQL, import dans phpMyAdmin, puis nouveaux identifiants de base dans
wp-config.php. Le fichier SQL ne doit contenir niCREATE DATABASEniDROP DATABASEd’après l’aide d’Hostinger. - L’adresse se remplace avec WP-CLI ou une extension, jamais à la main dans le fichier SQL, parce que certaines valeurs sont sérialisées.
- Après la mise en ligne : enregistrer les permaliens, vérifier la case « Dissuader les moteurs de recherche » et supprimer les fichiers d’installation.
Que faut-il préparer avant de déplacer le site ?
Cinq choses à réunir avant de toucher au moindre fichier. Les oublier ne casse rien, mais vous le découvrirez en plein milieu de la migration.
- Un hébergement et un domaine qui pointe dessus. Si le domaine n’est pas encore relié, le guide pour configurer les DNS de son nom de domaine décrit les deux méthodes.
- Une copie du site local, fichiers et base. Suivez pour cela la méthode de notre guide sur la sauvegarde d’un site WordPress : si la migration échoue, vous repartez de cette copie.
- Une version de PHP compatible. Comparez celle de l’hébergeur avec celle de votre site local, un site qui tournait en PHP 8.3 chez vous peut se comporter autrement sur une version plus ancienne. Les versions recommandées par WordPress sont rappelées dans notre guide pour installer WordPress en local.
- Les accès de l’hébergeur : FTP ou gestionnaire de fichiers, et une base de données MySQL vide. Notez l’hôte de la base, son nom, l’utilisateur et le mot de passe, Infomaniak dresse la même liste dans son aide.
- Un mot de passe d’administrateur solide. Les comptes WordPress vivent dans la base de données, ils partent donc en ligne avec elle. Un mot de passe de test n’a rien à faire sur un site public.
Extension ou méthode manuelle, laquelle choisir ?
Pour un site de taille courante, choisissez une extension : elle évite de manipuler la base de données à la main. Gardez la méthode manuelle pour les cas où l’extension bute sur un plafond ou sur une erreur.
| Méthode | Ce que vous manipulez | Limite à connaître | Pour qui |
|---|---|---|---|
| Duplicator (version gratuite) | Une archive et un fichier installer.php à envoyer par FTP, plus une base vide à créer | Le multisite demande la version Pro, d’après la fiche officielle | Un site WordPress classique, sans plafond de taille annoncé |
| All-in-One WP Migration | Un seul fichier .wpress, avec l’extension installée sur les deux sites | Le plafond d’import dépend de la configuration PHP de l’hébergeur | Un petit site, quand le fichier tient dans la limite d’envoi |
| Méthode manuelle | Un export SQL, les fichiers par FTP, le fichier wp-config.php, le remplacement d’adresse | La plus longue, chaque étape est à vérifier | Un gros site, ou le plan B quand l’extension échoue |
Ce tableau tranche d’abord sur la taille du site. Si votre archive dépasse le plafond d’envoi de l’hébergeur, Duplicator et la méthode manuelle passent encore, All-in-One non.
Deux sources se contredisent sur All-in-One WP Migration. La fiche officielle indique qu’une restauration au-delà de 512 Mo demande une licence payante. Le blog de l’éditeur explique à l’inverse que le plafond affiché à l’import est celui du PHP de l’hébergeur (upload_max_filesize et post_max_size), et vend une extension illimitée à 69 $ par an pour le contourner.
Lisez la limite affichée sur l’écran d’import de votre site avant de choisir cette méthode.
Sources : fiche de Duplicator, fiche d’All-in-One WP Migration et blog de ServMask.
Migrer un site WordPress local avec Duplicator
Duplicator crée une sauvegarde en deux fichiers, une archive et un installateur. Vous les envoyez sur l’hébergement, l’installateur se charge de recréer le site. Les libellés de l’extension sont en anglais, ce sont ceux à chercher à l’écran.
- Installez et activez Duplicator sur le site local. Ouvrez l’extension depuis le menu WordPress et lancez l’assistant de création de sauvegarde. Il emballe les fichiers et la base de données.
- Téléchargez les deux fichiers. Sur la page des sauvegardes, le téléchargement des deux fichiers (le bouton Both Files dans la documentation) vous donne
installer.phpet l’archive. Gardez-les ensemble. - Préparez la base chez l’hébergeur. Créez une base MySQL vide et son utilisateur, puis relevez l’hôte, le nom, l’identifiant et le mot de passe. Le chemin dépend de l’hébergeur, cherchez une rubrique « Bases de données » dans l’espace client.
- Envoyez les deux fichiers sur l’hébergement. Déposez-les par FTP ou par le gestionnaire de fichiers dans le dossier du site, qui ne doit contenir qu’eux. La documentation de Duplicator demande une adresse du type
https://votre-domaine/installer.php. - Lancez l’installateur dans le navigateur. Ouvrez cette adresse et renseignez la base de données. L’hôte est souvent
localhost, d’après la documentation, mais demandez à votre hébergeur en cas de doute. Cliquez sur Validate, puis Next. - Indiquez la nouvelle adresse du site. À l’étape de mise à jour, l’installateur propose de saisir le nouveau domaine. C’est là que l’adresse locale est remplacée.
- Testez, puis supprimez les fichiers d’installation. Une fois la migration confirmée, effacez
installer.phpet l’archive du serveur. Duplicator le répète dans sa documentation, car laissés en place, ces fichiers représentent un risque de sécurité.
Cette méthode suit la documentation de Duplicator et le guide d’Infomaniak sur la migration avec cette extension.
Et avec All-in-One WP Migration ?
La logique est plus courte. Un seul fichier à produire, un seul à importer. L’extension exporte le site entier, base de données, médias, thèmes et extensions compris, dans un fichier .wpress, d’après sa fiche officielle.
- Installez All-in-One WP Migration sur le site local puis exportez le site vers un fichier. Gardez le
.wpresssur votre ordinateur. - Installez un WordPress neuf chez l’hébergeur avec l’installateur proposé dans son espace client, puis installez la même extension sur ce site vide.
- Importez le fichier
.wpress. L’écran d’import affiche la taille maximale acceptée. Si votre fichier la dépasse, passez à la méthode manuelle ou demandez à l’hébergeur de relever la limite. - Reconnectez-vous avec les identifiants du site local, puis enregistrez les permaliens, comme dans la liste de vérifications plus bas.
Migrer à la main avec phpMyAdmin, FTP et wp-config.php
La méthode manuelle déplace les mêmes éléments que les extensions, sans intermédiaire. Elle demande plus d’attention, et c’est aussi la plus utile pour comprendre ce qui se passe quand une migration échoue.
- Exportez la base locale. Avec Local, l’onglet Database du site donne accès à l’outil de gestion de la base, d’après la documentation de Local. Avec XAMPP, ouvrez phpMyAdmin, choisissez la base, onglet Export, méthode Quick, puis Go. Si WP-CLI est disponible,
wp db export sauvegarde.sqlproduit le même fichier. - Vérifiez le fichier SQL. Hostinger exige un fichier
.sqlou.sql.zipsans commandeDROP DATABASEouCREATE DATABASE, sansGRANT ALL PRIVILEGESni ligne contenantDEFINER,PROCEDUREouTRIGGER. Les autres hébergeurs ont leurs propres règles, lisez celles du vôtre. - Envoyez les fichiers. Copiez le dossier de WordPress par FTP, sans oublier
wp-content, qui contient thèmes, extensions et médias. Le manuel de WordPress cite aussiwp-config.phpet.htaccess. - Créez la base chez l’hébergeur et importez le SQL. Dans phpMyAdmin, sélectionnez la base vide, cliquez sur Import, choisissez le fichier, puis Go. Chez Hostinger, la base se crée dans la rubrique Databases du site, le chemin varie selon l’hébergeur.
- Mettez à jour
wp-config.php. Modifiez les constantesDB_NAME,DB_USER,DB_PASSWORDetDB_HOSTavec les valeurs de la nouvelle base. Vérifiez aussi que$table_prefixcorrespond au préfixe des tables importées, c’est-à-dire la valeur placée devant leur nom d’après la documentation du fichier. - Remplacez l’adresse locale avec la méthode de la section suivante, puis enregistrez les permaliens.
Les étapes de base suivent le manuel officiel de migration de WordPress et l’aide d’Hostinger sur l’import d’une base.
Remplacer l’adresse locale, l’étape qui casse les sites migrés
WordPress écrit son adresse à deux endroits : dans ses réglages, d’une part, et dans le contenu des articles, de l’autre, où chaque image et chaque lien interne porte l’adresse complète. Remplacer l’une sans l’autre donne un site qui s’ouvre, mais dont les images pointent vers un ordinateur éteint.
Forcer l’adresse du site dans wp-config.php
Si le site en ligne vous renvoie vers l’adresse locale, vous ne pouvez pas modifier Réglages, Général. La documentation de WordPress propose alors de définir les deux constantes WP_HOME et WP_SITEURL dans wp-config.php, avec https:// et sans barre oblique finale. Une fois connecté, retirez ces lignes et corrigez les deux adresses dans l’administration.
Remplacer l’adresse dans le contenu
La documentation de WordPress cite deux outils, l’extension Better Search Replace et WP-CLI. Ne remplacez jamais l’adresse à la main dans le fichier SQL : certaines valeurs sont sérialisées, elles contiennent la longueur du texte, et un simple chercher-remplacer les corrompt.
En ligne de commande, WP-CLI traite ces données correctement. Lancez d’abord une simulation, adaptée à votre adresse locale :
wp search-replace 'http://localhost/mon-site' 'https://votre-domaine.fr' --skip-columns=guid --dry-run
Si le rapport affiche des remplacements cohérents, relancez la même commande sans --dry-run. La documentation de WP-CLI recommande cette simulation et une sauvegarde de la base avant l’opération réelle.
La documentation de WordPress est formelle : ne modifiez jamais le contenu de la colonne GUID. Ces identifiants doivent rester identiques pour que les lecteurs de flux fonctionnent, d’où l’option --skip-columns=guid dans la commande.
Le certificat HTTPS vient de l’hébergeur. S’il n’est pas encore actif, remplacez l’adresse par http:// au départ, puis refaites l’opération une fois le certificat installé.
Que vérifier quand le site s’affiche enfin en ligne ?
Un site qui s’ouvre n’est pas un site migré. Passez cette liste avant d’annoncer quoi que ce soit.
- Les permaliens. Ouvrez Réglages, Permaliens. Le simple fait d’afficher l’écran régénère les règles de réécriture, d’après la documentation de WordPress. Si WordPress ne peut pas écrire dans
.htaccess, il affiche les lignes à y copier. - Les images et les liens internes. Ouvrez au moins un article et une page, et survolez un lien : aucune adresse ne doit contenir le nom de votre site local.
- La case « Dissuader les moteurs de recherche d’indexer ce site », sous Réglages, Lecture. Cochée, elle demande aux moteurs de ne pas indexer le site sans en bloquer l’accès, et la documentation de WordPress précise que les moteurs peuvent l’ignorer. Décochez-la pour que le site puisse apparaître dans les résultats.
- Les fichiers d’installation. Supprimez
installer.phpet l’archive si vous avez utilisé Duplicator. - Le mode de débogage. Si vous avez activé
WP_DEBUGpendant la migration, remettez-le àfalse, sa valeur par défaut. - Une sauvegarde du site en ligne, maintenant qu’il contient les bonnes données. Reprenez la méthode du guide cité plus haut.
Page blanche, erreur de base, images cassées, que faire ?
Les échecs de migration suivent presque toujours le même schéma. Le symptôme désigne l’étape à reprendre.
| Symptôme | Étape à reprendre | Correction |
|---|---|---|
| Message d’erreur de connexion à la base de données | Identifiants dans wp-config.php | Revérifiez DB_NAME, DB_USER, DB_PASSWORD et DB_HOST : l’hôte n’est pas toujours localhost chez l’hébergeur. |
| Le site renvoie vers l’adresse locale | Adresse du site | Définissez WP_HOME et WP_SITEURL dans wp-config.php. |
| Images ou liens cassés dans les articles | Remplacement dans le contenu | Relancez wp search-replace ou Better Search Replace. |
| Accueil visible, pages internes en erreur 404 | Permaliens | Ouvrez Réglages, Permaliens et enregistrez, ou recopiez les règles dans .htaccess. |
| Page blanche | Version de PHP ou extension incompatible | Activez temporairement WP_DEBUG pour afficher l’erreur, puis comparez la version de PHP avec celle de votre site local. |
Dans les cinq cas, la base importée reste intacte et on corrige un réglage ou une adresse, on ne recommence pas toute la migration.
Questions fréquentes
Mon site est trop lourd pour l’extension, que faire ?
Vérifiez d’abord la limite d’envoi de votre hébergeur, car c’est elle qui bloque, pas l’extension. Duplicator annonce des sauvegardes de taille illimitée grâce à un moteur par morceaux, et la méthode manuelle n’a aucun plafond d’extension, seulement celui de phpMyAdmin et du FTP.
Faut-il changer le préfixe de tables wp_ en migrant ?
Non. Le préfixe est la valeur placée devant le nom des tables, définie par $table_prefix dans wp-config.php. Il doit simplement correspondre à celui de la base importée, sans quoi WordPress ne retrouve pas ses tables.
La méthode est-elle la même depuis XAMPP ou WordPress Studio ?
Oui, car dans les deux cas vous déplacez des fichiers et une base de données. Avec XAMPP, le compte root sans mot de passe est un réglage local. Ne le reprenez jamais dans le wp-config.php du site en ligne.
Que faire du site local une fois en ligne ?
Gardez-le comme bac à sable pour tester une mise à jour ou un thème avant de l’appliquer en ligne. Rappelez-vous qu’il ne se met plus à jour tout seul. Une modification faite en ligne n’apparaît pas en local, et inversement.
Notre verdict
Pour migrer un site WordPress local en ligne sans y laisser la soirée, prenez Duplicator : il gère l’archive, la base et le remplacement d’adresse dans le même assistant, et n’annonce pas de plafond de taille. All-in-One WP Migration convient à un petit site, à condition de lire la limite d’import de votre hébergeur avant de commencer.
Gardez la méthode manuelle en réserve. Elle est plus longue, mais c’est elle qui sauve une migration quand l’extension bute, et elle apprend où WordPress range ses adresses. Quelle que soit la méthode, trois gestes décident du résultat : remplacer l’adresse proprement, enregistrer les permaliens, supprimer l’installateur.



