JavaScript-Redirect-and-SEO-The-Ultimate-Guide-250px

Les redirections JavaScript et le SEO : Le guide ultime

24 janvier 2023 - 10  min de lecture - par Sina Afkham
Accueil > SEO Technique > Les redirections JavaScript et le SEO

Que vous ayez l’intention de modifier l’adresse d’une seule page ou de déplacer l’ensemble de votre site Web en changeant l’URL, vous aurez besoin de redirections pour vous assurer que les utilisateurs et Googlebot seront dirigés vers la bonne page.

Les redirections peuvent être configurées côté serveur ou côté client. La préférence de Google va aux redirections côté serveur, car elles peuvent être traitées immédiatement après le crawl de l’URL initiale.

Cependant, il n’est pas toujours possible de mettre en place les redirections côté serveur pour diverses raisons, notamment le manque d’accès aux fichiers de configuration du serveur. Dans ces circonstances, les redirections JavaScript peuvent être une option.

Dans cet article, je vous expliquerai si les redirections JavaScript sont mauvaises pour le SEO, quels sont leurs avantages et leurs inconvénients, comment les mettre en œuvre correctement et comment vous pouvez vérifier si elles ont été utilisées sur votre site Web.

Les redirections JavaScript sont-elles mauvaises pour le SEO ?

S’il n’est pas possible d’utiliser les redirections côté serveur ou les redirections par méta-refresh, la réponse est non. Dans ce cas, comme Google le précise, les redirections JavaScript sont votre meilleure option, et vous pouvez vous en servir.

Le problème de base lié aux redirections JS est le fait que Google doit effectuer un rendu de la page pour les détecter. Bien que Google essaie de rendre chaque page Web, ce n’est pas toujours possible.

Malgré cela, Google a déjà utilisé la redirection JavaScript sur son Webmaster Blog, et Gary Illyes a commenté ce fait sur Reddit :

« Nous avons utilisé les redirections JS sur webmasters.googleblog.com parce que c’était la seule solution que nous avions à notre disposition pour les redirections 1:1, et cela fonctionne sur Google, mais je vois que les autres moteurs de recherche ont plus de mal à les capter. Si j’avais eu le choix, je n’aurais jamais utilisé les redirections JS, jamais. »

Puisque nous savons que les redirections JS sont acceptables lorsqu’il n’y a pas d’autre option disponible, nous allons examiner leurs cas pratiques.

Pourquoi utilise-t-on le JavaScript pour la redirection ?

Lorsqu’une redirection 301 ou un méta-refresh ne peut pas être déployé sur une plateforme, une redirection JavaScript est la meilleure alternative permettant d’informer à la fois les utilisateurs et les moteurs de recherche du nouvel emplacement d’une page.

En outre, comme JavaScript est effectué côté client, une redirection JS est une méthode valable pour mettre en œuvre des redirections conditionnelles. L’une des utilisations les plus courantes d’une redirection JavaScript conditionnelle est le test A/B, qui consiste à rediriger de manière aléatoire les utilisateurs vers l’une des deux URLs :

if(Math.random() > 0.5) {
	window.location.href = "https://version1.com";
} else {
	window.location.href = "https://version2.com";
}

Un autre cas pratique courant de redirection conditionnelle JavaScript consiste à rediriger les utilisateurs vers un nouvel emplacement après une tentative de connexion réussie :

if(user=="myusername" && pass="mypassword"){
window.location.href="https://example.com";
}else{
alert("Your username or password is wrong.");
}

Bien entendu, tous les robots d’exploration du Web, y compris Googlebot, sont incapables d’accéder au contenu protégé par un mot de passe. Ainsi, le fait que les redirections JavaScript ne soient pas privilégiées par Google n’a pas d’importance lorsqu’il s’agit de rediriger les utilisateurs après une connexion réussie.

Quels sont les inconvénients des redirections JavaScript pour le SEO ?

Quand il s’agit de SEO, il y a trois inconvénients majeurs associés aux redirections JS. Dans la suite de cet article, je vous explique en détail chacun de ces problèmes.

Google est obligé de rendre la page pour trouver une redirection JavaScript.

Afin de détecter les redirections JS, Google doit suivre 4 étapes principales :

1. Crawler l’URL de redirection et analyser sa réponse HTML.

2. Mettre l’URL en file d’attente pour le rendu. Cette étape peut ne prendre que quelques secondes, mais aussi bien plus longtemps.

