web-dev-qa-db-fra.com

Comment faire une redirection JavaScript vers la même page sans nuire à mon référencement?

J'ai fait quelque chose qui fait que quand les gens arrivent sur ma page pour la première fois, ils reçoivent une redirection JavaScript vers la même page, mais avec les requêtes d'URL PHP $_GET, puis cette page est redirigée vers la page sans ces requêtes, donc le serveur a obtenu la taille de l'écran du client au cours de ce processus.

Le fait est que cette redirection se fait en JavaScript côté client. Je me demande donc si cela pourrait nuire à l'optimisation du référencement de mon site Web (lire la suite).

Voici des solutions qui, à mon avis, pourraient être bonnes, mais je ne suis pas sûr de ce qu'il faut faire et de ce qui se passera si je le fais. Je ne sais pas vraiment comment Google analyse les sites, alors je me trompe peut-être:

  • Devrais-je mettre cette redirection JavaScript au bas du code de ma page afin que Google ait le temps de numériser l'intégralité de sa page avant d'être redirigée?

  • Devrais-je mettre ce code JavaScript dans le <head> de la page afin qu'il n'y ait aucune attente avant la redirection, afin que les clients humains soient satisfaits de ne pas avoir à attendre quelques millisecondes de plus, mais Google analysera la seconde page au lieu de la première, ou scannera-t-elle incomplètement la première?

  • Dois-je détecter avec PHP si je dois ou non rappeler ce code JavaScript en fonction du type de visiteur (humain ou non). Si c'est ce que je devrais faire, comment le faire simplement?

Ceci est important, car ce code JavaScript est présent sur chaque page et est répercuté dans PHP à chaque fois que quelqu'un (ou un robot) visite le site pour la première fois.

2
Guillaume Chevalier

Votre solution ici est très erronée pour plusieurs raisons, principalement que le navigateur de l'utilisateur ne doit pas en faire une, mais trois demandes séparées pour la même page. Cela triple votre trafic et ralentit considérablement l'utilisateur. Vous échangez également de nombreuses informations entre PHP et JavaScript, ce que vous n'avez simplement pas besoin de faire.

Si vous affichez des images dans une fenêtre contextuelle de style "lightbox" sur la page, aucune interaction côté serveur n'est nécessaire. JavaScript peut détecter la largeur du navigateur et demander une image différente à la place.

Vous feriez peut-être mieux de rechercher un plugin Lightbox préconfiguré. Il suffit de chercher "plugin JavaScript lightbox" et vous trouverez des centaines de différents. Beaucoup d'entre eux incluent une fonction "showImage" explicite, vous pouvez donc attacher un gestionnaire d'événements click au lien/vignette. Dans ce gestionnaire, vérifiez la largeur de l'écran et ouvrez l'image directement ou appelez le plugin lightbox.

2
DisgruntledGoat

Google peut analyser JavaScript et voir ce comportement étrange comme trompeur . Je ne peux pas dire avec certitude si c'est le cas, mais en autorisant Google à effectuer deux redirections, il pourrait également créer un contenu en double.

Si vous avez vraiment besoin d'obtenir la largeur de l'écran, pourquoi n'utilisez-vous pas JavaScript pour l'obtenir?

<script type="text/javascript">
    document.write(screen.width+'x'+screen.height);
</script>

C’est aussi probablement la façon la plus conviviale de traiter ce problème, car l’utilisateur n’a pas à passer du temps à passer par des redirections inutiles.

1
stevenw00