Code HTTP 307 vs 302 : différences, cas d’usage et impact SEO

janvier 14, 2026

Aucun commentaire

Photo of author

DamienHernandez

Besoin d’un résumé rapide ?
Laissez l’IA vous résumer cet article en quelques secondes !



Résumé avec l’IA

SEO technique • Audit de redirections • Logs & crawl

Tu as repéré des 302 ou des 307 dans tes logs serveur, ton crawl Screaming Frog ou la Search Console.
Avant de tout corriger, une question : lesquels sont des problèmes, et lesquels sont parfaitement normaux ?
Ce guide sert à trier ce qui dégrade ton SEO de ce qu’il faut laisser tranquille, puis à agir.

Triage : ce 302 ou ce 307, problème ou pas ?

Le code seul ne dit jamais s’il y a un souci. C’est le contexte qui tranche : durée, méthode HTTP,
volume de crawl et maillage interne. Voici la grille de tri à passer avant de corriger quoi que ce soit.

Ce que tu observes Problème ? Action
307 Internal Redirect HTTP vers HTTPS (HSTS) Non, comportement navigateur normal Rien. Éventuellement HSTS preload
307 voulu sur un POST (formulaire, API, checkout) Non, c’est le but recherché Rien
302 court et daté (promo, test, maintenance ponctuelle) Non si vraiment temporaire Surveiller la date de fin
302 en place depuis des semaines ou des mois Oui Basculer en 301
Chaîne A vers B vers C Oui Réduire à 1 saut
Boucle (Too many redirects) Oui, critique Corriger les règles serveur ou CDN
302 ou 307 injectés par un CDN ou proxy non maîtrisé À vérifier Inspecter la config du CDN
Liens internes qui pointent vers des URLs en 302 Oui Mettre à jour le maillage vers la cible finale
  • Un 307 n’est pas plus grave qu’un 302 par nature. La gravité vient de la durée, des chaînes et des incohérences.
  • Le piège le plus fréquent en audit : corriger des 302/307 qui n’avaient aucun impact, et passer à côté des vrais.
  • Pour la définition pure et la différence de méthode : code HTTP 307 : définition et impact SEO.

Reconnaître un 302 ou un 307 selon l’outil utilisé

Avant de juger, il faut voir correctement. Chaque outil affiche les redirections différemment, et chacun a un angle mort.
Croiser deux sources évite 90 % des faux diagnostics.

curl

Le statut réel renvoyé par le serveur, sans cache ni navigateur. Idéal pour vérifier la chaîne complète. Angle mort : ne voit pas le comportement HSTS côté client.

Screaming Frog

Colonnes Status Code, Redirect Type et Redirect URL, plus le rapport Redirect Chains. Vue site complet. Angle mort : un crawl ne reproduit pas toujours les redirections conditionnelles (géo, cookie, user-agent).

Logs serveur

La vérité terrain : ce que Googlebot rencontre vraiment, et à quel volume. C’est la seule source qui mesure l’impact crawl. Angle mort : demande un accès logs et un peu de tri.

Search Console

Rapport Indexation des pages, motif Page avec redirection. Utile pour les URLs connues de Google. Angle mort : échantillon partiel, pas de distinction 302/307.

Voir le statut et la chaîne avec curl

Le -I donne le statut et l’en-tête Location. Le -L suit la redirection pour dérouler toute la chaîne.

Statut + en-tête
curl -I https://exemple.com/ancienne-url
Dérouler la chaîne complète
curl -sIL https://exemple.com/ancienne-url | grep -i "HTTP/\|location:"

Extraire et compter les 3xx depuis les logs

Sur un log au format combiné (Apache), le code de statut est le 9e champ. Tu isoles les 302/307, tu comptes par URL,
puis tu filtres sur Googlebot pour mesurer le vrai gaspillage de crawl.

Compter les 302/307 par URL
awk '($9 ~ /^30[27]$/){print $9, $7}' access.log | sort | uniq -c | sort -rn | head -30
Isoler ce que Googlebot rencontre
grep -i googlebot access.log | awk '($9 ~ /^30[27]$/){print $7}' | sort | uniq -c | sort -rn | head -30

Note : le format de log varie (Nginx diffère d’Apache). Vérifie la position du champ statut avant de copier la commande.
Pour configurer proprement une redirection une fois le diagnostic posé :
configurer une redirection 307 (guide).

Les 302/307 normaux : ne les corrige pas

Une bonne partie de ce qui remonte dans un audit n’est pas un problème. Les corriger, c’est dépenser du temps et risquer
d’introduire des régressions. Voici les cas où tu laisses en place.

Le 307 Internal Redirect lié à HSTS