3. Exécuter JavaScript et analyser le HTML rendu.

4. Trouver la redirection JavaScript et suivre le nouveau chemin.

L’écueil de cette méthode est que, malgré les efforts de Google pour rendre chaque URL, cela ne se produit pas toujours pour une myriade de raisons.

[Étude de cas] Booster votre SEO avec le scraping

Découvrez comment l'équipe SEO de Vroomly a pu utiliser le scraping pour mieux segmenter son site et prioriser les actions SEO.

Dans ce cas, Google ne sera pas en mesure de découvrir que votre contenu a été déplacé, et il chargera la page initiale. Deux choses peuvent se produire dans ce cas :

  • Si la page initiale est vide, il en résultera un soft 404. Il s’agit d’une situation où le serveur répond avec un code d’état 200, mais où le contenu de la page est absent.
  • Si la page initiale n’est pas vide et contient le contenu original, Google l’indexera ostensiblement.

Un point important à garder en tête est que de nombreux moteurs de recherche n’exécutent pas le JavaScript, comme le font Google et Bing. Ils ne détecteront donc jamais vos redirections JS.

Les redirections JavaScript épuisent le budget crawl

Afin de trouver une redirection côté serveur, les moteurs de recherche n’ont besoin que d’un en-tête de réponse HTTP.

JavaScript redirects waste crawl budget

Cependant, comme expliqué dans la section précédente, les moteurs de recherche doivent crawler et rendre la page pour trouver les redirections JS. Cela leur coûtera du temps et des ressources supplémentaires et, par conséquent, aura une incidence négative sur votre budget de crawl par rapport aux redirections côté serveur.

Les redirections JavaScript sont lentes pour les utilisateurs

Tout comme les moteurs de recherche, les navigateurs doivent rendre la page afin de trouver les redirections JS. Par conséquent, les redirections JavaScript sont plus lentes pour les utilisateurs que les redirections côté serveur.

De plus, les redirections JS sont parfois mises en œuvre avec quelques secondes de retard, ce qui les rend encore plus lentes.

Par exemple, un code comme celui-ci peut être utilisé pour rediriger une page après cinq secondes :

<script>
setTimeout("location.href = 'http://example.com';", 5000);
</script>

Afin d’accélérer une redirection JS, il est toujours recommandé d’éviter tout retard et de placer la redirection après l’ouverture de la balise <head>. En effet, les navigateurs analysent le HTML ligne par ligne, de haut en bas, et lorsqu’ils rencontrent une balise <script>, ils l’arrêtent et l’exécutent avant d’analyser le reste du HTML. Par conséquent, plus une redirection JavaScript est placée haut dans le code HTML, plus vite le navigateur la trouvera et la suivra.

Les deux images ci-dessous démontrent la différence entre le placement d’une redirection JavaScript dans la balise <head> et dans la balise <body> :

JS redirect head vs body tag

JS redirect head vs body tag 2

Comment configurer une redirection JavaScript

Il existe principalement deux méthodes de redirection JavaScript.

La méthode window.location.href

Voici un exemple d’utilisation de cette méthode de redirection JS :

<script>
window.location.href 'https://example.com';
</script>

Window.location.href est une propriété JavaScript qui précise l’URL de la page actuelle. Lorsqu’une nouvelle valeur est définie pour cette propriété, le navigateur charge la nouvelle URL et une redirection se produit donc.

Si vous utilisez la méthode window.location.href, l’URL de la source de la redirection sera enregistrée dans l’historique de la session. Par conséquent, lorsqu’un utilisateur clique sur le bouton « retour » de son navigateur, il est renvoyé à l’URL initiale qu’il essayait de quitter. Ainsi, cette méthode n’est peut-être pas idéale si vous avez l’intention de limiter l’accès des utilisateurs à la source de la redirection.

La méthode window.location.replace()

Voici un exemple d’utilisation de cette approche :

<script>
window.location.replace('https://www.example.com/');
</script>

Contrairement à « location.href », la méthode replace() remplace la ressource actuelle par la nouvelle URL fournie. Cela signifie que la source de la redirection ne sera pas enregistrée dans l’historique de la session et que les utilisateurs ne pourront donc pas revenir à l’URL initiale en cliquant sur le bouton « retour » de leur navigateur. À ce titre, window.location.replace() est généralement une meilleure méthode de redirection que window.location.href.

Comment vérifier si des redirections JavaScript sont présentes sur votre site Web

