Les redirections web

Les redirections web

Lors de vos visites sur Internet, il se peut que vous tombiez sur des pages 404. Ces fameuses erreurs indiquent que la page que vous visitez n’existe plus, ou n’a même jamais existé.

En plus d’être frustrantes pour l’usager, ces pages sont des impasses qui pénalisent un site en termes de référencement. Il est nécessaire de les éviter un maximum et d’établir des redirections vers des pages plus pertinentes.

Qu’est-ce qu’une redirection ? Comment les mettre en place ? C’est le but de notre article !

Contextes déclenchant des 404

Avant de mettre en place des redirections, il est important de comprendre comment elles apparaissent. Lorsque vous montez votre site, tout est tout beau tout neuf, il n’y a rien qui dépasse, c’est parfait.

Puis votre site vit. Des changements se font, vous envoyez des liens à d’autres personnes, des sites vous référencent. Et les URLs de vos pages vont inexorablement bouger.

Par exemple, vous supprimez une page qui n’a plus de sens dans votre activité. L’effet est instantané sur votre site, mais les moteurs de recherche qui ont indexé cette page n’ont pas cette information. Des usagers peuvent alors arriver sur cette page, depuis leur moteur de recherche, et tomber sur une page 404.

Page 404 de webexmachina.fr
Une page 404 classique chez nous

Autre exemple, vous avez mis un lien vers une page supprimée dans une signature d’email ou une newsletter et un usager tente d’y accéder. 404 également.

Vous l’avez compris, dès que votre site aura un peu vécu, les 404 vont naturellement apparaître. C’est tout à fait normal et fort heureusement, il est possible de les rechercher et de les corriger.

Voici une liste non exhaustive de ce qui vous amène à mettre en place des redirections :

  • Refonte de site
  • Modification de domaines (fusion, séparation, changement…)
  • Recherche de pages 404
  • Suppression de contenus

Brokenlink Checker

Ce sont des logiciels qui permettent de vérifier si votre site comporte des pages 404. Il en existe plein sur le net, ils sont même souvent intégrés dans les CMS comme Wordpress ou Contao.

Une fois lancé et après avoir scanné l’ensemble de votre site, ils fournissent une liste de toutes les pages indexables qui retournent un entête 404.

Petit aparté technique, on appelle “entête” le code que retourne une page Internet quand on l’appelle. Un code 200 signifie que tout va bien, un code 404 veut dire que la page n’a pas été trouvé.

Dans Wordpress, ce sont des plugins qui font ce travail. De nombreux sites les référencent et ils sont dotés de plus ou moins de fonctionnalités annexes, gratuites ou payantes.

Dans Contao, l’outil est directement intégré au CMS et utilise son propre moteur d’indexation.

Exemple du brokenlinkchecker de Contao
Détection des liens internes cassés sur notre site

Alternativement, des logiciels ou des sites Internet proposent ce service, comme le site https://www.brokenlinkcheck.com qui opère depuis des années.

Exemple du brokenlinkchecker de brokenlinkcheck.com
Détection des liens problématiques sur brokenlinkcheck.com

Redirections 301

Nous parlions plus haut des entêtes, et nous étions passés d’un code 200 à un 404. Les centaines ont une signification assez simple. Les 2XX fonctionnent, les 4XX sont des erreurs de navigation, les 5XX sont des erreurs serveur et les 3XX sont des redirections !

Le fonctionnement est très simple : vous demandez une page, votre requête arrive au serveur. Si le serveur trouve une instruction de redirection, il l’effectue immédiatement et va chercher la “vraie” page qu’il est supposé afficher.

En savoir plus sur le fonctionnement des requêtes http dans cet article : https://www.webexmachina.fr/article/le-cache-informatique.html

Pour écrire une redirection, cela se fait bien souvent dans un fichier .htaccess, situé à la racine de votre site, ou dans un dossier /web /public (selon votre environnement)

Exemple de redirection

# RedirectPermanent ancienne-url nouvelle-url-en-absolu
RedirectPermanent /blog.html https://www.webexmachina.fr/articles.html

Ici, on redirige la page blog.html de notre site vers la page articles.html. Cela a été fait lors de la refonte du site.

Notez que la nouvelle URL doit être absolue. On parle d’URL absolue quand elle est préfixée par son domaine. Ici : https://www.webexmachina.fr

Il existe de nombreuses autres façons d’écrire des redirections .htaccess. Elles répondent toutes à des besoins techniques spécifiques. Vous pouvez par exemple détecter des ensembles de caractères dans une URL, et les réutiliser dans l’URL réécrite. Ou encore ajouter des flags à la fin d’une consigne pour ajuster la manière dont l’usager sera redirigé.

Toutes ces manières sont détaillées dans la documentation du site Apache.org. Celle-ci est plutôt fournie donc nous allons juste isoler quelques cas récurrents.

La gestion de ce fichier reste conditionnée par votre solution d’hébergement. La majorité des hébergements vous permettent d’éditer ce fichier et d’appliquer ces redirections, mais il est possible que votre hébergeur vous l’interdise. Si c’est le cas, contactez votre hébergement ou le concepteur du site pour discuter des possibilités envisageables.

Redirection HTTPS

Depuis quelques années désormais, il est obligatoire de rendre son site disponible sous HTTPS sous peine d’avoir une jolie alerte de la part du navigateur. Pour comprendre ce qu’est un certificat SSL et comment en obtenir un, vous pouvez consulter notre article : https://www.webexmachina.fr/article/2018/04/le-petit-guide-du-protocole-https-certificat-ssl.html

Voici le code générique pour faire fonctionner cette redirection automatique :

<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteCond %{HTTPS} off
	RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</IfModule>

Redirection www

Il est assez commun d’être automatiquement redirigé de domaine.fr vers www.domaine.fr aujourd’hui. Ce n’est techniquement pas nécessaire pour faire fonctionner un site web mais disons que c’est un standard historique, les fichiers d’un site étant stockées dans un dossier www.

Voici le code générique pour faire fonctionner cette redirection :

<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteCond %{HTTP_HOST} !^www\. [NC]
	RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Redirection d’un domaine à l’identique

Lors d’une refonte de site ou lors de l’acquisition d‘un site préexistant, il est possible que vous ayez besoin de rediriger l’ensemble du site vers un nouveau domaine :

<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteBase /
	RewriteRule (.*) https://www.nouveau-domaine.fr/$1 [R=301,L]
</IfModule>

Modules de redirection

Dans de nombreux CMS, il est possible de faire des redirections via votre panneau d’administration. Cela passe souvent par des plugins additionnels. Ils ont pour objectif de rendre cet aspect technique accessible, sans avoir besoin d’éditer manuellement un fichier critique pour un site.

Chez Web ex Machina, nous utilisons le package terminal42/contao-url-rewrite, pour Contao, qui permet de mettre en place ces redirections facilement.

Module de redirections sur Contao
Module de redirections sur Contao

Et voilà qui conclut notre article sur les redirections ! Comme à chaque fois, il y aurait beaucoup plus à dire, en considérant tous les aspects techniques et tous les répercussions SEO. Cela fait toutefois une introduction au sujet, sur laquelle nous nous baserons pour pousser davantage ces sujets.

Ce qu’il faut retenir, c’est qu’il est tout à fait normal qu’un site ait des pages 404 au cours de sa vie, et savoir mettre en place des redirections pour les résoudre est essentiel pour vos usagers comme pour votre référencement. Un petit check-up mensuel ou trimestriel semble idéal pour ça, en fonction de la fréquence des modifications apportées à votre site.

Dans la même catégorie