Vous changez de nom de domaine ? Voici les 3 méthodes pour déplacer WordPress : WP-CLI (la plus rapide, 30 secondes), un plugin de migration (sans ligne de commande), ou phpMyAdmin (requêtes SQL directes). Dans tous les cas : sauvegarde d'abord, migration ensuite, checklist de vérification après.
Pas le temps ? Faites-le analyser par l'IA

Un changement de domaine sans sauvegarde préalable est une prise de risque inutile.
Pourquoi changer de nom de domaine WordPress ?
Les raisons sont nombreuses, et ce guide pas à pas couvre chaque cas : rebranding complet, passage d'un sous-répertoire à la racine (monsite.com/wordpress/ → monsite.com), rachat d'un meilleur domaine, ou encore migration d'un environnement de développement vers la production. Le principe reste identique dans tous les cas.
Le point délicat, c'est que WordPress stocke les URL en absolu dans la base de données — pas en relatif. Chaque article, chaque image, chaque lien interne peut pointer vers l'ancien domaine. Il faut donc remplacer ces références partout, pas seulement dans les réglages généraux.
Avant de commencer : vérifiez que votre nouvelle installation WordPress est opérationnelle sur le nouveau domaine, et faites une sauvegarde complète (fichiers + base de données). Sans ça, vous risquez de perdre des données si quelque chose tourne mal.
Méthode 1 : WP-CLI search-replace (la plus rapide)
WP-CLI est l'outil en ligne de commande officiel de WordPress. Si votre hébergeur le propose (O2switch, Infomaniak, Kinsta, WP Engine… oui), c'est de loin la méthode la plus propre et la plus rapide. Une seule commande remplace toutes les occurrences de l'ancien domaine dans toute la base de données, y compris les données sérialisées PHP que phpMyAdmin gère mal.
Connexion SSH et exécution
Connectez-vous en SSH à votre serveur, placez-vous à la racine WordPress, puis lancez :
wp search-replace 'https://www.ancien-domaine.com' 'https://www.nouveau-domaine.com' --all-tables --precise --recurse-objects
Le flag --all-tables scanne toutes les tables (pas seulement les tables core). Le flag --precise gère correctement les données sérialisées. Sans lui, les objets PHP stockés en base peuvent être corrompus après le remplacement.
Pour tester sans appliquer les modifications (mode dry-run) :
wp search-replace 'https://www.ancien-domaine.com' 'https://www.nouveau-domaine.com' --all-tables --precise --recurse-objects --dry-run
Après la commande, videz le cache et régénérez les permaliens :
wp cache flush
wp rewrite flush
Ce que WP-CLI gère que phpMyAdmin ne gère pas
Les données sérialisées sont le vrai problème des migrations manuelles. WordPress stocke certaines valeurs sous forme d'objets PHP sérialisés, par exemple :
a:2:{s:4:"home";s:27:"https://www.ancien-domaine.com";}
Si vous faites un simple search-replace SQL sur cette chaîne, la longueur déclarée (s:27) ne correspond plus à la nouvelle valeur, ce qui casse l'objet. WP-CLI recalcule automatiquement ces longueurs. C'est pour ça que c'est la méthode recommandée si vous avez accès au SSH.
Vous n'avez pas accès au SSH ? Passez à la méthode 2 avec un plugin.
Méthode 2 : Plugin de migration (Duplicator ou All-in-One WP Migration)
Pour ceux qui préfèrent une interface graphique ou qui n'ont pas accès au SSH, les plugins de migration font le travail. Deux options solides :
All-in-One WP Migration
Le plus accessible pour les débutants. Il crée un fichier .wpress contenant l'intégralité du site (fichiers + base de données), puis l'importe sur le nouveau domaine en gérant automatiquement le remplacement des URL.
La procédure :
- Sur l'ancien domaine : Extensions → All-in-One WP Migration → Export → File. Téléchargez le fichier
.wpressgénéré. - Sur le nouveau domaine : installez WordPress (vide), puis All-in-One WP Migration → Import → File. Sélectionnez votre fichier
.wpress. - Confirmez l'écrasement de la base de données existante.
- Une fois l'import terminé, le plugin vous demande de vous reconnecter (les identifiants restent ceux de l'ancien site).
Limite de la version gratuite : 512 Mo. Au-delà, il faut la version payante ou utiliser Duplicator.
Duplicator
Plus technique mais plus flexible, Duplicator crée un package (archive ZIP + installer PHP) que vous déposez sur le nouveau serveur. Pratique pour migrer d'un hébergeur à un autre en même temps que le changement de domaine.
La procédure :
- Duplicator → Packages → Create. Suivez l'assistant, laissez les options par défaut pour un premier essai.
- Téléchargez les 2 fichiers générés :
archive.zipetinstaller.php. - Uploadez-les à la racine du nouveau domaine via FTP.
- Accédez à
https://nouveau-domaine.com/installer.phpet suivez l'assistant. Il vous demande les identifiants de la nouvelle base de données et gère le search-replace des URL. - Supprimez les fichiers
installer.phpetarchive.zipaprès l'installation (impératif pour la sécurité).
Les deux plugins gèrent les données sérialisées correctement. C'est leur force par rapport à un import/export SQL manuel.
Méthode 3 : phpMyAdmin (requêtes SQL directes)