Quand un site applique HSTS, le navigateur force lui-même le passage en HTTPS avant même d’envoyer la requête. Dans Chrome DevTools,
ça apparaît comme un 307 Internal Redirect. Ce n’est pas ton serveur qui le renvoie : c’est une bascule interne au navigateur,
et elle ne consomme pas de crawl côté Google de la même façon qu’une vraie redirection serveur. Rien à corriger.
Si tu veux supprimer même ce micro-saut au premier accès, l’étape suivante est le HSTS preload.

À retenir

Un 307 Internal Redirect dans DevTools n’est pas une erreur de config. Si tu le confonds avec un 307 serveur, tu pars en chasse d’un fantôme. Détail des causes dans erreur HTTP 307 : causes et solutions.

Le 307 voulu sur un flux POST

Sur un formulaire, une API ou un tunnel de paiement, le 307 conserve la méthode et le corps de la requête. Un POST reste un POST.
C’est exactement le comportement attendu sur un flux transactionnel. Le voir dans un crawl est rassurant, pas alarmant.

Le 302 court et daté

Une promo de deux semaines, un test A/B borné, une page de maintenance ponctuelle : un 302 qui a une date de fin connue
fait son travail. Tant que la temporarité est réelle et pilotée, Google garde l’URL source comme prévu. Le seul réflexe à avoir :
noter quand il doit disparaître.

Les 302/307 qui dégradent vraiment

Ce sont rarement les codes en eux-mêmes. Ce sont les usages : durée qui s’éternise, sauts empilés, signaux qui se contredisent.
Voilà ce qui mérite une correction.

Le 302 longue durée

Un 302 censé être temporaire mais en place depuis des mois place Google dans un entre-deux : il finit souvent par traiter la cible
comme durable, mais les signaux restent diffus et le monitoring devient confus. Si la situation est permanente, bascule en 301.
Pour les spécificités du 302 : code HTTP 302.

  • Chaînes de redirection : chaque saut ajoute une requête réseau, de la latence et un hit de crawl gaspillé. Vise 1 saut maximum entre l’URL d’origine et la cible.
  • Boucles : le classique Too many redirects. Souvent un conflit entre règle HTTP vers HTTPS, www vers non-www, CDN et règle applicative. Critique côté UX comme côté crawl.
  • 302/307 injectés par un CDN ou un proxy : des redirections que tu n’as pas écrites, ajoutées par une règle de géo, de cache ou de sécurité. À traquer dans la config de l’intermédiaire, pas dans ton .htaccess.
  • Redirections qui masquent des 404 : rediriger une page morte vers l’accueil au lieu de renvoyer un vrai 404 ou 410 crée des soft 404 et frustre l’utilisateur.
  • Maillage interne vers des URLs qui redirigent : tes propres liens pointent vers une URL en 302 au lieu de la cible finale. Tu fais travailler Googlebot pour rien et tu diffuses les signaux. Corrige les liens à la source.

J’ai un 302 ou un 307 : que faire (arbre de décision)

  1. Cette redirection est-elle voulue ?
    Non, elle vient d’un CDN, d’un proxy ou d’une règle oubliée → inspecte l’intermédiaire avant tout.
    Oui → passe à l’étape suivante.
  2. Est-elle vraiment temporaire ?
    Oui, avec une date de fin → 302 (GET) ou 307 (POST) selon la méthode, et tu surveilles l’échéance.
    Non, c’est permanent → 301 (GET) ou 308 (POST).
  3. Y a-t-il un saut de trop ?
    Chaîne ou boucle détectée → ramène à 1 saut, supprime les intermédiaires.
    Saut unique et propre → rien à faire sur la chaîne.
  4. Tes liens internes pointent-ils vers la cible ou vers l’URL qui redirige ?
    Vers l’URL qui redirige → corrige le maillage pour viser la cible finale.
    Vers la cible → le maillage est cohérent.

Le vrai sujet

Le choix 302 contre 307 est rarement le problème. Ce qui crée de la dette technique, c’est l’absence de décision claire
et le fait de laisser vivre une redirection temporaire bien plus longtemps que prévu.

Impact réel sur le budget de crawl

C’est là que le diagnostic logs prend tout son sens. Chaque 3xx que Googlebot rencontre est un hit dépensé sur un saut
plutôt que sur une page utile. Le vrai indicateur n’est pas le nombre de 302/307, mais leur part dans le crawl de Googlebot.

  • Mesure : sur tes logs, calcule la part des requêtes Googlebot qui tombent sur du 3xx. Une part élevée signale du budget perdu.
  • Seuil : sur un gros site (e-commerce, média, gros catalogue), quelques pour cent de crawl gaspillé en redirections représentent des milliers de hits par jour. Là, ça compte.
  • Petit site : sur un site vitrine ou un blog, le budget de crawl n’est presque jamais le facteur limitant. Le vrai sujet devient le maillage interne propre et la cohérence des signaux, pas le volume de 3xx.

