Htaccess : redirection d’un domaine vers un nouveau domaine
Garder son référencement lors d’un changement de nom de domaine
Si vous souhaitez changer de nom de domaine, il est préférable de rediriger toutes les anciennes pages de votre site internet vers le nouveau nom de domaine. Le code de redirection permanente (301) devra être utilisé pour indiquer aux moteurs de recherche que l’URL des anciennes pages est changée de façon définitive. Ceci permettra aux moteurs de recherche et à Google en particulier de transférer tout votre ancien référencement naturel vers vos nouvelles URLs.
La technique utilisée pour réaliser une redirection 301 sur la totalité des pages de votre ancien domaine est basée sur des instructions Apache (Mod Rewrite) placées dans un fichier .htaccess à la racine de votre serveur web.
Cas 1 : changement de nom de domaine
Dans le cas d’un changement de nom de domaine, la procédure consiste à rediriger la totalité des requêtes effectuées sur une ancienne URL vers le nouveau nom de domaine.
Placez le code ci-dessous dans un fichier .htaccess à la racine de votre hébergement, celui-ci effectuera une redirection si le domaine utilisé correspond à l’ancien domaine :
#Redirection de l'ancien nom de domaine
RewriteCond %{HTTP_HOST} ^(?:www\.)?ancien-domaine\.com [NC]
RewriteRule ^/?(.*) http://www.nouveau-domaine.com/\ [L,R=301]
Cas 2 : changement de nom de domaine et / ou de sous-domaine
Dans le cas du changement de domaine associé à un sous-domaine ou bien d’un simple changement de sous-domaine, le code ci-dessous permettra d’effectuer le même type de redirection que précédemment :
#Redirection de l'ancien sous-domaine
RewriteCond %{HTTP_HOST} ^sous-domaine.ancien-domaine.com [NC]
RewriteRule ^/?(.*) http://sous-domaine.nouveau-domaine.com/\ [L,R=301]
Enfin, sachez qu’il est également possible via la Search Console de Google (anciennement Webmaster Tools)de lancer une procédure de changement de nom de domaine, ce qui devrait diminuer sensiblement le temps de transfert de votre ancien référencement naturel.
En cas de doute et pour garantir que cette opération critique se déroulera sans encombre, faîtes appel à notre agence qui vous accompagnera au travers d’un Audit SEO ou d’une mission de référencement sur mesure.
Note concernant la variable %{HTTP_HOST} : si celle-ci n’est pas reconnue sur votre serveur d’hébergement, tentez d’utiliser %{HTTP:Host} à la place.
Autoriser les fichiers .htaccess en local
Lorsque l’on développe en local avec les logiciels Wampserver sous Windows ou encore MAMP sous Max OS X, les fichiers .htaccess ne fonctionnent pas avec l’installation par défaut. Le plus souvent, le serveur renvoie un code d’erreur 500.
La raison est simple, le module rewrite d’Apache n’est pas activé par défaut, pour l’activer il suffit d’éditer le fichier de configuration d’Apache (httpd.conf).
Sous Wampserver, il se trouve dans : Program Files\wamp\bin\apache\Apache2.2.11\conf.
Pour activer le module rewrite, remplacez la ligne :
#LoadModule rewrite_module modules/mod_rewrite.so
Par :
LoadModule rewrite_module modules/mod_rewrite.so
Redémarrez en suite vos services afin que la modification soit prise en compte 😉
Merci ça marche à merveille !
Petite question, le fichier .htaccess doit être placé sur l’ancien site ? À quel moment supprimer l’ancien site avant, au moment du lancement du nouveau ou quelque temps après ?
Le fichier .htaccess doit être placé sur l’ancien site, il faut le laisser en ligne aussi longtemps que possible jusqu’à que tous les moteurs aient bien pris en compte ce changement.
Très bon code mais là on ne s’embarasse pas avec le détail. Si vraiment on veut garder tout le référencement je préconise plutôt de rediriger page à page. C’est à dire une 301 depuis une URL source profonde de l’ancien domaine vers une URL profonde du nouveau domaine.
Et là on est au top 😉
Bonjour,
Cela fonctionne pour un site sous https ?
Je viens de changer nom de domaine, l’ancien NDD était déjà en https
Merci
@Er.V : %{HTTP_HOST} retourne le nom d’hôte sans inclure le protocole. En d’autres termes, lors d’un appel sur un domaine en HTTP ou en HTTPS, %{HTTP_HOST} retournera la même valeur. Donc oui, cela doit fonctionner pour un nom de domaine en HTTPS.
Bonjour,
j’ai un soucis je veux faire une redirection d’un domaine .com vers. org, j’aimerais savoir comment procéder.
Il vous suffit d’utiliser la règle de réécriture du cas n°1 présentée dans l’article 😉
Bonjour, j’ai pensé que le 2eme cas fonctionnerai mais cela n’est pas le cas…
je souhaite rediriger mon site : site.fr vers https://www.site-site.fr
Comment dois-je procéder ?
Merci
Bonjour, normalement ceci devrait faire l’affaire (à placer sur le serveur de site.fr) :
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site.fr [NC]
RewriteRule ^(.*)$ https://www.site-site.fr/$1 [L,R=301]
Bonjour,
La redirection permet d’assurer une correspondance des pages de manière automatique ou simplement redirige toutes les URLS vers la nouvelle home ?
Perso je souhaiterai que le jus soit conservé et que la redirection se fasse de manière transparente exemple :
www.anciendomaine.tld/page1/ ---> www.nouveaudomaine.tld/page2/
Pour rediriger une URL en particulier, vous pouvez utiliser une règle de redirection :
RewriteRule ^page1/[\/]?$ http://www.nouveaudomaine.tld/page2/ [L,R=301]
bonjour,
Est ce qu’il est possible de rediriger un blog vers un nouveau site en .com ?
Au niveau du blog je ne sais pas où trouver l’équivalent du fichier .htaccess
Merci par avance
Bonjour, si votre blog est un WordPress vous pouvez utiliser l’extension « Redirection » (par John Godley).
Bonjour,
J’ai réalisé un pointage vers un nouveau nom de domaine depuis mon hébergeur mais j’ai du supprimer mon ancien nom de domaine pour pouvoir activer le nouveau (limitation des nom de domaine actif). Est-il encore possible d’effectuer une redirection de mon ancien domaine ?
Merci de votre aide.
Vous devez accéder à l’ancien nom de domaine pour pouvoir réaliser la redirection. Normalement, si le domaine vous appartient, vous pouvez le gérer indépendamment d’une éventuelle limitation liée à votre hébergement.