Code http 307 : définition, redirection temporaire et impact SEO

décembre 18, 2025

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
Code HTTP 307

Le code HTTP 307 (Temporary Redirect) indique une redirection temporaire qui conserve strictement la méthode HTTP (POST reste POST). Il est utilisé pour rediriger temporairement une action critique (paiement, formulaire, API) sans perte de données ni rupture de parcours.

Fiche technique – redirection HTTP temporaire avec conservation de la méthode.

Temporary Redirect : redirection temporaire avec conservation de la méthode.

  • Type : redirection temporaire (3xx)
  • Méthode HTTP : conservée (POST → POST)
  • Cas critiques : formulaires, paiements, APIs
  • SEO : l’URL source reste la référence

Le code HTTP 307 indique qu’une ressource est déplacée temporairement vers une autre URL via l’en-tête Location, sans modifier la méthode HTTP. Il évite notamment qu’une requête POST soit transformée en GET, ce qui est critique sur les parcours sensibles.

⚠️

En pratique, la 307 est souvent utilisée comme une solution “temporaire”… puis oubliée. Sans date de fin claire, vous êtes probablement dans un cas 301 ou 308.

Comparaison des codes HTTP 301, 302, 307 et 308 selon la durée, la méthode HTTP et l’usage SEO
CodeTemporaireMéthode conservéeUsage SEO recommandé
301NonNonMigration définitive, consolidation SEO
302OuiVariable selon le clientTemporaire non critique (GET)
307OuiOui (méthode strictement conservée)POST, paiement, login, API
308NonOuiPermanent avec méthode conservée

Règle pratique : utilisez une redirection 307 uniquement si le changement est temporaire et que la méthode HTTP (POST, PUT) doit être strictement conservée.

Qu’est-ce que le code HTTP 307 ?

Le code HTTP 307 (Temporary Redirect) est une redirection temporaire qui préserve la méthode HTTP (POST reste POST). Le serveur indique une nouvelle URL via l’en-tête Location, et le client rejoue la requête à l’identique.

En pratique : le 307, c’est le statut “ne touchez à rien” quand une action en POST est en jeu (paiement, login, API). Et c’est justement pour ça qu’on le voit souvent mal utilisé : on le pose “au cas où”, puis il reste en place des mois. À ce stade, ce n’est plus une redirection temporaire, c’est un problème de gouvernance.

Temporary Redirect

Famille 3xx – Redirection temporaire (méthode conservée)

Une 307 indique une redirection temporaire : l’URL d’origine reste la référence, et le client suit la destination en conservant la méthode.

Classe3xx – Redirection
TypeTemporaire (server-side)
Cas d’usageFormulaires, paiements, login, APIs
Durée conseilléeCourte (jours / semaines). Au-delà, requalifier (301 / 308).
Criticité SEO🟡 À surveiller
CacheableParfois (selon en-têtes + navigateur)
Impact performanceAjoute un aller-retour réseau (éviter les chaînes)
💡

Le point que beaucoup ratent

Un 307 sert d’abord à préserver la méthode (POST → POST). Le SEO vient après. Si ton objectif est durable (migration, consolidation), tu n’es déjà plus dans le bon statut : passe en 301 — ou 308 si tu dois conserver la méthode.

Fonctionnement technique d’une redirection 307

Le point clé : le client suit la destination indiquée par Location en réutilisant la même méthode.

Ce qui compte, ce n’est pas “qu’il y a redirection”. C’est ce que le client rejoue. Sur un simple GET, tu ne verras pas la différence. Sur un POST (paiement, formulaire), une redirection mal gérée peut casser le parcours sans que personne ne le relie au statut HTTP. C’est là que la 307 a du sens.

  1. 1
    Requête client – Le navigateur (ou un bot) appelle une URL (GET, POST, PUT…).
  2. 2
    Réponse 307 – Le serveur renvoie 307 + en-tête Location.
  3. 3
    Nouvelle requête – Le client suit l’URL cible en conservant la méthode.
  4. 4
    Réponse finale – L’URL cible renvoie idéalement 200 (ou le statut attendu).
⚠️

Attention aux chaînes de redirections

Une redirection ajoute un aller-retour réseau. En chaîne (307 → 302 → 200), vous augmentez la latence, dégradez l’UX, et consommez du crawl.

À retenir

  • 307 = temporaire
  • méthode conservée (POST reste POST)
  • SEO secondaire : l’URL source reste la référence
  • si ça s’éternise : requalification (301 / 308)

Exemple de réponse HTTP 307

Cas typique : bascule temporaire d’une route critique (login / paiement / API).

Réponse HTTP
HTTP/1.1 307 Temporary Redirect
Date: Fri, 07 Dec 2024 10:30:00 GMT
Server: nginx/1.18.0
Location: https://www.exemple.com/nouvelle-url/
Cache-Control: no-store
Content-Length: 0
Connection: keep-alive

L’en-tête Location indique l’URL de destination. Le 307 impose la conservation de la méthode d’origine.

Exemple concret : une 307 sur un formulaire (POST) ou un paiement

