J’ai récemment été confronté à un événement qui soulevait un problème technique. Dans le cadre du changement de nom d’une entreprise, le changement du nom de domaine peut s’avérer compliqué. Le site était sous WordPress. Fort heureusement le site était hébergé sur un VPS. La partie DNS / Serveur fut donc simple, il a fallu ajouter un Vhost. Jusqu’ici rien de très compliqué. Mais comment migrer son site WordPress vers un nouveau nom de domaine ? Je vais vous expliquer comment.
Je vais délibérément zapper la partie serveur, puisque cela dépend de chacun. Je considère donc que votre domaine pointe bien vers votre serveur où est hébergé le site. Si vous rencontrez un problème à ce niveau là, n’hésitez pas à commenter. Je vais uniquement m’attaquer à la partie WordPress.
Etape n°1 : Préparez vos redirections 301
Dans le cadre du changement de domaine d’un site WordPress, et pour des problématiques SEO, il est important de préparer ses redirections 301. Ces redirections sont à définir dans le fichier .htaccess. Cela va permettre aux visiteurs essayant d’accéder à l’ancien domaine d’être redirigés vers le nouveau.
Pour ce faire, rien de plus simple :
RewriteCond %{HTTP_HOST} ^anciendomaine.com [NC]
RewriteRule ^/?(.*) http://www.nouveaudomaine.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^www.anciendomaine.com [NC]
RewriteRule ^/?(.*) http://www.nouveaudomaine.com/$1 [L,R=301]
Ce bout de code va permettre de rediriger tous ceux essayant d’accéder à l’ancien domaine vers le nouveau domaine. Bien entendu le code est à adapter ! Dans mon exemple, je force l’accès en www et le site en http. Cela redirigera TOUTES les URLs. Par exemple, si quelqu’un essaye d’accéder à l’URL www.anciendomaine.com/ma_page_1/ vers www.nouveaudomaine.com/ma_page_1/.
4 petites lignes qui vont donc faire un super travail !
Etape n°2 : Changez le domaine dans votre panneau d’Administration
Ca y est, c’est l’heure de migrer le site. Si vous avez beaucoup de trafic, je vous suggère de faire ça le soir, voire la nuit. En effet on est jamais à l’abri d’un problème technique.
Il va donc falloir modifier l’URL du site dans la base de données. Inutile de vous connecter à votre phpMyAdmin. Rendez-vous dans votre panneau d’administration WordPress, allez dans Réglages -> Général. De là, vous avez 2 cases à modifier :
- Adresse web de WordPress (URL)
- Adresse web du site (URL)
Dans ces 2 cases vous verrez votre ancien domaine, remplacez simplement les 2 URLs par celles de votre nouveau domaine, puis cliquez sur Enregistrer les modifications en bas de page.
Normalement, vous allez être redirigé vers votre page de connexion (WP Login). C’est normal, le domaine ayant changé, votre cookie qui permet de garder votre session active n’est plus valable, il s’agit pour votre navigateur d’un nouveau site internet. Connectez-vous et tout devrait bien se passer.
Etape n°3 : Vérifiez que tout marche bien
Premièrement, vérifiez que tout marche bien, que ce soit l’Administration WordPress que votre Front End. Normalement, vous n’avez pas grand chose à faire de plus rassurez-vous.
Appliquer les redirections 301 que nous avons vu précédemment dans votre fichier .htaccess.
Etape n°4 : Modifiez les URLs dans votre base de données
Beaucoup de liens internes doivent être restés avec l’ancien domaine. Avec nos redirections 301, et si vous conservez votre ancien domaine à vie, ce n’est pas très embêtant. Toutefois il peut être nécessaire malgré tout de modifier ces liens. Dans le contenu de votre site, beaucoup de liens sont en dur, notamment avec les Builders des thèmes Premiums, les Sliders, etcs.
Vos contenus sont malgré tout stockés dans votre base de données. Pour faire cette modification en 1 clic, ajoutez l’extension Search & Replace à votre WordPress. Cette extension va vous permettre de remplacer des chaines de caractères dans toutes les tables de votre base de données.
Une fois l’extension installée et activée, rendez-vous dans Outils -> Search & Replace. Vous devez aller dans le second onglet nommé lui aussi Search & Replace. Enfin, remplissez ces deux champs :
- Search for:
- Replace with:
Cliquez également sur Select all tables. Je ne vous fait pas de dessin, en claire ça doit ressembler à ça pour éviter toute erreur ou oubli :
N’oubliez pas de faire une sauvegarde de votre base de données avant, ce n’est pas que je n’ai pas confiance en vous, mais comme on dit : “sait-on jamais”. Rassurez-vous il serait tout à fait possible de revenir en arrière (voir cet outil). Cliquez enfin sur Do Search & Replace.
Si jamais certains liens n’ont pas été modifié, vous allez devoir le faire à la main dans chacun de vos pages ou Widget.
C’est terminé, vous avez migré votre WordPress vers un nouveau domaine
Voilà, félicitation, vous avez migré votre site WordPress vers votre nouveau domaine ! Vous pouvez être fiers de vous, tapez vous dans la main et allez vous coucher (puisque normalement vous avez fait ça le soir).
Certains font des bidouilles uniquement via la la base de données. Personnellement ma base de données n’est pas accessible via PhpMyAdmin pour des raisons de sécurité, donc chacun se méthode. Je trouve que lancer des commandes SQL comporte un risque (humain). Si la mienne vous plaît (ou pas), n’hésitez pas à le faire savoir en commentaire 🙂 !
Précautions à prendre
Voici un petit bonus, quelques problèmes que vous pourriez rencontrer :
- Plugin Google reCaptcha : Ce plugin est superbe, mais attention ! En changeant de domaine, votre API ne fonctionnera plus. Tous vos formulaires seront donc défaillants, vous ne pourrez plus vous connecter, plus personne ne pourra commenter votre blog, etc. Pensez bien une fois la migration effectuée à re-générer vos clés Google reCpatcha.
Bonjour,
Merci beaucoup pour votre article 😉
Je voulez vous poser une question car j’ai peur de faire une bêtise sur mon site 🙁 ,
j’ai récemment passer mon site en http vers https, j’ai donc fais une redirection 301 avec ce bout de code:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.monnouveausitevershttps.com/$1 [R=301,L]
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
J’ai donc également inscrit une nouvelle propriétés dans Search Consol,
Mais je voudrais changer de nom de domaine pour un nouveau, comment puis je faire cela sans avoir de “Duplicate content” ??
Je vous remercie d’avance pour votre soutient et votre réponse,
A bientôt 😉
Bonjour Elodie, comme je vous le disais via Facebook, vous avez 2 solutions : soit votre registrar vous permet de faire une redirection générale de votre ancien domaine vers le nouveau, du coup c’est très simple. Soit vous devrez créer une redirection 301 depuis votre .htaccess de l’ancien domaine vers le nouveau. Êtes vous hébergé chez OVH ?
Bonjour,
Merci pour votre réponse, oui je suis chez OVH
que dois-je faire?
Je vous suggère de suivre leur documentation : https://docs.ovh.com/fr/domains/redirection-nom-de-domaine/
Normalement elle est très complète. n’hésitez pas à me tenir informé.
Je vous remercie
Bonjour,
J’écris pour un petit conseil. Je me suis fait hacker mon site et j’ai complètement disparu des recherches Google. J’ai fait les démarches pour essayer de me faire à nouveau référencer mais ça ne marche pas vraiment. Je comptais en profiter pour changer de site internet (je suis photographe et j’aimerais désormais travailler sous mon nom propre, alors qu’avant j’avais un nom de studio).
Si je change simplement de nom de domaine, est-ce que ma nouvelle adresse pourra être référencée ou c’est le contenu qui est complètement bloqué ? Dans ce cas dois-je plutôt repartir de zéro, avec un nouveau site et ré-éditer tout le contenu ?
Bonjour Linda, j’ai regardé votre site, en effet vous avez été très fortement piraté, il y a eu énormément de pages spams. 2 solutions : si votre ancien site n’avait pas beaucoup de backlinks, recréer un site avec le même contenu (sans les pages spams) sur un nouveau domaine suffira. Sinon, si vous aviez beaucoup de liens ce sera + compliqué, il faudra faire des redirections 301. J’attends votre réponse 🙂
Bonjour Guillaume, j’ai un énorme souci! A partir de l’étape 2 j’ai enregistré le changement d’adresse et au lieu de tomber sur la page Login, je suis tombée sur une page OVH qui me félicite d’avoir créé mon nom de domaine. Je ne peux plus retrouver la page Login de worpress. Cela fait des heures que je cherche de l’aide sur le web et je ne trouve pas de solution à mon problème.
Entre temps je suis retournée sur le site d’OVH pour supprimer la demande de redirection en pensant que le problème venait de là. Rien n’a bougé, toujours cette fichue page de Félicitations d’OVH. Je suis en panique! Je ne peux plus rien faire…
S’il-vous-plaît, aidez-moi.
Merci d’avance,
Cordialement
Re bonjour Guillaume,
Cela fait des heures que je cherche sur le web une solution à mon problème alors me revoilà.
Donc: J’ai un site wordpress avec elementor en builder. Mon nom de domaine est chez OVH. J’en avais pris un il y a plusieurs mois mais il ne convenait plus alors j’en ai commandé un autre. J’ai suivi pas à pas ce tuto: https://youtu.be/Y_KlnbmV54E puis le votre.
Seulement voilà, à l’étape 2 je me suis retrouvée avec une page de félicitations de la part d’OVH comme quoi mon nom de domaine avait bien été changé et non, comme expliqué, sur ma page admin pour me reconnecter.
Je suis retournée sur OVH et j’ai regardé de plus près. Je n’avais pas encore mis mon nouveau NDD en domaine principal, ni rien du tout.
Première bêtise? Suite à ça je me suis retrouvée avec des pages obscures comme le plan de mon site par exemple, mais impossible de cliquer dessus. Puis sur la page administrateur de mon site. Là j’ai crié HOURAAAAH, mais en fait je ne pouvais rien cliquer, ça me rebasculait sur une page « Not found »)
Puis en fouillant un peu je me suis dis qu’il fallait aussi que je configure l’onglet Multisite, que je désactive l’ancien nom de domaine, que j’active le SSL sur le nouveau…
J’ai également suivi le conseil de redirection bien que mon affaire ne fonctionnait déjà pas comme il faut. A mon avis, j’ai fais n’importe quoi et j’ai juste envie de me taper la tête avec une casserole.
Depuis, je me retrouve avec une page blanche Index sinon avec une page « admin » qui ne ressemble en rien à celle que j’avais l’habitude de voir chez worpress (voir copies d’écran). Et le plus drôle, c’est que lorsque j’essaye de me connecter, ça ne reconnaît rien.
J’ai alors essayé de me connecter via ce lien: https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fwordpress.com%2Fwp-admin%2F
Et toujours rien, ça ne me reconnaît pas.
J’ai passé des mois sur la conception de mon site, le SEO, etc. j’ai vraiment peur d’avoir tout perdu et je ne sais vraiment plus quoi faire pour configurer les choses normalement. Je n’y comprend rien, les termes me paraissent obscurs, je ne sais pas coder… Bref je suis dans la mouise.
Pitié, aidez-moi.
Bien cordialement
Hello, alors premièrement non je pense que vous n’avez rien perdu le site (fichiers et BDD) sont toujours là. Peut-être un problème de cache voire de temps normal pour la propagation DNS ? Vous avez vu avec le support OVH ?
Ca faisait quelques temps que je n’avais pas fait ce genre d’opération. Merci pour le mémo Guillaume. Nickel. Et surtout merci pour le petit rappel Google Recaptcha. Il me semble d’ailleurs qu’on peut ajouter d’autres éléments.
Par exemple, changer aussi l’e-mail de l’admin (qui a probablement désormais un nouvel e-mail type admin@nouveau-domaine.com) ; toujours dans les e-mails, changer les destinataires des messages envoyés par les formulaires de contact ; penser à réactiver les licences de vos plugins qui ont tendance à “sauter” (normal puisqu’on change de domaine) ; et sûrement encore plein d’autres petits gestes post-opératoires à ne pas oublier 🙂
Hello, merci pour ces conseils, par contre ça dépend des cas.
Salutations !
J’ai suivi pas mal de tes conseil pour migrer mon site d’un hébergeur + nom de domaine gratuit vers un nomdedomaine.site
Lorsque j’accède au panel d’admin WP sur ma nouvelle adresse, pas de soucis c’est bien monnomdedomaine.site/wp-admin
Par contre lorsque je me rends sur la page d’accueil de monnomdedomaine.site, il me renvoie sur l’URL gratuite que j’avais avant.
Comment ça se fait ?
Après avoir utilisé le script Interconnectit il m’a mis à la fin *2: Erroneous data format for unserializing ‘WP_User’ in /home/www/mondomaine.site/migrer/srdb.class.php on line 744*
je comprends pas pourquoi je me retrouve à nouveau sur mon ancienne URL plutôt que la nouvelle, j’ai loupé une étape ?
Merci d’avance !
Hello, alors là sans avoir la main, truc tout bête : supprimes ton cache navigateur, on sait jamais.
Sinon, c’est sûrement que l’URL de ton site n’a pas bien été modifiée dans ta base de données. Tu dois donc y accéder via phpMyAdmin (fournit par ton hébergeur) et modifier manuellement. Voici un excellent tuto de Kinsta : https://kinsta.com/fr/base-de-connaissances/changer-url-wordpress/#wordpress-url-database
Si ça ne fonctionne pas, contactes moi en privé via mon formulaire de contact. Il te faudra me fournir tes ID FTP et phpMyAdmin par contre.
Bonne soirée.
Eh beh… ça fait bientôt 4h que je me coltine tous les tutos dans toutes les langues pour trouver le pourquoi du comment et finalement, comme tu l’as si bien dit, fenêtre privée et truc tout bête, supprimer le cache navigateur.
Tout est rentré dans l’ordre, merci pour cet infime détail que j’aurai mis 2 jours à trouver ! ;D
Tant mieux ! Honnêtement c’est un classique 🙂
Bonjour. Je ne sais pas comment faire ! Pourriez-vous me conseiller ? ????
Je dois refaire le site internet de ma structure, en utilisant WordPress. Mais ma structure dispose déjà d’un site Internet qui est en ligne (il n’a pas été réalisé sous Worpress ; la gestion de son nom de domaine et son hébergement sont confiés à l’agence de communication qui l’a créé). L’objectif est que :
> l’ancien site reste publié (et ne soit pas perturbé) jusqu’à ce que le nouveau site soit prêt, donc avec le nom de domaine déjà en ligne
> quand le nouveau site Internet sera prêt, il devra prendre le nom de domaine de l’ancien site.
Est-ce possible ? Faut-il que j’achète un nom de domaine (avec son hébergement) qui sera provisoire le temps de préparer le nouveau site ? s’il est possible de changer dans WordPress quand le nouveau site sera terminé ?
Merci beaucoup !
Bonjour ! Alors, il vous est possible de développer un nouveau site WordPress en local, sans avoir besoin de prendre un hébergement. Pour cela, il existe notamment Local by Flywheel : https://localwp.com/
Une fois le nouveau site terminé, il “suffira” de le transférer sur l’hébergement (relié au nom de domaine). Ce sera donc quasiment invisible pour les internautes.
Bonjour
Pour développer en local qu’apporte https://localwp.com/ de plus par rapport à une installation WP sur serveur MAMP, WAMP ou Xampp ?
Bonjour, c’est techniquement + simple à faire fonctionner 🙂
Bonjour,
Je souhaite changer mon site AAAA.fr par YYYY.com (hebergé chez LWS)
J’ai tout suivi à la lettre et ça ne fonctionne pas.
étape 2 : lorsqu’on change le nom de domaine dans la page des réglages du site WordPress…plus de site affiché
Normal, cela change les adresses dans wp_options de la base de donnée. mais plus de site*
étape 3 : changement dans le fichier .htaccess… pas mieux toujours pas connecté
De ce fait, je reviens en arrière, et je modifie, d’abord tout sur la base de données avec le plugin.
puis je change l’adresse et le htaccess… toujours rien plus de site
Si je tape AAAA.fr ça me renvois bien sur YYYY.com mais j’ai toujours ce message
* “Safari ne parvient pas à ouvrir la page YYYY.com, car safari ne parvient pas à trouver le serveur YYYY.com
Pas mieux si je vais ajouter dans wp_config
define(‘WP_HOME’,’http://yyyy.com’);
define(‘WP_SITEURL’,’http://yyyyc.com’);
Là je rame et désespère…
Merci de me lire
Hello, attention le nouveau domaine doit bien être configuré sur le serveur / hébergeur, je pense que le problème vient de là. Normalement, si tu essayes d’accéder à ton nouveau domaine, il doit à minima rediriger automatiquement vers l’ancien. Sinon c’est qu’il est mal configuré.
Merci pour la réponse. En fait si ‘jécris aaaa.com/pagescouleur ça redirige bien sur yyyy.com/pagescouleur mais ça reste vide avec le même message de serveur non trouvé.
mais si je tape yyyy.com il ne peut forcement rediriger vers l’ancien domaine aaaa.fr puisque toutes les http://aaaa.fr ont été changées dans la BDD
Dans ce cas peux-tu me transmettre via ma page contact les URLs de tes 2 domaines ? Merci, car j’ai besoin de plus de détails.
Bonjour ! J’ai suivi le tutoriel sauf qu’au moment de valider le changement d’adresse du site dans wordpress, je me suis retrouvée sur une page 404 not found, et maintenant je ne trouve plus mon site ni sur le nouveau domaine qui m’affiche un menu déroulant avec des dossiers, ni sur l’ancien domaine qui redigie sur le nouveau. Je ne peux plus me connecter non-plus à wordpress car quand j’écris nomdedomaine.com/wp-admin il me dit 404 not found, pour les deux domaines ( l’ancien et le nouveau ). Je n’ai plus aucun accès à mon site, je ne sais même pas s’il existe encore. Savez-vous ce que je peux faire ? Je suis un peu désespérée, mon ancien domaine expire dans 3 jours. J’ai peur qu’il disparaisse avec les données du site.
Merci beaucoup !
Bonjour, le site semble être dans le répertoire : http://lyellephotostudio.com/www/ personnellement je le trouve ici : https://lyellebouchet.com/
Bonjour, merci pour votre réponse ! Oui maintenant ça me met ça mais ce n’est pas le bon site malheureusement, le site dans le répertoire www c’est un autre site qui n’a rien à voir /: … J’ai deux sites internet, un pour mon portfolio scolaire et un pour mon entreprise de photographie. Ca m’affiche mon portfolio pour les cours sur le lien de mon site entreprise, alors que ce n’est pas ce site-là qui est mon site photo, et le site photo est totalement introuvable ! Je ne sais pas pourquoi ça s’est mélangé à mon portfolio lyellebouchet.com alors que le site de mon entreprise est lyellephotographie.fr et que j’ai changé le domaine en lyellephotostudio.com …
Le mieux dans ce cas là est de demander au support client de votre hébergeur.
Bonjour
J’ai développé mon site WP en local avec flywheel je suis prêt à migrer chez l’ hébergeur.
Ma question: à la souscription chez lui je dois indiquer le nom de domaine choisi.
En local, mon-site.local >> mon-site.fr. Comment cela se passera t il ? Vais je retrouver
Mon site avec le nouveau domaine et mes permanents convertis où je vais devoir intervenir
(Avant ou après ).
A cette occasion peut on changer le nom de domaine mon-site.local >> monsite.fr?
Merci pour votre aide
Cdt
Hello, alors avec Local by Flywheel c’est “relativement” simple, tu as cette vidéo tuto qui explique tout : https://www.youtube.com/watch?v=2013Oiz6qII
Normalement tu retrouveras donc bien ton site sous l’adresse “monsite.com”. Tu devras bien sûr rediriger ton domaine vers Flywheel.
Merci pour votre rapide réponse. Le plugin de la vidéo est magique et j’ai du mal à y croire au vu ceux que j’avais retenu sur le web:
all in one wp migration, search and replace et duplicator. Plus besoin de fillezila ? tout celà est trop beau.
Néanmoins dans la vidéo il n’y a pas de changement de nom de site et celà est il possible? Si oui quid alors des liens seront ils convertis ?.
Pas compris la re direction vers flywheel , alors que je l’aurai abandonné pour poursuivre mes développements chez l’hébergeur.
Encore merci
cdt