Créer, tester et comprendre les redirections 301 et 302

Qu'est ce qu'une redirection d'URL ?

Les ressources disponibles sur Internet sont accessibles via des URLs (voir l'article consacré aux URLs). Parfois, le responsable d'un site peut vouloir changer l'emplacement d'une ressource. Mais alors, si certains utilisateurs s'étaient habitués à l'ancien emplacement (par exemple en utilisant un marque-page / bookmark dans leur navigateur) et qu'ils essaient d'y accéder, il auront une erreur. Heureusement, il existe une parade simple : mettre en place une redirection de l'ancienne URL vers la nouvelle. Le navigateur suivra magiquement ce chemin de redirection, le client accèdera à sa ressource et la nouvelle URL apparaitra dans la barre du navigateur.

Redirection 301

Il peut y avoir d'autres scenarii ou une redirection peut être utile, mais le principe de fonctionnement reste le même.

Techniquement une redirection se gère au niveau du protocole HTTP. Lorsque le navigateur contacte le serveur Web sur une "ancienne" URL, celui-ci répond avec un code HTTP précis (redirection 301 ou redirection 302) et il indique aussi la "nouvelle" URL (grâce au champs HTTP Location)

Redirection 301 ou redirection 302 ?

Il existe 2 types de redirection en fonction du code HTTP de la réponse:

  • Redirection 301 "Moved permanently" : c'est une redirection permanente vers une URL indiquée dans la réponse (champs 'Location'). Cette redirection est considérée comme 'Google Friendly'. Concrètement cela signifie que la nouvelle URL apparaitra toujours dans les résultats de recherche à la place de l'ancienne. Et la nouvelle URL récupèrera l'historique de l'ancienne, ce qui est bien sur essentiel d'un point de vue SEO.
  • Redirection 302 "Moved temporarily" : c'est une redirection temporaire vers une URL indiquée. Il y a quelques cas ou cela peut être utile : contenu temporairement indisponible, redirection en fonction de la langue... Google continuera de considérer l'URL d'origine comme existante.

Comment faire une redirection 301 ou 302 ?

Techniquement il y a plusieurs façons de mettre en place une redirection. Cela dépend de votre besoin, de vos ressources techniques et de la modularité qu'offre votre plateforme Web. La redirection peut être faite à quatre niveaux différents :

  • au niveau du registrar (c'est la société qui gère votre nom de domaine, par exemple Gandi). La plupart des Registrars permettent via leur interface de gestion de mettre en place des redirections Web. C'est surtout utile pour rediriger globalement tout un domaine vers un autre (par exemple rediriger www.test.com vers beta.test.com). Pas besoin de savoir programmer pour mettre en place ce type de redirection.
  • au niveau du serveur Web (par exemple Apache ou IIS) : il est possible de configurer des redirections de manière logicielle en changeant les fichiers de configuration du serveur Web utilisé (.htaccess, httpd.conf par exemple avec Apache). Il faut des connaissances d'administration des serveurs pour mettre en place ce type de redirection. Cette méthode est assez souple notamment grâce à la puissance des expressions régulières. C'est la méthode utilisée par notre outil de générateur de htaccess
  • par programmation côté Serveur (avec un langage tel que PHP, ASP...). Dans ce cas il faut des connaissances de développements Web de base pour les mettre en place. Cette méthode est puissante mais parfois moins souple que la précédente (notamment parce qu'il faut faire intervenir un développeur à chaque mise en place)
  • par programmation côté Client (en Javascript). Cette méthode est utile lorsque qu'une action de l'utilisateur doit mener vers une nouvelle page. Mais elle est à déconseiller dans le cadre d'une redirection systématique car elle n'utilise pas le mécanisme standard de redirection au niveau HTTP (301, 302). Un robot d'indexation ne saura pas forcément bien l'interpréter.

Ne pas confondre Redirection d'URL et Réécriture d'URL (en anglais : URL Rewriting)

Une redirection d'URL est visible pour l'utilisateur puisque l'URL change dans la barre du navigateur. Au contraire, un URL Rewriting est invisible pour l'utilisateur final, c'est une réécriture d'URL interne au serveur Web. Voir l'article sur l'URL Rewriting pour lire toutes les informations sur ce sujet.

Tester vos redirections 301 et 302 avec notre outil gratuit ZinaWeb


Analyser gratuitement les redirections de votre page :
ANALYSER


Créer des redirections 301 ou 302 avec un fichier .htaccess

Avec le formulaire ci-dessous, vous pouvez générer un fichier .htaccess pour mettre en place des redirections. Pour cela il vous suffit d'indiquer l'URL de source qui doit être redirigée (absolue ou relative), puis l'URL de destination (TOUJOURS absolue, c'est à dire commençant par https:// ou https://) et de cliquer sur générer. Vous pouvez indiquer plusieurs URLs en insérant plusieurs lignes dans les champs.

  • Ancienne(s) URL(s) :
  • Nouvelle(s) URL(s) :
  • Type de redirection :
  • Résultat :

Il vous suffit de copier coller le champs résultat dans un fichier .htaccess placé à la racine de votre site. Ceci fonctionnera avec tous les serveurs Web de type Apache (avec les modules mod_alias et mod_rewrite)