redirections permanentes 301 dans htaccess

Tutoriel : redirections permanentes 301 dans htaccess sur WordPress

La migration de site sur un nouveau serveur est une chose difficile de point de vue de SEO.

Je m’explique : votre ancien site a son ranking sur les moteurs des recherches, les pages apparaissent dans le SERP quand les internautes tapent les mots clés sur lesquels votre site est référencé.
Quand on fait la migration d’un site il faut maintenir les positions des pages dans les moteurs de recherche. C’est pourquoi il est très important de garder les anciens URL de site ou de faire des redirections si les URLs seront changés.

Dans mon cas, nous avons refait la structure des URLs et les changé en URL écrits en cyrillique. Afin de maintenir les positions nous avons créé des redirections 301 pour tous les anciens URLs dans le fichier .htaccess.

Pour faire cela il faut suivre un schéma pour la création des redirections permanentes. On appelle cela également un mapping de redirectes.

1) Crawler le site à l’aide d’un logiciel comme Screaming Frog (payant) ou Integrity (pour les MAC). Sauvegarder le fichier avec tous les URLs, meta tags, status de la page (200, 301, 404) du site actuel.

2) Crawler le nouveau site qui se trouve peut être sur le serveur de pré-production à l’aide de mêmes logiciels et sauvegarder le fichier.

3) Identifier toutes les catégories de votre site et les pages qui génèrent le plus de trafic (via Google Analytics, par exemple).

4) Créer un fichier avec l’arborescence de site

exemple arborescence de site

5) Créer un fichier avec les transitions : ancien lien – nouveau lien. Le fichier doit avoir les groupes des liens. Par exemple, une catégorie contient des pages de produits qui appartiennent à cette catégorie.

exemple redirection permanente
Comment crée-t-on une redirection ? Le schéma est assez simple pour des liens de ce type :  /nizhnii-novgorod/kursy-innostrannyh-yazykov/dlja-vzroslyh/francuzskij-jazyk

RedirectPermanent /(l’ancien URL sans le nom de domaine) /(le nouveau URL sans nom de domaine)

Pour des URLs qui contiennent des caractères spéciaux comme « ? » il faut appliquer les règles spécifiques avec de RegEx et RewriteRules.

URL avec un « /?id=20 »  :

RewriteCond %{REQUEST_URI}  ^/$
RewriteCond %{QUERY_STRING} ^id=([0-9]*)$
RewriteRule ^(.*)$ http://monsite.com [R=301,L]

URLs avec des « ? » au milieux :

http://monsite.com/quizzes/f/anghliiskii/q/starter/r/new?/q/sta/

RewriteCond %{REQUEST_URI}  ^/quizzes/f/anghliiskii/q/starter/r/new
RewriteRule ^(.*)$ http://monsite.com/английский-язык-starter? [R=301,L]

5) Comme j’ai des URLs écrient en cyrillique j’ai mis tout au début de mon fichier htaccess la fonctionne qui permet la lecture des caractères cyrilliques :

AddDefaultCharset utf-8

6) Vous pouvez pousser le fichier .htaccess sur votre FTP ! Mais doucement :)
Je vous conseille de faire bloc par bloc et vérifier à chaque fois s’il n’y a pas d’erreur 503. Si vous faites bloc par bloc il vous sera plus facile de trouver d’où vient l’erreur que de trier tous les 500 URLs.

7) Une fois les redirections sont en place, je vous conseille de vérifier quelques liens afin d’éviter des erreurs cachés.

8) Vérifiez une deuxième fois dans SERP avec « site:http://monsite.com » ou Google Analytics si tous les anciens liens ont été redirigé. Il se peut que vous avez oublié d’ajouter quelques anciens URLs ou des très anciens URLs qui proviennent des autres site et mènent vers le votre.

En vérité, la création de redirections permanentes 301 dans htaccess est un travail volumineux qui prend beaucoup de temps (plusieurs jours pour ma part). Mais ce travail est nécessaire pour maintenir et ensuite améliorer vos positions sur les moteurs de recherche. De plus les redirections vous permettrons de minimiser le taux d’abandon de votre site.

Laisser un commentaire