Comme nous l’avons vu précédemment, Google déconseille l’utilisation de redirections JavaScript, sauf si aucun autre type de redirection ne peut être mis en œuvre. Par conséquent, vous devez vérifier si des redirections JavaScript sont utilisées sur votre site Web et les remplacer, si possible, par des redirections côté serveur ou par un méta-refresh.

Toutefois, il n’est pas toujours aussi simple de repérer une redirection JavaScript que les autres types de redirections. En effet, l’URL initiale doit être rendue pour qu’une redirection JS soit trouvée, mais le rendu n’est pas nécessaire pour trouver les redirections côté serveur et les redirections méta-refresh.

Compte tenu de ce défi, je recommande l’une ou l’autre des méthodes suivantes pour repérer les redirections JavaScript :

  • Utiliser un crawler de site web avec des paramètres de rendu appropriés.
  • Utiliser une extension de vérificateur de redirections pour Chrome.

Trouver les redirections JS à l’aide d’un crawler (recommandé)

Afin de pouvoir utiliser cette méthode, vous devez suivre les étapes suivantes :

  1. Ouvrez le robot d’exploration et configurez-le pour qu’il rende du JavaScript. Ensuite, choisissez le délai de rendu. 5 secondes suffisent pour repérer les redirections JS immédiates et les redirections JS retardées avec moins de 5 secondes de retard. Cependant, si vous pensez que des redirections JavaScript avec plus de 5 secondes de retard peuvent être utilisées sur votre site Web, augmentez la valeur du délai de rendu.
  2. Assurez-vous que Googlebot Smartphone ou Googlebot Desktop est sélectionné comme user-agent.
  3. Crawlez votre site Web.
  4. Exportez un rapport de toutes les redirections.
  5. Ouvrez le fichier de rapport et recherchez les redirections JavaScript.

Trouver les redirections JS à l’aide d’une extension Chrome

L’une des meilleures extensions Chrome qui vous permet de vérifier les détails des redirections est « Redirect Path ». Pendant que vous naviguez sur un site Web, lorsqu’une redirection se produit, l’icône de cette extension vous indique le type de redirection. En outre, si vous cliquez sur son icône, vous obtiendrez plus de détails :

JS redirects

Les extensions pour Chrome ne sont pas aussi pratiques que le déploiement d’un robot d’exploration de sites Web pour examiner les redirections. Cependant, il peut arriver que vous rencontriez une redirection lors de l’audit d’un site Web et que vous vouliez savoir s’il s’agit d’une redirection JavaScript ou non. Dans ce cas, une extension Chrome peut vous faire gagner du temps.

[Ebook] Crawlability

Assurez-vous que vos sites web répondent aux exigences des moteurs de recherche en termes de crawlabilité pour booster la performance SEO.

Comment envoyer des signaux cohérents à Google lorsqu’il s’agit de redirections

Dans le document de Google intitulé « Redirects and Google Search », il est stipulé que lorsque Google rencontre une redirection permanente, impliquant une redirection JS, il considère cette redirection comme un signal fort selon lequel l’URL ciblée doit être considérée comme canonique.

Toutefois, pour reprendre l’URL canonique, Google considère également d’autres indicateurs. Comme l’explique John Mueller dans cette vidéo, ces indicateurs comprennent :

 

Par conséquent, pour envoyer des signaux cohérents à Google, il est recommandé de :

  • Mettez à jour la balise de lien canonique des pages alternatives pour qu’elle pointe vers la cible de la redirection.
  • Mettez à jour l’ensemble des liens internes afin qu’ils pointent tous vers la cible de la redirection.
  • Ajoutez la cible de la redirection à votre sitemap XML et supprimez la source de la redirection.
  • Redirigez toujours vers la version HTTPS d’une page, et non vers la version HTTP.

Conclusion

A JavaScript redirect can be a viable option under certain conditions, including when a conditional redirect is required. However, JS redirects are associated with their own drawbacks. Therefore, it is always a good idea to check whether JS redirects have been used on your website, in order to replace them with server-side redirects if possible. Besides, regardless of the redirect types you use, it is important to send consistent signals to Google regarding the canonical URLs on your website.

Sina L. Afkham est un Responsable SEO qui aide les entreprises à améliorer leur présence dans les résultats de recherche organiques depuis quelques années. Sina s'intéresse principalement au SEO technique, à l'E-A-T et à la sémantique.
Sujets en lien :