Garde la tête froide

Avant d’optimiser le crawl budget, vérifie qu’il est bien ton facteur limitant. Sur la majorité des sites,
ranger le maillage et supprimer les chaînes apporte plus que de chasser chaque redirection isolée.

Méthode d’audit des 302/307 pas à pas

  • 1. Extraire : crawl Screaming Frog complet + export des 3xx depuis les logs serveur. Les deux, pas un seul.
  • 2. Classer : pour chaque redirection, normal ou problème ? Applique la grille de triage du début.
  • 3. Prioriser : trie les problèmes par volume de crawl Googlebot, profondeur de la page et nombre de liens internes touchés.
  • 4. Corriger : 301/308 pour le permanent, suppression des sauts intermédiaires, fix des règles CDN, mise à jour du maillage interne.
  • 5. Contrôler : re-crawl pour vérifier que les chaînes ont disparu, puis suivi dans la Search Console (Pages, soft 404, redirections).

Pour aller plus loin

Cette logique de redirections temporaires s’inscrit dans la gestion globale des en-têtes HTTP. Vue d’ensemble :
codes HTTP 3xx : comprendre toutes les redirections.

Trois cas concrets rencontrés en audit

La fausse alerte HSTS

Une équipe technique remonte des 307 dans DevTools, panique, suspecte une mauvaise config serveur. En réalité, c’était le
307 Internal Redirect du navigateur sur la bascule HTTPS via HSTS. Aucune ligne à toucher côté serveur. Le temps perdu venait
d’avoir confondu un comportement client avec une redirection serveur.

Les 302 oubliés d’une migration

Lors d’une refonte par lots, des routes basculées en 302 le temps de la transition n’ont jamais été repassées en 301.
Des mois plus tard, les signaux restaient diffus entre source et cible, et le monitoring était illisible. Le correctif n’était pas
de réécrire du contenu, mais de normaliser ces redirections oubliées en permanent.

Le CDN qui ajoutait des redirections

Des 302 apparaissaient dans le crawl sans correspondance dans la config serveur. La cause : une règle de géolocalisation au niveau
du CDN qui redirigeait selon le pays. Invisible dans le .htaccess, bien réelle pour Googlebot. Le diagnostic s’est joué dans la
console du CDN, pas dans le code applicatif.

FAQ : diagnostiquer un 302 ou un 307

Je vois un 307 Internal Redirect dans Chrome DevTools, c’est un problème ?

Non, dans l’immense majorité des cas c’est lié à HSTS : le navigateur force le passage en HTTPS de lui-même. Ce n’est pas ton serveur
qui renvoie ce 307. Rien à corriger côté config.
Comment savoir si un 302 dure depuis trop longtemps ?

Croise la date de mise en place avec tes logs. Si la situation qui justifiait la temporarité n’existe plus et que la cible est
devenue l’URL de référence, le 302 a fait son temps : passe en 301.
Googlebot crawle mes 302/307, ça gaspille mon budget de crawl ?

Sur un gros site, oui : quantifie la part de 3xx dans les requêtes Googlebot depuis tes logs. Sur un petit site, le budget de crawl
est rarement le facteur limitant, et la priorité va plutôt au maillage interne et à la suppression des chaînes.
Faut-il corriger tous les 302 remontés par un audit ?

Non. Beaucoup sont normaux (HSTS, flux POST en 307, 302 courts et datés). Trie d’abord avec la grille de triage, puis ne corrige
que ce qui dure, ce qui empile des sauts ou ce qui n’a pas été voulu.
Mon CDN renvoie des 302 que je n’ai pas configurés, d’où ça vient ?

D’une règle au niveau du CDN ou du proxy : géolocalisation, cache, sécurité ou forçage HTTPS. Inspecte la config de l’intermédiaire.
Ces redirections sont invisibles dans ton .htaccess mais bien réelles pour Googlebot.
Comment repérer une chaîne ou une boucle de redirection ?

En ligne de commande avec curl -IL pour dérouler toute la chaîne. À l’échelle du site, avec le rapport Redirect Chains
de Screaming Frog, qui liste les A vers B vers C et signale les boucles.

Conclusion

Un 302 ou un 307 n’est ni bon ni mauvais en soi. Ce qui décide, c’est le contexte : une redirection voulue, datée, à saut unique
et cohérente avec ton maillage ne pose aucun problème. Une redirection oubliée, empilée ou injectée par un intermédiaire, oui.

À retenir : trie avant de corriger. La majorité de ce qui remonte en audit est normal. Concentre l’effort sur
ce qui dure trop longtemps, ce qui empile des sauts et ce que tu n’as pas voulu.

🎯 Analyse IA de cet article

Obtenez un résumé expert et des insights SEO personnalisés

💡 Chaque IA apporte une perspective unique