La méthode classique, toujours valide pour les migrations simples. Attention : elle ne gère pas les données sérialisées. Si vous avez des plugins qui stockent des URL dans des champs sérialisés (Elementor, WooCommerce, ACF…), préférez WP-CLI ou un plugin de migration.
Étape 1 : Modifier les réglages généraux depuis le tableau de bord
Si vous avez encore accès à l'ancien tableau de bord, commencez par Réglages → Général et mettez à jour les deux champs " Adresse WordPress " et " Adresse du site " avec le nouveau domaine. Enregistrez.
Alternative via wp-config.php (prioritaire sur les réglages en base) :
define( 'WP_HOME', 'https://nouveau-domaine.com' );
define( 'WP_SITEURL', 'https://nouveau-domaine.com' );

Ces deux constantes ont priorité sur les valeurs en base de données. Pratique si vous avez perdu l'accès à l'admin (par exemple après un changement de domaine raté).
Étape 2 : Requêtes SQL dans phpMyAdmin
Connectez-vous à phpMyAdmin via votre panneau d'hébergement (cPanel, Plesk…), sélectionnez la base de données WordPress, puis allez dans l'onglet SQL. Exécutez ces requêtes l'une après l'autre :
Mettre à jour home et siteurl :
UPDATE wp_options SET option_value = replace(option_value, 'https://www.ancien-domaine.com', 'https://www.nouveau-domaine.com') WHERE option_name = 'home' OR option_name = 'siteurl';
Mettre à jour les GUID des articles (identifiants uniques) :
UPDATE wp_posts SET guid = replace(guid, 'https://www.ancien-domaine.com', 'https://www.nouveau-domaine.com');
Mettre à jour les liens dans le contenu des articles :
UPDATE wp_posts SET post_content = replace(post_content, 'https://www.ancien-domaine.com', 'https://www.nouveau-domaine.com');
Mettre à jour les métadonnées :
UPDATE wp_postmeta SET meta_value = replace(meta_value, 'https://www.ancien-domaine.com', 'https://www.nouveau-domaine.com');
Note sur le préfixe de table : l'exemple utilise wp_ (préfixe par défaut). Si votre installation utilise un préfixe différent (visible dans wp-config.php, paramètre $table_prefix), adaptez chaque requête en conséquence.
Étape 3 : Utiliser le plugin Search & Replace en complément

