Introduction
Je travaille sur un projet où un site Web existe en 2 langues: nl et fr . Le site Web lui-même est développé dans ASP.NET, où chaque page n’existe qu’une fois, lorsque le contenu de la page est chargé de manière dynamique à l’aide de la localisation.
Structure du site:
NameOfThePage.aspx
AnotherNameOfThePage.aspx
...
Tous ces fichiers sont situés dans le dossier racine du site Web. Ils ne sont donc pas /nl/ ou /fr/ sous-dossier.
Avec un paramètre d'URL ?lang=nl
, le contenu de nl est chargé, si son ?lang=fr
, le contenu de la fr est chargé.
Les balises méta, titre, ... sont également traduites dynamiquement à l'aide de la localisation.
réécriture d'URL
Pour les bonnes adresses, j'utilise la réécriture d'URL comme ceci:
http://www.example.be/nl/keyword-in-nl/
http://www.example.be/fr/keyword-in-fr/
Règles de réécriture:
RewriteRule ^/nl/keyword-in-nl/ NameOfThePage.aspx?lang=nl
RewriteRule ^/fr/keyword-in-fr/ NameOfThePage.aspx?lang=fr
Ces adresses Nice se trouvent sur mon site Web, plan du site et sont indexés par Google. Également en utilisant les outils pour les webmasters> Récupérer en tant que Google, je récupère le bon contenu dans la bonne langue.
Problème
Le site ne marque pas bien dans Google, donc je cherche le problème. J'ai lu dans des blogs que l'utilisation de ?lang=
param n'est pas faite pour obtenir le contenu de la langue. Mais j'utilise des URL agréables en utilisant la réécriture d'URL.
J'ai aussi lu à propos de hreflang
pour relier des pages alternatives dans différentes langues.
Devrais-je utiliser les éléments de lien hreflang
dans mon cas?
Pour ce qui est de la notation dans Google, procédez comme suit: Ajoutez chaque site aux outils Google pour les webmasters.
Google Webmaster Tools (Plusieurs profils pour suivre vos progrès)
Ainsi, dans les outils google webmater, vous créez deux profils de sites distincts. Vous pouvez cibler chaque site en fonction de la région géographique, mais les outils pour les webmasters ne permettent pas encore de cibler par langue. Comme vous pouvez le voir, les outils pour les webmasters peuvent également inclure un répertoire.
www.example.be/nl/
www.example.be/fr/
En ce qui concerne l'internationalisation, cela fonctionne vraiment mieux lorsque vous pouvez cibler plusieurs pays . Lorsque vous avez deux versions linguistiques de votre site, Google ne leur présente généralement que la langue par défaut. Vous pouvez contourner cela un peu en utilisant des balises de langue.
Ce que vous feriez sur chaque page est DROP THE CANONICAL LINK si vous l’avez et que vous le remplacez par.
<link rel="alternate" hreflang="be-nl" href="http://www.example.com/nl/thispage.aspx/" />
<link rel="alternate" hreflang="be-fr" href="http://www.example.com/fr/thispage.aspx/" />
Cela permettra à Google bot de savoir qu'il existe deux versions de la même page, adaptées à différentes langues. C'est un bon début, car cela supprime le risque de dupliquer le contenu et constitue également un bon fondement pour l'internationalisation.
Donnez à vos utilisateurs le choix de changer de langue.
Ce que nous faisons, c'est afficher l'icône du globe et laisser les utilisateurs choisir une autre région. Dans votre cas, vous voulez faire quelque chose comme ça et les laisser changer de langue. N'utilisez pas une redirection 302/301 pour cela. Utilisez simplement un lien régulier avec l'attribut Hreflang.
Nous allons également plus loin et détectons la région des utilisateurs lors de leur première visite sur notre site. Par exemple, s'ils viennent de Belgique, nous affichons une bannière en français (notre seule langue pour BE) et leur demandons s'ils souhaitent accéder à la version française de la page. Nous utilisons des cookies pour nous assurer que cette bannière indique uniquement si les cookies sont activés et si l'utilisateur n'a pas déjà été invité.
Résumé
L'ajout des profils d'outils pour les webmasters à vos deux sous-sites vous donnera un aperçu des problèmes d'analyse par langue. Assurez-vous que votre contenu est réellement traduit par un humain, et pas seulement traduit par un robot (Google est assez intelligent pour intercepter la traduction automatique et on dit que cela dissuade les résultats). Vous voudrez peut-être aussi envisager d’utiliser un domaine .com général si vous le pouvez. Cela vous permettra d’internationaliser davantage (en ciblant plusieurs régions) si le besoin s’en fait sentir. Être bloqué dans un domaine .be confondra Google si vous pensez que vous ne ciblez qu'un pays (si tel est le cas, ignorez mon commentaire à ce sujet).
N'hésitez pas à commenter avec des questions.