Quelle est la différence entre les redirections 301 et 302 ?

0
132
duangphorn wiriya/Shutterstock

Si vous&# Si vous avez déplacé votre contenu, il est préférable de rediriger les anciens liens rompus vers l'emplacement de travail. Il existe deux types de redirections—302, utilisées pour les tests, et la 301, qui est permanente et idéale pour le référencement.

302 est temporaire, 301 est permanent

Les deux types de redirection produisent le même effet. Lorsqu'un utilisateur tente d'accéder à des ressources redirigées (par exemple, la version HTTP d'un lien HTTPS), le serveur Web envoie un code de réponse 301 ou 302 au navigateur de l'utilisateur, ainsi qu'un lien vers la destination prévue. Le navigateur de l'utilisateur fera alors immédiatement une autre requête vers la bonne page, les redirigeant efficacement.

La différence réside dans ce qui se passe la deuxième fois qu'un utilisateur visite cette page. Si vous proposez une redirection 302, le navigateur la verra comme temporaire. Dans l'exemple HTTPS, le navigateur continuera à envoyer des requêtes à la version HTTP non sécurisée de la page et le serveur Web continuera à envoyer 302 codes de réponse à chaque fois.

C'est mauvais pour les performances de votre site, car un utilisateur devra faire plus d'allers-retours vers le serveur Web pour se rendre à la destination prévue. Pour résoudre ce problème, vous pouvez utiliser une redirection 301. Lorsque le navigateur essaie de faire une deuxième requête, il vérifie son cache et se rappelle que l'URL est censée être redirigée, et redirige automatiquement sans déranger le serveur. Une redirection 301 est censée être envoyée une fois et rediriger pour toujours.

Cela signifie qu'une redirection 301 est très permanente. Chrome s'en souviendra jusqu'à ce que l'utilisateur efface le cache, ce qui est une opération manuelle. Si vous avez accidentellement effectué une redirection 301 incorrecte, cela pourrait entraîner des problèmes sur toute la ligne, vous voudrez donc toujours tester les modifications avec une redirection 302 d'abord pour vérifier qu'elle fonctionne, puis déployer une redirection 301.

< h2 role="heading" aria-level="2">Comment cela affecte-t-il le référencement ?

La plupart du temps, les moteurs de recherche comme Google verront une redirection 301 et mettront à jour leur classement de recherche en conséquence. Si vous changez de nom de domaine, vous souhaiterez rediriger 301 les liens de votre ancien domaine vers les pages du nouveau domaine. Cela conduira votre nouveau domaine à remplacer votre ancien dans les classements de recherche, ce qui est (probablement) ce que vous voulez.

Publicité

En fin de compte, devoir rediriger votre site ne nuira probablement pas beaucoup à votre référencement. Entre 90 et 99 % du classement de vos sites seront transférés lors de la modification de l'intégralité de votre nom de domaine, donc la redirection de quelques pages ne fera pas de mal du tout. Notez que cela ne s'applique qu'aux redirections 301. Les redirections 302 sont temporaires et n'auront aucun effet immédiat sur votre classement, mais peuvent vous faire baisser à long terme si vous ne passez pas à 301.

Comment configurer les redirections dans Nginx

Dans Nginx, vous pouvez mettre en œuvre des redirections à l'aide de la directive de réécriture. Cela correspondra à une chaîne avec une expression régulière et redirigera l'utilisateur vers une URL modifiée. Si vous souhaitez simplement rediriger une ancienne page vers une nouvelle page, vous pouvez sélectionner le nom de la page et le remplacer par une réécriture :

server { server_name www.example.com; réécrire ^/old_page.html$ nouvelle_page.html redirection ; }

Ensuite, si vous souhaitez en faire une redirection permanente, remplacez “redirect” avec “permanent” :

réécrire ^/old_page.html$ new_page.html permanent ;

Vous pouvez utiliser la même syntaxe pour faire correspondre plusieurs pages. Par exemple, si vous souhaitez mapper un domaine entier vers un nouveau domaine, vous pouvez utiliser :

server { server_name olddomain.com; réécrire ^/(.*)$ https://newdomain.com/$1 permanent ; }

Pour rediriger HTTP vers HTTPS, vous souhaiterez plutôt utiliser un bloc d'écoute sur le port 80 qui redirigera tout le trafic en servant manuellement un 301 :

serveur { écouter 80 ; nom_serveur exemple.com ; renvoie 301 https://example.com$request_uri ; }

Comment configurer les redirections dans Apache

Pour Apache, la configuration est également simple. Pour les redirections de base, vous pouvez utiliser la directive Redirect, qui prend deux arguments—l'ancienne page et la nouvelle page.

Redirect /oldpage https://www.example.com/newpage Publicité
< p>Il s'agit par défaut d'une redirection 302, mais vous pouvez la rendre permanente en utilisant “Redirect 301“.

La directive Redirect prend des paramètres manuels, mais vous pouvez utiliser RedirectMatch pour faire correspondre les URL avec expressions régulières. Par exemple, pour remapper un dossier comme /img vers un sous-domaine, vous pouvez utiliser :

RedirectMatch ^/img/(.*)$ http://media.example.com/$1

Pour rediriger HTTP vers HTTPS, vous voudrez utiliser :

RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.votredomaine.com/$1 [R,L]

Ceci par défaut à 302, mais vous pouvez le rendre permanent en définissant le code de retour à la fin :

RewriteRule ^(.*)$ https://www.votredomaine.com/$1 [R=301,L]