Redirections JavaScript et meta refresh : risques SEO et bonnes pratiques
Les redirections JavaScript et meta refresh sont moins bien traitées par Google que les redirections HTTP standard. Voici quand les éviter, quand les accepter et comment les surveiller.
Toutes les redirections ne se valent pas. Une redirection serveur en 301 et une redirection JavaScript window.location ont beau mener au même résultat pour l'utilisateur, elles sont traitées différemment par Google — et cette différence peut avoir des conséquences importantes sur votre référencement.
Les trois types de redirections non-HTTP
La meta refresh HTML
L'en-tête meta refresh est un élément HTML inséré dans la section <head> d'une page :
``html
<meta http-equiv="refresh" content="0; url=https://destination.fr/page">
``
La valeur content="0" signifie "rediriger immédiatement". Une valeur plus élevée (comme content="5") retarde la redirection de 5 secondes.
La redirection JavaScript simple
``javascript
window.location.href = "https://destination.fr/page";
// ou
window.location.replace("https://destination.fr/page");
``
La méthode replace() est préférable à href pour les redirections car elle ne crée pas d'entrée dans l'historique du navigateur.
La redirection JavaScript conditionnelle
``javascript
if (condition) {
window.location.href = "https://destination.fr/cas-a";
} else {
window.location.href = "https://destination.fr/cas-b";
}
``
Cette variante est utilisée pour des redirections basées sur des critères dynamiques (localisation, type d'appareil, statut de connexion).
Comment Google traite ces redirections
La position officielle de Google a évolué au fil des années. En 2026, Googlebot peut exécuter JavaScript grâce à son moteur de rendu basé sur Chrome. Cependant, plusieurs nuances importantes subsistent :
Le délai de rendu JavaScript
Googlebot crawle une page en deux temps :
- Phase 1 : Il télécharge et indexe le HTML brut immédiatement
- Phase 2 : Il remet le rendu JavaScript dans une file d'attente qui peut prendre des jours à des semaines
Pour une redirection JavaScript, cela signifie que pendant cette fenêtre temporelle, Google peut indexer l'URL source et pas la destination.
Le transfert d'autorité : toujours incertain
Contrairement à une 301 qui transfère ~99% de l'autorité de manière bien documentée, le transfert via JavaScript reste mal défini par Google. Les tests en conditions réelles montrent des résultats variables selon la complexité du JavaScript impliqué.
Citation de John Mueller (Google) : "Nous pouvons généralement suivre les redirections JavaScript, mais il est préférable d'utiliser des redirections serveur standard pour les redirections permanentes importantes."
Cas d'usage : quand les éviter, quand les accepter
| Cas d'usage | Recommandation | Type de redirection idéal |
|---|---|---|
| Migration de domaine permanente | À éviter absolument | 301 serveur |
| Redirection HTTP → HTTPS | À éviter absolument | 301 serveur |
| Test A/B temporaire | Acceptable | JavaScript ou 302 |
| Redirection selon langue détectée | Acceptable | JavaScript ou 302 |
| Panier abandonné → page de récupération | Acceptable | JavaScript |
| Redirection après soumission de formulaire | Acceptable | JavaScript (POST-Redirect-GET) |
La meta refresh : le cas particulier à 0 seconde
Une meta refresh avec content="0" est traitée par Google de manière similaire à une redirection 301 — à condition qu'elle soit la seule méthode de redirection et qu'elle soit cohérente. C'est une des rares exceptions où une redirection non-HTTP est relativement bien tolérée.
En revanche, une meta refresh avec un délai supérieur à 0 est considérée comme une mauvaise pratique par Google car elle fait attendre l'utilisateur sur une page intermédiaire sans contenu pertinent.
Comment détecter les redirections JavaScript sur votre site
Les redirections JavaScript sont souvent invisibles aux outils de crawl classiques qui n'exécutent pas JavaScript :
Screaming Frog : Activez JavaScript rendering dans les paramètres pour détecter les redirections JS.
Google Search Console : L'outil d'inspection d'URL exécute JavaScript et peut révéler des redirections que le crawl standard manque.
Dans les sources de vos pages : Cherchez window.location, meta http-equiv="refresh" dans vos templates et plugins.
Risque de sécurité : Les redirections JavaScript sont particulièrement difficiles à détecter dans les injections malveillantes. Un script injecté peut rediriger certains visiteurs (ceux venant de Google) sans que vous le voyiez en naviguant normalement.
Articles connexes : Redirections 301 vs 302 | Détecter une redirection malveillante | Chaînes de redirections