Redirections 301 : transférer l'autorité sans perte YperLine

Différences 301/302/307/308, 6 règles d'or, implémentation Apache/Nginx/PHP, chaînes de redirection et impact sur les bots IA. Checklist 10 points.


Redirections 301 : transférer l'autorité sans perte

Qu'est-ce qu'une redirection 301 ?

Une redirection 301 (Permanent Redirect) est un code de réponse HTTP qui indique au navigateur et au robot de crawl qu'une page a définitivement déménagé vers une nouvelle URL. Elle transfère l'autorité SEO (PageRank, backlinks, signaux d'indexation) de l'ancienne URL vers la nouvelle.

C'est l'outil essentiel lors d'une refonte de site, d'un changement d'URL, d'une suppression de page ou d'un passage de HTTP à HTTPS. Sans redirection 301, l'ancienne URL renvoie une 404 et toute l'autorité accumulée est perdue.

Chiffre clé : une redirection 301 transfère 90 à 100 % de l'autorité (les pertes estimées à 10-15 % dans les années 2010 sont aujourd'hui considérées comme négligeables selon les tests de Moz et Search Engine Land).

301, 302, 307, 308 : les différences

CodeNomSemantiqueTransfert d'autorité ?Usage
301Permanent RedirectLa page a définitivement déménagéOui (90-100 %)Refonte, changement d'URL, suppression
302Temporary RedirectLa page est temporairement ailleursNon (ou très partiel)Maintenance, A/B test, campagne saisonnière
307Temporary Redirect (strict)Comme 302 mais préserve la méthode HTTP (POST reste POST)NonFormulaires, APIs en maintenance
308Permanent Redirect (strict)Comme 301 mais préserve la méthode HTTPOui (90-100 %)Migration HTTP→HTTPS avec formulaires

Règle simple : si le déménagement est définitif → 301. S'il est temporaire → 302. En cas de doute, 301 (on peut toujours annuler une 301, mais une 302 utilisée pour un déménagement définitif ne transfère pas l'autorité de façon fiable).

Quand utiliser une redirection 301

ScénarioExempleRedirection
Changement d'URL (refonte)/seo/fondamental/maillage.php → /seo-fondamental-maillage-interne301
Suppression de pagePage obsolète → page la plus pertinente du site301 vers la page pertinente (pas vers la home)
Passage HTTP → HTTPShttp://yperline.net/... → https://yperline.net/...301 (ou 308)
Suppression du wwwhttps://www.yperline.net/... → https://yperline.net/...301
Suppression d'extension .php/seo.php → /seo301
Fusion de 2 pages2 pages sur le même sujet → 1 page301 de la page secondaire vers la page principale
Changement de domaineancien-domaine.fr → yperline.net301 sur toutes les URLs

Les 6 règles d'or

#RèglePourquoi
1Toujours en 301 (pas de 302 pour un déménagement définitif)La 302 ne transfère pas l'autorité de façon fiable
2Une seule redirection (pas de chaîne A → B → C)Chaque hop dilue l'autorité et ralentit le crawl
3Rediriger vers une page pertinenteRediriger vers la home dilue l'autorité et déçoit l'utilisateur
4Rediriger page par page (pas un wildcard global)Un RewriteRule ^ .* / [R=301] qui envoie tout vers la home est une erreur majeure
5Mettre à jour les liens internes après la redirectionLes liens internes vers l'ancienne URL fonctionnent (via la 301) mais ajoutent un hop inutile
6Surveiller les backlinks vers l'ancienne URLLes backlinks externes suivent la 301 automatiquement, mais vérifier dans Ahrefs/Majestic que le transfert a bien eu lieu

Implémentation (Apache, Nginx, PHP)

Apache (.htaccess)

# Redirection simple : /ancienne-page → /nouvelle-page
Redirect 301 /ancienne-page https://yperline.net/nouvelle-page

# Redirection avec regex : toutes les URLs .php → sans .php
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/([^.]+?)\.php[\s?] [NC]
RewriteRule ^ /%1 [R=301,L]

# Redirection de domaine : www → non-www
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]

# Redirection HTTP → HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Nginx

# Redirection simple
rewrite ^/ancienne-page$ https://yperline.net/nouvelle-page permanent;

# Redirection .php → sans .php
if ($request_uri ~* ^/([^/]+)\.php$) {
    return 301 https://yperline.net/$1;
}

# Redirection www → non-www
server {
    listen 443 ssl;
    server_name www.yperline.net;
    return 301 https://yperline.net$request_uri;
}

PHP (dernier recours)

<\?php
// À placer en haut du fichier, avant toute sortie HTML
header("Location: https://yperline.net/nouvelle-page", true, 301);
exit;