Le plugin Search & Replace complète bien phpMyAdmin pour les tables que vous auriez oubliées. Dans " Search for " mettez l'ancien domaine, dans " Replace with " le nouveau. Cochez au minimum les tables options, posts et postmeta.
Utilisez " Dry Run " d'abord pour vérifier le nombre de remplacements prévus avant d'appliquer.
Déplacer WordPress d'un sous-répertoire vers la racine
Cas particulier : vous avez WordPress installé dans monsite.com/wordpress/ et vous voulez qu'il réponde à monsite.com. La procédure est différente — on ne change pas de domaine, on change seulement l'emplacement.
Via Réglages → Général
Dans " Adresse web de WordPress " laissez monsite.com/wordpress/ (l'emplacement des fichiers). Dans " Adresse web du site " mettez monsite.com (l'URL publique). Enregistrez.
Via FTP : copier index.php et .htaccess
Via FTP, copiez le fichier index.php et le fichier .htaccess depuis le dossier wordpress/ vers la racine du site. Modifiez ensuite index.php à la racine :
// Remplacer :
require('./wp-blog-header.php');
// Par :
require('./wordpress/wp-blog-header.php');
L'administration reste accessible sur monsite.com/wordpress/wp-admin/. Seule l'URL publique du site change.
Checklist post-migration
Une fois la migration terminée, ne sautez pas ces étapes. Chacune peut être la source d'un problème invisible si vous l'oubliez.
DNS et propagation
Si le nouveau domaine pointe vers un nouvel hébergeur, la propagation DNS prend entre 1 heure et 48 heures selon les registrars. Utilisez dnschecker.org pour vérifier que la propagation est effective dans votre zone géographique avant de tester le site.
Pour savoir comment choisir un hébergement adapté à votre projet, consultez notre guide sur le choix d'hébergement WordPress.
SSL / HTTPS
Générez ou installez un certificat SSL sur le nouveau domaine. Sur la plupart des hébergements mutualisés modernes, Let's Encrypt est disponible gratuitement en un clic depuis le panneau d'administration.
Après activation, passez WordPress en HTTPS : mettez à jour les deux URL dans les réglages, forcez HTTPS dans le .htaccess, et vérifiez qu'aucune ressource ne se charge encore en HTTP (mixed content).
Permaliens
Allez dans Réglages → Permaliens et cliquez sur " Enregistrer les modifications " sans rien changer. Cela régénère le fichier .htaccess avec les nouvelles règles de réécriture. Si vous ne faites pas ça, toutes les URLs autres que la page d'accueil renverront probablement des erreurs 404.
Cache
Videz tous les niveaux de cache : plugin de cache WordPress (LiteSpeed Cache, W3 Total Cache, WP Rocket…), cache CDN si vous en utilisez un, et cache Cloudflare si applicable. Un cache non vidé peut continuer à servir des pages pointant vers l'ancien domaine pendant des heures.
Search Console
Ajoutez le nouveau domaine dans Google Search Console et soumettez votre sitemap (https://nouveau-domaine.com/sitemap_index.xml en général pour Yoast). Si vous abandonnez complètement l'ancien domaine, configurez des redirections 301 de l'ancien vers le nouveau — Google transfère le " jus SEO " via les 301.
Pour un changement d'adresse officiel, utilisez l'outil " Changement d'adresse " dans Search Console (Settings → Change of address).
Liens internes et médias
Faites une vérification rapide : ouvrez 3 à 5 articles au hasard, cliquez sur les liens internes, vérifiez que les images s'affichent. Si des images sont cassées, relancez le search-replace sur la table wp_postmeta (les chemins d'images sont souvent stockés en absolu dans _wp_attached_file et _wp_attachment_metadata).
Sécurité post-migration
Après une migration, pensez à sécuriser votre installation WordPress : changez les identifiants de base de données si vous avez utilisé les mêmes que sur l'ancien hébergeur, mettez à jour les clés secrètes dans wp-config.php (générateur officiel : api.wordpress.org/secret-key/1.1/salt/), et vérifiez les permissions des fichiers.
FAQ — Déplacer WordPress vers un nouveau domaine
Mes liens internes pointent encore vers l'ancien domaine après la migration, pourquoi ?
Plusieurs causes possibles. Soit le search-replace n'a pas couvert toutes les tables (vérifiez wp_postmeta et les tables de plugins comme woocommerce ou elementor). Soit vous avez des données sérialisées que phpMyAdmin a mal traitées — la longueur des chaînes ne correspond plus. La solution la plus fiable : relancez la migration avec WP-CLI (wp search-replace avec --precise) ou avec le plugin Better Search Replace qui gère les données sérialisées.
Est-ce que je perds mon référencement en changeant de domaine ?
Pas si vous mettez en place des redirections 301 depuis l'ancien domaine vers le nouveau. Google transfère l'autorité via ces redirections, mais le processus prend entre quelques semaines et plusieurs mois selon l'âge du site et le volume de pages. Utilisez l'outil " Changement d'adresse " dans Google Search Console pour accélérer la prise en compte. Gardez les redirections actives au minimum 1 an, idéalement de façon permanente.
Comment migrer WordPress d'un hébergeur à un autre en même temps que le changement de domaine ?
La procédure combine la migration de fichiers et le changement d'URL. Utilisez Duplicator ou All-in-One WP Migration qui font les deux en une seule opération. L'article comment migrer WordPress depuis un environnement local vers un hébergeur détaille la procédure pas à pas, applicable aussi d'hébergeur à hébergeur.
Je n'ai plus accès à l'admin WordPress après le changement de domaine, comment faire ?
Ajoutez ces deux lignes dans wp-config.php (via FTP) au-dessus de la ligne " stop editing " :
define( 'WP_HOME', 'https://nouveau-domaine.com' );
define( 'WP_SITEURL', 'https://nouveau-domaine.com' );
Ces constantes ont priorité sur les valeurs en base de données. Une fois l'accès rétabli, mettez à jour les URL en base via phpMyAdmin ou WP-CLI, puis supprimez ces lignes du wp-config.php.
Faut-il modifier le fichier wp-config.php lors d'un changement de domaine ?
En général non, sauf si vous utilisez des constantes WP_HOME ou WP_SITEURL qui définissent l'URL en dur. Si c'est le cas, mettez-les à jour avec le nouveau domaine. Le reste du wp-config.php (identifiants base de données, préfixe de table, clés secrètes) n'a pas besoin de changer tant que vous restez sur le même hébergeur. Si vous changez d'hébergeur, les identifiants de base de données doivent être mis à jour.
Ces 7 templates, je les donne en formation payante. Ici, ils sont gratuits.
Sécurité, SEO, performance, contenu, maintenance — les outils que j'utilise en formation et en audit, avec les prompts IA pour aller 10x plus vite.
- 01Workflow contenu anti-IA
- 02Framework SEO Title/Meta/H1
- 03Audit Express 30 points
- 04Blindage sécurité 10 étapes
- 05PageSpeed 90+ sans plugin
- 06Calendrier maintenance IA
- 07Plan d'action 90 jours
1 email / 2 jours pendant 14 jours. Désabonnement en 1 clic.
Analyser avec l'IA
Partager

