web-dev-qa-db-fra.com

Site Web multilingue et référencement

Duplicate possible:
Comment puis-je obtenir des moteurs de recherche pour explorer mon site et voir une vue localisée de mes données?

Désolé, ce message est devenu un peu loquace - mais je n’ai trouvé aucune réponse satisfaisante sur le Web à ce jour.

Je développe un site Web depuis un certain temps, dans lequel j'ai intégré la prise en charge de plusieurs langues. Tous les termes, mots et expressions sont stockés dans un fichier au format JSON qui est décodé et converti en tableau. Avec cela, il est facile de créer le site entier dans une langue différente. Le site Web est composé à 100% de code maison ... pas de Wordpress, Drupal ou de tout autre framework, donc aucun des plugins multilingues pour ce qui précède ne fonctionnera.

Pour changer de langue, l'utilisateur clique sur un lien en haut de la page (positionné en haut, en réalité, il se trouve en bas de la structure HTML). Chaque page du site comporte ce menu, auquel un paramètre de chaîne de requête est ajouté. /hotels/index.html devient /hotels/index.html?lang=fr. Le script voit le paramètre lang, modifie le cookie de l'utilisateur, charge le fichier JSON approprié et les renvoie à la même page sur laquelle ils étaient sans le paramètre lang. Cela a été un moyen très pratique de changer de langue, car l’utilisateur reste sur la même page et les liens sont exactement les mêmes. Je l'ai construit de cette façon après un autre site nécessitant un support multilingue où le référencement n'était pas une priorité (programme interne à l'entreprise).

Si un visiteur se rend sur le site pour la première fois, le script examine la constante HTTP_ACCEPT_LANG, charge le langage approprié et définit le cookie (au lieu de la géolocalisation, qui prend plus de temps et que je n'aime pas personnellement - je vis en Thaïlande, et même Google sert la version thaïlandaise même si mon système d’exploitation et mon navigateur sont en anglais).

Ma question est la suivante: j'aimerais que Google et les autres SE indexent le site dans ces autres langues, mais sans l'attribut lang de l'URL. Si l'utilisateur utilise Google en français ou en russe, il reçoit le site en français ou en russe, respectivement. Étant donné que l'URL /hotels/index.html aurait une version en anglais (par défaut), français et russe, tout en conservant la même URL, je suppose que c'est un problème pour Google et les autres SE.

Quelqu'un peut-il expliquer comment Google indexe la configuration de sites multilingues de cette manière? L'utilisation d'un sous-domaine fonctionnerait-elle mieux pour les séparer? Je ne souhaite pas modifier la façon dont les URL sont traitées sur le site, car j'aime éviter autant que possible les chaînes de requête d'être indexées.

Sur une autre note, j'ai accidentellement ouvert le site pour l'indexation avec les liens de langue et, d'une manière ou d'une autre, les redirections ne fonctionnaient pas correctement et j'avais des liens tels que /something/index.html?lang=ru?lang=ru indexé dans Google. J'ai détecté ces éléments dans le script et placé une redirection 301 pour supprimer ces paramètres lang ... ces liens incorrects seront-ils remplacés par les URL redirigées dans Google au fil du temps?

3
mwieczorek

d'après votre description, je dirais que votre site n'est en aucun cas optimisé pour le référencement dans plusieurs langues et qu'il sera difficile de le réduire de cette manière.

il existe maintenant cette approche: http://googlewebmastercentral.blogspot.com/2010/09/unifying-content-under-multilingual.html

en gros, vous pouvez l'utiliser pour pousser les URL de changement de langue vers Google. mais c’est plus qu’un correctif pour les sites non optimisés pour le référencement qu’une véritable solution.

2
Franz

C’est pourquoi il est judicieux de jeter un coup d’œil sur les frameworks populaires et les CMS avant de concevoir le vôtre. Ce sont des problèmes très courants qui ont été résolus d'innombrables fois par de nombreux développeurs différents. Certaines d'entre elles ne sont pas évidentes lorsque vous concevez un CMS pour la première fois. Il est donc utile d'examiner ce qui existe et de voir quels sont les problèmes/solutions/conventions courants lors de la construction d'un CMS.

Tout d'abord, le contenu de base doit être servi sans état à partir d'URL uniques. Il est judicieux de sauvegarder les préférences de langue de l'utilisateur sous forme de cookie ou de variable de session, mais vous devez le rediriger vers la bonne URL/sous-site pour afficher le contenu dans la langue de son choix. Sinon, vous masquerez efficacement votre contenu des moteurs de recherche (non pas de manière malveillante, mais de manière autodestructrice).

Ainsi, quelle que soit la langue principale utilisée sur votre site, cette version d'une page serait:

http://foo/bar

Ensuite, les localisations seront:

http://ru.foo/bar
http://fr.foo/bar
http://de.foo/bar
etc.

Vous n'avez pas nécessairement besoin d'utiliser des URL propres, tant que chaque page est accessible à partir d'une URL unique sans nécessiter de cookie; afin que vous puissiez toujours faire quelque chose comme:

http://foo/bar?lang=ru
http://foo/bar?lang=fr
http://foo/bar?lang=de

Cependant, il est généralement admis que les URL propres sont plus conviviales et donc conviviales pour les moteurs de recherche.

Désormais, la mise en œuvre de cette modification devrait être relativement aisée pour un système de gestion de contenu classique ou un système de gestion de contenu, car la plupart disposent d'un moteur de routage permettant d'ajouter facilement des itinéraires personnalisés au contenu. Si vous ne le faites pas et que vos URL ne sont pas découplées de votre architecture d'application, cela peut demander plus de travail.

0
Lèse majesté