Préférence : faire les redirections au niveau du serveur (Apache/Nginx) plutôt qu'en PHP. C'est plus rapide (pas de traitement PHP) et plus fiable (pas de dépendance au code applicatif).

Les chaînes de redirection : le piège n°1

Une chaîne de redirection est une suite de 2+ redirections avant d'atteindre la page finale. Exemple :

http://www.yperline.net/seo.php
  → 301 → https://www.yperline.net/seo.php   (www → non-www)
  → 301 → https://yperline.net/seo.php        (suppression .php)
  → 200 → page finale

Chaque hop dans la chaîne :

  • Ajoute 100-300 ms de latence (round-trip HTTP).
  • Dilue légèrement l'autorité (estimé à 5-15 % par hop, bien que les études récentes suggèrent que la perte est minime).
  • Consomme du crawl budget (le robot doit suivre chaque hop).
  • Peut créer des boucles infinies si la configuration est erronée (508 Loop Detected).

Comment les détecter

  1. Screaming Frog (gratuit ≤ 500 URLs) : mode « Crawl » → onglet « Response Codes » → filtrer sur « Redirect Chain ».
  2. curl : curl -I -L http://www.yperline.net/seo.php → afficher tous les hops.
  3. Google Search Console → « Améliorations » → « Redirections » : liste des chaînes détectées.

Comment les corriger

La règle : une seule redirection entre l'URL initiale et l'URL finale. Si l'utilisateur tape http://www.yperline.net/seo.php, la réponse doit être un seul 301 vers https://yperline.net/seo, pas 3 hops successifs.

Dans le .htaccess, l'ordre des règles est crucial : faire la redirection « tout-en-un » (protocole + www + extension) en une seule règle si possible, ou accepter un maximum de 2 hops (protocole + www d'un côté, extension de l'autre).

Redirections et GEO : ce que les bots IA font

Les bots IA (GPTBot, PerplexityBot, ClaudeBot) suivent les redirections 301 de la même manière que Googlebot. Cependant, leur crawl budget étant beaucoup plus limité, chaque hop supplémentaire a un impact proportionnellement plus fort :

  • Un bot IA avec un budget de 10 pages qui suit 3 hops pour atteindre une page « consomme » 3 visites au lieu de 1. Sur 10 pages de budget, c'est 30 % perdu en redirections.
  • Les IA n'indexent pas l'URL intermédiaire : si /seo.php redirige vers /seo, c'est /seo qui est indexé. L'URL /seo.php n'existe pas pour l'IA.
  • Les citations IA pointent vers l'URL finale : si votre page est citée par Perplexity, le lien pointera vers /seo, pas vers /seo.php.

Recommandation : minimiser les hops. Idéalement, une seule redirection entre l'URL « sale » (http, www, .php) et l'URL propre (https, non-www, sans extension).

→ Guide : GEO : les crawlers IA ont un budget limité

Vérifier ses redirections

  1. curl : curl -I https://yperline.net/seo.php → doit renvoyer HTTP/2 301 + location: https://yperline.net/seo.
  2. curl -I https://yperline.net/seo → doit renvoyer HTTP/2 200 (pas de redirection supplémentaire).
  3. Screaming Frog : crawl complet → vérifier l'onglet « Redirect Chains » (doit être vide). Vérifier l'onglet « 404 » (doit être vide ou minime).
  4. Google Search Console → « Indexation » → « Pages » : vérifier qu'il n'y a pas de « Page détectée via une redirection » en masse.
  5. Test des URLs anciennes : si vous avez fait une refonte, tester 10-20 URLs anciennes pour vérifier qu'elles redirigent bien vers la bonne page (pas vers la home par défaut).

Checklist redirections

#Point de contrôleStatut
1HTTP → HTTPS en 301 (pas de contenu accessible en HTTP)☐
2www → non-www en 301☐
3URLs .php → URLs propres en 301☐
4Pas de chaîne de redirection > 1 hop (Screaming Frog)☐
5Pas de boucle de redirection (508)☐
6Chaque URL supprimée a une 301 vers une page pertinente☐
7Pas de wildcard qui envoie tout vers la home☐
8Liens internes mis à jour (pas de lien vers une URL qui fait un 301)☐
9Sitemap XML contient les URLs finales (pas les URLs redirigées)☐
10GSC : pas d'alerte « Redirection » dans les améliorations☐

Pour le contexte plus large, voir notre page SEO technique. Pour le crawl budget (impact des chaînes), voir Crawl budget. Pour la vue d'ensemble, voir le guide complet du SEO.

Nettoyez vos redirections en 15 minutes

Audit SEO gratuit : nous crawlons votre site, détectons les chaînes de redirection, les 404 et les 301 inutiles. Vous repartez avec la liste exacte des corrections à faire dans le .htaccess.

Demander mon audit gratuit