La recherche Google et les redirections d'URL

La redirection d'URL consiste à remplacer une URL existante par une autre, de manière à informer clairement les visiteurs de votre site et la recherche Google qu'une page a changé d'adresse. Les redirections sont particulièrement utiles dans les cas suivants :

  • Vous avez déplacé votre site vers un nouveau domaine et vous souhaitez que la transition soit aussi naturelle que possible.
  • Les internautes accèdent à votre site via plusieurs URL. Par exemple, si votre page d'accueil est accessible de plusieurs manières, par exemple sur https://example.com/home, http://home.example.com ou https://www.example.com, nous vous conseillons de choisir l'une de ces URL comme destination préférée (URL canonique) et d'utiliser des redirections pour envoyer le trafic des autres URL vers cette URL.
  • Vous fusionnez deux sites Web et vous voulez vous assurer que les liens vers les URL obsolètes sont redirigés vers les pages appropriées.
  • Vous avez supprimé une page et vous souhaitez rediriger les utilisateurs vers une nouvelle page.

Présentation des types de redirection

Bien que les internautes ne soient généralement pas en mesure de distinguer les différents types de redirections, la recherche Google utilise ces derniers comme un signal fort ou faible indiquant que la cible de la redirection est canonique. Le choix de la redirection dépend de son caractère temporaire ou permanent et de la page à afficher dans les résultats de recherche Google :

  • Redirections permanentes : affiche la nouvelle cible de redirection dans les résultats de recherche.
  • Redirections temporaires : affiche la page source dans les résultats de recherche.

Le tableau suivant explique les différentes approches permettant de configurer des redirections permanentes et temporaires. Celles-ci sont classées selon la probabilité que Google soit en mesure d'interpréter correctement la redirection. Par exemple, une redirection côté serveur a plus de chances d'être interprétée correctement par Google. Choisissez le type de redirection qui convient à votre situation et à votre site :

Types de redirection
Permanente

Googlebot suit la redirection, et le pipeline d'indexation utilise cette redirection comme un signal fort indiquant que la cible de la redirection est canonique.

HTTP 301 (moved permanently)

Configurez des redirections côté serveur.

HTTP 308 (moved permanently)
meta refresh (0 seconde)

Configurez des redirections meta refresh.

Actualisation HTTP (0 seconde)
Attribut JavaScript location

Configurez des redirections JavaScript.

Redirection Crypto

En savoir plus sur les redirections crypto

Temporaire

Googlebot suit la redirection, et le pipeline d'indexation utilise cette redirection comme un signal faible indiquant que la cible de la redirection est canonique.

HTTP 302 (found)

Configurez des redirections côté serveur.

HTTP 303 (see other)
HTTP 307 (temporary redirect)
meta refresh (plus de 0 seconde)

Configurez des redirections meta refresh.

HTTP refresh (plus de 0 seconde)

Redirections côté serveur

La configuration des redirections côté serveur nécessite d'accéder aux fichiers de configuration du serveur (par exemple, le fichier .htaccess sur Apache) ou de définir des en-têtes de redirection avec des scripts côté serveur (par exemple, PHP). Vous pouvez créer des redirections permanentes et temporaires côté serveur.

Redirections permanentes côté serveur

Si vous devez modifier l'URL d'une page affichée dans les résultats du moteur de recherche, nous vous recommandons, dans la mesure du possible, d'opter pour une redirection permanente côté serveur. Il s'agit du meilleur moyen de vous assurer que la recherche Google et les utilisateurs seront redirigés vers la bonne page. Les codes d'état 301 et 308 signifient qu'une page a été déplacée de manière permanente vers un nouvel emplacement.

Redirections temporaires côté serveur

Si vous souhaitez simplement rediriger les utilisateurs vers une autre page pendant un certain temps, utilisez une redirection temporaire. Vous vous assurez ainsi que Google conservera l'ancienne URL dans ses résultats plus longtemps. Par exemple, si un service proposé par votre site est temporairement indisponible, vous pouvez configurer une redirection temporaire pour rediriger les utilisateurs vers une page expliquant le problème, tout cela sans compromettre l'URL d'origine dans les résultats de recherche.

Implémenter des redirections côté serveur

L'implémentation des redirections côté serveur dépend de votre hébergeur et de votre environnement de serveur, ou du langage de script du backend de votre site.

Pour configurer une redirection permanente avec PHP, utilisez la fonction header(). Vous devez définir les en-têtes avant d'envoyer quoi que ce soit à l'écran :

header('HTTP/1.1 301 Moved Permanently');
header('Location: https://www.example.com/newurl');
exit();

De même, voici un exemple de configuration d'une redirection temporaire avec PHP :

header('HTTP/1.1 302 Found');
header('Location: https://www.example.com/newurl');
exit();

