J'ai créé un site Web pour un client en suivant le guide de sites Web multilingue de Google.
Il permet de créer un projet (tutoriel) dans une langue spécifiée par l'utilisateur. En fonction de la langue du projet, l'URL change en conséquence:
Pour l'anglais (non/en anglais)
http://example.com/project/33/my-own-trax
Pour l'espagnol (/ es ajouté à l'URL)
http://example.com/es/proyecto/31/mastines-de-nurgle
Si vous passez du projet anglais à l'espagnol men changez également pour conserver la page dans une langue.
Sur la page d'accueil, j'affiche tous les projets dans toutes les langues:
http://example.com/
Cependant, je trouve cela un peu problématique pour un utilisateur lorsque les menus changent de langue lors du passage d'un projet en anglais à l'espagnol en allemand, etc.
J'aimerais conserver le menu dans la langue d'un visiteur (par exemple l'anglais) même s'il navigue dans un tutoriel en français afin de pouvoir y naviguer facilement.
Vais-je être pénalisé par Googlebot si j'appliquais ce changement?
Si oui, y a-t-il un moyen de l'éviter mais d'appliquer le changement suggéré?
Vous ne devez jamais afficher les pages Googlebot que dans une seule langue. Les nouveaux utilisateurs issus de la recherche Google ne devraient également voir qu'une seule langue sur la page de destination. Google vous demande de ne pas mélanger les langues sur une seule page :
Évitez de mélanger les langues sur chaque page, cela risquerait de confondre Googlebot et vos utilisateurs. Gardez la navigation et le contenu dans la même langue sur chaque page.
Si un utilisateur a défini une langue de préférence avec vous et que vous pensez qu'il serait servi en affichant des menus dans cette langue lorsque le contenu n'est pas disponible dans cette langue, cela ne devrait pas poser de problème. Assurez-vous simplement que les robots et les nouveaux utilisateurs ne font pas partie de cette catégorie.
Regarde ça:
Ce que j'ai fait ici est de créer trois pages de bienvenue distinctes avec un en-tête commun en haut et une seule langue en surbrillance. Les langues peuvent être cliquées pour basculer entre elles. Je m'excuse si mon français et mon espagnol dans chaque page sont inexacts. Les boutons peuvent pointer vers les URL suivantes:
http://example.com/en/home
http://example.com/fr/home
http://example.com/es/home
La raison pour laquelle j'utilise des mots anglais après chaque langue est parce qu'il sera plus facile à gérer plus tard, et que les chances qu'une personne saisisse manuellement une URL seront faibles.
Commençons par la page d'accueil anglaise en ajoutant du contenu, puis des liens vers une page de projet et une page de contact, mes liens disponibles seraient:
http://example.com/en/home
http://example.com/fr/home
http://example.com/es/home
http://example.com/en/projects
http://example.com/en/contact
Maintenant, si nous faisons une page pour le français de la même manière, les liens sur cette page seraient:
http://example.com/en/home
http://example.com/fr/home
http://example.com/es/home
http://example.com/fr/projects
http://example.com/fr/contact
Et pour la page espagnole:
http://example.com/en/home
http://example.com/fr/home
http://example.com/es/home
http://example.com/es/projects
http://example.com/es/contact
Remarquez comment dans tous les cas ci-dessus, j'ai seulement changé le code de langue dans les deux derniers liens? En effet, sur chaque page, les liens sur lesquels les personnes cliquent doivent être dans la même langue, sauf lorsqu'ils cliquent sur le bouton de langue.
De plus, avec la façon dont j'ai conçu les liens, il ne devrait pas y avoir de problèmes de contenu en double. sauf si vous faites deux pages linguistiques identiques. Par exemple, vous avez plutôt transformé une page d’accueil en français en une page d’accueil en français.
Si les liens statiques ne vous permettent pas de changer de langue, vous pouvez implémenter des cookies pour conserver les états. Cela fonctionne bien si vous utilisez un langage côté serveur tel que PHP.
Si vous préférez que le bouton de langue passe à la dernière page visitée dans la langue utilisée précédemment, vous aurez peut-être besoin d'une langue côté serveur pour définir un cookie correspondant à la page actuellement visitée, puis, lorsque l'utilisateur sélectionne une autre langue, ils sont utilisés. sur une page spéciale qui lit le cookie, puis charge la page correcte dans la langue appropriée.