J'ai un site web avec plusieurs langues et à la première entrée, il recherche les cookies et si aucun cookie n'est présent, il passe par défaut en anglais et redirige vers example.com/en
.
Donc, fondamentalement, chaque fois que quelqu'un entre example.com
, il sera redirigé vers example.com/{language}
. Est-ce mauvais pour le référencement?
Le problème de votre configuration (du point de vue du référencement) est que les moteurs de recherche n'acceptent pas les cookies. Ainsi, lorsqu'un bot suit un lien vers votre domaine racine, il sera envoyé à votre contenu anglais. J'espère que les liens vers le contenu d'une autre langue sont également très nombreux, mais d'après mon expérience, cette situation semble néanmoins être à l'origine de nombreuses difficultés de ciblage géographique.
C’est peut-être pour cette raison Google recommande que vous "évitiez la redirection automatique en fonction de la langue perçue par l'utilisateur. Ces redirections pourraient empêcher les utilisateurs (et les moteurs de recherche) d'afficher toutes les versions de votre site".
J'ai un client dont/en/pages (ils ont énormément d'autres langues sur leur domaine) qui apparaît pour la plupart des recherches dans le monde, malgré l'existence de bonnes alternatives par région et malgré l'utilisation de la méthode rel="alternate"
de Google. La seule cause restante semble être qu'ils utilisent par défaut/en/à la racine en l'absence d'en-tête Accept-Language
HTTP (les moteurs de recherche n'en envoient généralement pas).
En bref, je serais enclin à permettre aux utilisateurs de manuellement de choisir leur langue, puis de définir un cookie plutôt que de le rediriger.
Au 10 juin 2014, Google recommandait les ccTLD, les sous-domaines avec des gTLD ou les sous-répertoires contenant des gTLD. Les paramètres d'URL tels que ?lang=en
ne sont pas recommandés :
https://support.google.com/webmasters/answer/182192?hl=fr#2
(C'est drôle que la page qui dit qu'il n'est pas recommandé d'utiliser des paramètres d'URL pour cela, fait exactement cela.)
De manière générale, rediriger l'utilisateur au chargement de la page n'est jamais une bonne chose. Cela s'appelle une page de porte. Cependant, étant donné qu’il s’agit de sélectionner automatiquement la langue, il ne devrait pas y avoir de problème .
Je préfère moi-même une solution différente de celle de les rediriger vers/en/ou/de /, et de les rediriger vers /? Lang = en. Dans la mesure où cela signifie qu'il s'agit de la même page physique mais avec une variable de langue sélectionnée, elle n'est pas considérée comme une redirection directe dans les définitions les plus strictes.
Honnêtement, je ne saurais vous dire si c'est meilleur ou non pour le référencement.
Je suppose que lorsque quelqu'un visite site.com/de sans cookies, il reçoit toujours la version allemande?
Autre que cette mise en garde, je ne vois rien de mal à cela du point de vue du référencement.
Vous pouvez également envisager une redirection en fonction de l'en-tête "Accept-Language" de l'utilisateur envoyé par le navigateur. Voici quelqu'un qui utilise du code php et du mod rewrite pour y arriver: https://stackoverflow.com/questions/1661915/how-to-redirect-based-on-accept-language -with-Apache-mod-rewrite