Si vous avez accès aux fichiers de configuration de votre serveur Web, vous pouvez dans certains cas coder vous-même les règles de redirection. Suivez les guides de votre serveur Web :

  • Apache : consultez le tutoriel Apache .htaccess, le guide de réécriture d'URL Apache et la documentation Apache sur mod_alias. Par exemple, vous pouvez utiliser mod_alias pour configurer la forme de redirection la plus simple :

    # Permanent redirect:
    Redirect permanent "/old" "https://example.com/new"
    
    # Temporary redirect:
    Redirect temp "/two-old" "https://example.com/two-new"

    Pour les redirections plus complexes, utilisez mod_rewrite. Exemple :

    RewriteEngine on
    # redirect the service page to a new page with a permanent redirect
    RewriteRule   "^/service$"  "/about/service"  [R=301]
    
    # redirect the service page to a new page with a temporary redirect
    RewriteRule   "^/service$"  "/about/service"  [R]
  • NGINX : consultez la page sur la création de règles de réécriture NGINX dans le blog NGINX. Comme avec Apache, plusieurs options s'offrent à vous pour créer des redirections. Exemple :

    location = /service {
      # for a permanent redirect
      return 301 $scheme://example.com/about/service
    
      # for a temporary redirect
      return 302 $scheme://example.com/about/service
    }

    Pour les redirections plus complexes, utilisez la règle rewrite :

    location = /service {
      # for a permanent redirect
      rewrite service?name=$1 ^service/offline/([a-z]+)/?$ permanent;
    
      # for a temporary redirect
      rewrite service?name=$1 ^service/offline/([a-z]+)/?$ redirect;
    }
  • Pour tous les autres serveurs Web, renseignez-vous auprès de votre gestionnaire ou de votre hébergeur de serveur, ou effectuez une recherche de guides sur votre moteur de recherche favori (par exemple, "redirections LiteSpeed").

meta refresh et son équivalent HTTP

Si les redirections côté serveur ne peuvent pas être implémentées sur votre plate-forme, les redirections meta refresh constituent une alternative viable. Google distingue deux types de redirections meta refresh :

  • Redirection meta refresh instantanée : se déclenche dès que la page est chargée dans un navigateur. La recherche Google interprète les redirections meta refresh instantanées comme permanentes.
  • Redirection meta refresh différée : ne se déclenche qu'après un nombre arbitraire de secondes défini par le propriétaire du site. La recherche Google interprète les redirections meta refresh différées comme temporaires.

Insérez la redirection meta refresh dans l'élément <head> du code HTML ou dans l'en-tête HTTP avec le code côté serveur. Par exemple, voici une redirection meta refresh instantanée ajoutée à l'élément <head> du code HTML :

<!doctype html>
<html>
  <head>
  <meta http-equiv="refresh" content="0; url=https://example.com/newlocation">
  <title>Example title</title>
  <!--...-->

Voici un exemple de l'en-tête HTTP équivalent, dans lequel vous pouvez injecter du code avec des scripts côté serveur :

HTTP/1.1 200 OK
Refresh: 0; url=https://www.example.com/newlocation
...

Pour créer une redirection différée, qui est interprétée comme temporaire par Google, spécifiez le nombre de secondes pendant lesquelles la redirection doit être retardée dans l'attribut content.

<!doctype html>
<html>
  <head>
  <meta http-equiv="refresh" content="5; url=https://example.com/newlocation">
  <title>Example title</title>
  <!--...-->

Redirections JavaScript location

La recherche Google interprète et exécute le code JavaScript à l'aide du service de rendu Web une fois l'exploration de l'URL terminée.

Pour configurer une redirection JavaScript, définissez la propriété location sur l'URL cible de la redirection dans un bloc de script de l'en-tête HTML. Exemple :

<!doctype html>
<html>
  <head>
    <script>
      window.location.href = "https://www.example.com/newlocation";
    </script>
    <title>Example title</title>
    <!--...-->

Redirections Crypto

Si vous n'êtes pas en mesure d'implémenter les méthodes de redirection traditionnelles, vous devez tout de même essayer d'informer les internautes que la page ou son contenu ont été déplacés. Pour ce faire, le moyen le plus simple consiste à ajouter un lien vers la nouvelle page, accompagné d'une brève explication. Exemple :

<a href="https://newsite.example.com/newpage.html">Nous avons changé d'adresse ! Retrouvez ce contenu sur notre nouveau site.</a>

Ce message aide les internautes à trouver votre nouveau site, tandis que Google peut l'interpréter comme une redirection crypto (comme le monstre du Loch Ness, son existence peut être contestée et il est possible que certains moteurs de recherche ne reconnaissent pas cette pseudo-redirection comme une redirection officielle).

L'URL canonique et ses autres versions

Lorsque vous redirigez une URL, Google effectue le suivi de la source de redirection (ancienne URL) et de la cible de redirection (nouvelle URL). L'une des URL est considérée comme l'URL canonique en fonction de différents signaux tels que le caractère temporaire ou permanent de la redirection. L'autre URL devient une autre version de l'URL canonique. Ces différentes versions sont utilisées lorsque les internautes ont plus de chances de les trouver crédibles que l'URL canonique elle-même. Les autres versions peuvent apparaître dans les résultats de recherche lorsque la requête de l'utilisateur laisse penser que l'ancienne URL est plus appropriée.

Par exemple, si vous avez migré votre site vers un nouveau nom de domaine, il est fort probable que Google continue à afficher les anciennes URL dans les résultats, même si les nouvelles URL sont déjà indexées. L'objectif est ici de laisser aux internautes le temps de s'habituer au nouveau nom de domaine. Ces autres versions disparaîtront progressivement sans que vous n'ayez à faire quoi que ce soit.