Le cas classique d’une redirection 307 concerne une action sensible en POST (formulaire, checkout, login). L’objectif : rediriger temporairement vers une autre URL sans changer la méthode ni le contenu de la requête.

  1. Un client (navigateur / app) envoie une requête POST vers /checkout (données de paiement).
  2. Le serveur répond avec le statut HTTP 307 et un en-tête Location pointant vers une URL temporaire (ex. /checkout-maintenance ou un nouvel endpoint).
  3. Le client suit la redirection vers l’URL cible en rejouant la même méthode HTTP : POST → POST.
  4. L’URL cible renvoie la réponse finale (idéalement 200) sans casser le parcours utilisateur.

Pourquoi c’est important ?

Si une redirection transforme un POST en GET, vous pouvez perdre des données, casser un paiement, ou provoquer des erreurs applicatives. Le 307 réduit ce risque car il impose au client de conserver la méthode.

Quelle est la différence entre 307 et 302 ?

CodeDuréeMéthode conservéeUsage recommandé
301PermanentMigration définitive (consolidation SEO)
302Temporaire⚠️ VariableCas non critiques / compat héritée
307Temporaire✅ OuiPOST / paiement / login / APIs

302 ou 307 ? Sur un GET, ça change peu. Sur un POST, ça change tout.

Quel code HTTP choisir ?

  • Temporaire + méthode critique (POST/PUT) → 307
  • Temporaire + pas d’enjeu méthode → 302
  • Permanent + méthode critique (POST/PUT) → 308
  • Permanent + pas d’enjeu méthode → 301

307 vs 302 vs 301 : la différence clé (méthode + SEO)

Les codes 301, 302 et 307 sont des statuts HTTP de redirection, mais ils n’ont pas le même impact côté client (navigateur / bot), côté serveur, ni côté SEO. Sur une redirection, la question à se poser est toujours la même : temporaire ou permanent ? et la méthode HTTP doit-elle être conservée ?

  • 301 (permanent) : le serveur indique un changement définitif d’URL. En SEO, c’est le statut de référence pour consolider l’indexation et transférer durablement les signaux vers l’URL cible.
  • 302 (temporaire) : redirection provisoire, mais historiquement certains clients peuvent modifier le comportement (notamment autour de POSTGET selon les implémentations). C’est tolérable sur des cas non critiques.
  • 307 (temporaire) : redirection provisoire avec conservation stricte de la méthode. Le client suit l’URL cible (en-tête Location) en rejouant la même requête (POST reste POST, PUT reste PUT, etc.). C’est précisément ce qui rend le 307 adapté aux formulaires, paiements, login et APIs.

Règle pratique

Si le changement est durable, privilégiez 301 (ou 308 si vous devez conserver la méthode). Si le changement est temporaire et que la méthode est critique (POST), choisissez 307.

Quand utiliser une redirection 307 ?

  • Maintenance courte / bascule temporaire d’infrastructure
  • Formulaires (réservation, paiement, login)
  • Migration temporaire d’une route d’API
  • Équilibrage de charge sur un endpoint sensible

Cas particulier : “307 Internal Redirect” (HTTPS / HSTS)

Vous pouvez voir un 307 dans Chrome (DevTools) lié au passage forcé HTTP → HTTPS par le navigateur (HSTS). Ce n’est pas toujours une réponse émise par votre serveur.

Vous rencontrez une erreur HTTP 307 inattendue (boucle de redirection, HSTS, CDN, API, paiement) ? Consultez notre guide de diagnostic et résolution de l’erreur HTTP 307 pour identifier la cause réelle et corriger sans casser vos parcours sensibles.

Mon avis terrain sur la 307

La 307 est un excellent statut… mais seulement dans un périmètre très précis : routes sensibles et actions en POST. En dehors de ça, je vois surtout des 307 “par défaut”, posées sans date de fin.

Mon heuristique est simple : si la redirection dépasse quelques jours/semaines, je la considère comme durable et je requalifie le besoin. Dans la majorité des cas, on finit par basculer en 301/308 — et plus tôt tu le fais, moins tu t’embarques dans des signaux contradictoires.

Quel est l’impact SEO d’un code 307 ?

Google traite la 307 comme ce qu’elle est censée être : temporaire. Tant que tu la laisses en place, l’URL source reste la référence. Donc si ton objectif est de “faire basculer” l’indexation vers la cible, tu es en train de jouer contre toi-même.

Googlebot, concrètement

Tant qu’une 307 est en place, Google comprend “temporaire”. L’URL de départ reste souvent la candidate “référence”, et la cible n’est pas traitée comme un remplacement durable. Comme il s’attend à ce que ça change, il repasse régulièrement pour vérifier si la redirection est toujours là.

  • Indexation : l’URL d’origine reste la candidate canonique tant que la 307 est active.
  • Autorité / signaux : pas de transfert durable vers la destination (contrairement à une 301/308).
  • Crawl : chaque redirection coûte, surtout en chaîne (et encore plus sur des sites volumineux).
  • Règle pratique : si tu n’as pas de date de fin claire, requalifie en 301 / 308.

