J'ai un site Web multilingue et, selon le consignes de Google pour les sites multilingues , je devrais conserver les deux versions ou plus de mon site Web dans deux sous-dossiers différents, tels que:
www.example.com/en
www.example.com/it
Jusqu'ici tout va bien. Ainsi, le robot d'exploration indexera correctement les deux versions du site Web et présentera les résultats de la recherche en fonction de la langue locale de l'utilisateur.
Mais que dois-je faire avec la racine du site? Je veux dire, ce que index.html
devrais-je mettre directement dans
www.example.com
Est-il nécessaire d'avoir un index.html
? Devrais-je mettre un petit script PHP qui redirige les utilisateurs vers le site Web localisé approprié? (par exemple, l'utilisateur accède à www.example.com
et est redirigé vers www.example.com/en
). Il semble que la plupart des sites Web implémentent cette redirection automatique.
Les moteurs de recherche aiment les langues multiples et sont très flexibles
Google et Bing sont très flexibles pour structurer un site Web en plusieurs langues. La première chose à savoir sur ces types de sites est que vous pouvez cibler une langue ou un pays + langue.
Contenu basé sur le pays
Le ciblage d'un pays est plus idéal pour les sites vendant des services ou des produits, car vous pouvez ainsi définir la devise ou avoir des informations spécifiques sur l'endroit où acheter le produit ou le service et exécuter des promotions spécifiques à un pays. Un bon exemple est https: //www.samsung.com/uk/
Sur le domaine racine (https://www.samsung.com/
) et dans <head>
je m'attendrais à voir
<html lang="en">
<link rel="alternate" href="https://www.samsung.com/uk/" hreflang="en-GB" />
Ensuite, sur le chemin d'URL UK (https://www.samsung.com/uk/
), je m'attendrais à voir:
<html lang="en-GB">
<link rel="alternate" href="https://www.samsung.com/" hreflang="x-default" />
<link rel="alternate" href="https://www.samsung.com/us/" hreflang="en-US" />
Attendez une minute ... qu'est-ce que x-default?
Vous avez peut-être remarqué et pensé à x-default? , ce balisage indique aux moteurs de recherche que si le visiteur du site ne correspond pas à en-US
ou en-GB
, la racine est alors la par défaut pour toutes les autres langues et pays non appariés.
OK, mais c'est quoi HTML Lang?
Le <html lang="en-GB">
est principalement destiné aux utilisateurs, pas aux moteurs de recherche. Il indique donc au navigateur quelle langue est définie pour la page. Idéalement, du point de vue de l'accessibilité, vous devez utiliser lang et hreflang.
Mais ... je ne veux pas cibler de pays, je veux cibler des langues
Ok, refroidissez vos haricots. Le langage ciblé est aussi simple que de supprimer le pays ISO, le en-GB
devient en
et les URL doivent être renommées de /uk/
à /en/
.
Si vos visiteurs ou clients principaux sont anglais, vous pouvez utiliser le domaine racine pour cette langue. Il n'est pas nécessaire de créer /en/
, car vous indiquerez à Google et à Bing l'alternative à /en/
par exemple. à la page /de/
je m'attendrais à voir ceci:
<html lang="de">
<link rel="alternate" href="https://www.samsung.com/" hreflang="x-default" />
<link rel="alternate" href="https://www.samsung.com/" hreflang="en" />
Cependant, vous pouvez également utiliser à la fois /
et /en/
pour l'anglais, les deux méthodes étant acceptables. Utiliser /
pour des pays sans correspondance pourrait constituer une page unique où les utilisateurs peuvent choisir une langue, par exemple:
S'attaquer au contenu en double
Lorsque vous utilisez des pages identiques, par exemple (en-GB + en-US) ou (x-default + en), il est important d'utiliser rel canonical pour informer Google et Bing que X est un doublon de Y.
Par exemple, si nous utilisons /
/uk/
et /us/
, et que toutes les pages sont identiques ou presque identiques, je m'attendrais à ce que cela apparaisse dans l'en-tête:
Racine /
<html lang="en">
<link rel="alternate" href="https://www.example.com/us/" hreflang="en-US" />
<link rel="alternate" href="https://www.example.com/uk/" hreflang="en-GB" />
<link rel="canonical" href="https://example.com/" />
UK Page /uk/
<html lang="en-GB">
<link rel="alternate" href="https://www.example.com/" hreflang="x-default" />
<link rel="alternate" href="https://www.example.com/us/" hreflang="en-US" />
<link rel="canonical" href="https://example.com/" />
Page US /us/
<html lang="en-US">
<link rel="alternate" href="https://www.example.com/" hreflang="x-default" />
<link rel="alternate" href="https://www.example.com/uk/" hreflang="en-GB" />
<link rel="canonical" href="https://example.com/" />
Mais si vous voulez utiliser /us/
pour être le maître et que tout le reste soit dupliqué, vous modifiez le canonique de https://example.com/
à https://example.com/us/
Veuillez noter
Cette réponse contient des éléments extérieurs à ce qui a été demandé, principalement des pages canoniques et des pages spécifiques à un pays, elle a été ajoutée en tant que EXTRA et pour aider les autres utilisateurs qui envisagent éventuellement d’utiliser des langues ou des langues + pays.
D'où viennent la plupart des visiteurs? Par exemple, l'anglais est le plus utilisé. Faites une copie de/en/vers /index.html mais avec la balise canonique appropriée. So/en/et/pages ont même canonique.