Performance : attention aux parcours sensibles

Sur des pages à fort enjeu (checkout, login), une redirection peut dégrader la latence et impacter l’expérience. Évitez les chaînes, et mesurez (TTFB / timings réseau). Sur un tunnel critique, une redirection “en trop” ne se voit pas dans la Search Console : elle se voit dans la conversion.

Note : cet article vise un usage “documentation”. Pour un cas concret (migrations, HSTS, chaînes de redirections), un audit se fait toujours sur logs, crawls et parcours critiques.

Pourquoi j’ai une erreur 307 sur mon site ?

Un 307 apparaît le plus souvent à cause d’une règle de redirection (serveur, proxy, CDN), d’un passage forcé HTTP → HTTPS (HSTS), ou d’une configuration applicative (framework, plugin).

  • HSTS / HTTPS forcé : “307 Internal Redirect” côté navigateur (pas un 307 serveur).
  • Reverse proxy / CDN : Cloudflare, load balancer, règles de redirection.
  • Règles serveur : Nginx/Apache (.htaccess) qui redirigent une route critique.
  • Application : middleware ou plugin qui renvoie 307 (login, checkout, API).
  • Boucle : redirection A → B → A (souvent cache + règles contradictoires).

Comment mettre en place une redirection 307 ?

Si vous devez poser une 307, l’objectif est simple : pas de surprise côté méthode, pas de chaîne, et une situation vraiment temporaire. Si vous n’avez pas de date de fin claire, ce n’est probablement pas une 307 dont vous avez besoin.

Mise en place serveur (cas simples)

Sur Apache, vous pouvez définir une 307 via .htaccess : Redirect 307 /ancienne-page /nouvelle-page. Sur Nginx : return 307 https://example.com/nouvelle-page;.

En pratique

Si vous redirigez un login, un paiement ou un endpoint API, vérifiez systématiquement que la méthode reste identique (POST → POST), et testez le parcours complet. Sur ces routes-là, une 307 mal posée ne “fait pas juste perdre du SEO” : elle peut casser un tunnel.

Erreurs que je vois en prod (souvent invisibles côté SEO)

  • 307 posée “temporairement”… puis oubliée pendant des semaines (voire des mois) : l’URL cible ne devient jamais la référence.
  • Chaînes sur parcours critiques (307 → 302 → 200) : latence, bugs applicatifs et crawl gaspillé.
  • “307 Internal Redirect” (HSTS) pris pour une règle serveur : diagnostic faux si vous ne vérifiez pas au curl -I / logs.

Pour passer de la théorie à la pratique, consultez notre guide dédié pour configurer une redirection 307 sur Apache, Nginx ou en PHP, avec des exemples prêts à l’emploi et testables en production.

Codes HTTP associés à connaître

Si vous hésitez entre plusieurs statuts, voici une lecture rapide pour choisir selon la durée (temporaire vs permanent) et la méthode (POST conservé ou non).

  • Changement définitif d’URL (SEO à consolider) → 301
  • Changement définitif mais vous devez conserver la méthode (API / POST) → 308
  • Changement temporaire sans enjeu méthode → 302
  • Changement temporaire avec POST à préserver (paiement / login) → 307

Voir la liste complète des codes HTTP →

FAQ : Questions fréquentes sur le code HTTP 307

Quelle est la différence entre un code 302 et un code 307 ?

La différence majeure concerne la méthode HTTP : un 302 peut être interprété de manière ambiguë (POST transformé en GET), tandis que le 307 impose strictement la conservation de la méthode (POST reste POST).

Quand utiliser une redirection 307 pour le SEO ?

Utilisez une 307 si le changement est vraiment temporaire et que vous voulez conserver l’URL source comme référence. Si le changement devient durable, passez en 301 (ou 308 si vous devez conserver la méthode).

Comment savoir si mon site génère des 307 ?

Analysez les logs serveur, utilisez un crawler (Screaming Frog) ou testez via curl -I. Attention : certains 307 vus dans DevTools peuvent être des redirections internes navigateur (HSTS/HTTPS).

Une 307 peut-elle ralentir mon site ?

Oui : comme toute redirection, elle ajoute un aller-retour réseau. Isolée c’est souvent faible, mais en chaîne ou sur des parcours critiques, cela dégrade l’UX et peut impacter les performances.

Une redirection 307 transfère-t-elle le SEO vers l’URL cible ?

En général, une redirection 307 est considérée comme temporaire : Google garde l’URL source comme référence d’indexation tant que la redirection est en place. Le transfert de signaux vers l’URL cible n’est pas traité comme un changement durable (contrairement à une 301 ou une 308).

Pourquoi mon navigateur affiche “307 Internal Redirect” ?

Dans certains cas, le navigateur applique une redirection interne (par exemple HTTP → HTTPS via HSTS) sans que votre serveur renvoie réellement un statut 307. Pour confirmer l’origine, testez la réponse serveur avec curl -I et vérifiez vos règles (Nginx/Apache, CDN, proxy).

🎯 Analyse IA de cet article

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

💡 Chaque IA apporte une perspective unique