Hreflang et bascule
Les sites Chinaski multilingues signalent aux moteurs de recherche la langue de chaque page et offrent aux visiteurs un sélecteur visible dans l'en-tête de page. Les deux proviennent de la même source : l'ensemble hreflang calculé par page. Cette page explique comment les traductions sont appariées, quand les alternates apparaissent, et comment le sélecteur de langue intégré se comporte.
À quoi l'hreflang est-il généré
Vos langues actives configurées et une Site URL définie, chaque page et chaque post porte des entrées <link rel="alternate" hreflang="…"> pour lui-même dans chaque langue, dans le head du HTML construit. Deux garde-fous s'appliquent :
- Un site monolingue n'a pas d'hreflang (il n'y a rien entre quoi basculer).
- Les alternates ne sont générés que si votre réglage Site URL pointe vers votre vrai domaine, car ce doivent être des liens absolus.
Comment les traductions sont appariées
Pour relier une page à ses traductions, le builder doit savoir quelles pages sont « le même contenu » dans différentes langues.
- Les pages s'apparient d'abord par une clé de traduction, si bien que des traductions utilisant des URL localisées (une page
/en/aboutdont la version espagnole est/es/sobre) restent correctement reliées. Si aucune clé de traduction n'existe pour la page, l'appariement par slug identique est le repli. - Les posts s'apparient par slug identique entre les langues.
Seules les langues qui ont réellement une version correspondante sont listées, et une entrée x-default pointe vers la variante de la langue par défaut dès qu'il en existe une dans l'ensemble : le signal standard pour les moteurs de recherche qui indique quelle version montrer quand aucune langue précise ne correspond à l'utilisateur.
Quand une traduction n'existe pas
Votre sélecteur ne peut pas simplement disparaître sur les pages non traduites. Quand un post n'a pas de jumeau traduit avec le même slug, le builder se rabat sur les racines de langue : l'URL de page d'accueil de chaque langue. Ainsi, sur un site multilingue, chaque page ou post inclut le sélecteur de langue ; choisir une autre langue depuis l'un d'eux vous emmène à la page d'accueil de cette langue plutôt que vers une copie manquante de l'article.
Le sélecteur sur la page
Le thème par défaut rend un petit sélecteur de langue dans l'en-tête : une liste statique des langues du site, sans JavaScript :
- La langue courante est affichée comme texte (pas un lien), marquée pour les technologies d'assistance comme la sélection courante.
- Chaque autre langue ayant une version disponible lie vers cette version à l'URL propre à la langue : sous-domaines par langue ou segments de chemin, selon ce vers quoi un visiteur doit naviguer.
- Le repli ci-dessus s'applique : sur un site multilingue sans traductions pour la page que vous consultez, le sélecteur lie quand même vers les pages d'accueil des autres langues.
Comme le sélecteur est piloté par le même calcul qui produit les balises hreflang, ce que voient les moteurs de recherche et ce que peut cliquer un visiteur sont toujours la même liste. Les thèmes personnalisés décident de leur propre balisage d'en-tête ; le sélecteur se livre avec l'en-tête du thème par défaut et peut être ajouté à n'importe quel thème.
Bien faire les alternates : conseils pratiques
- Définissez votre Site URL, sans elle, aucun alternate n'est généré (ils doivent être absolus).
- Donnez à chaque traduction sa place sous le même contenu dans l'admin (ou un slug identique pour les posts) pour que l'appariement soit complet.
- Pour les pages dont les slugs diffèrent selon la langue (slugs localisés), utilisez la fonction de clé de traduction pour que les alternates correspondent ; sans elle, le repli par slug identique peut échouer à les apparier.
- Les règles d'appariement s'appliquent par page/post : un post en anglais sans jumeau espagnol montre des liens racine dans le sélecteur et pas d'alternates hreflang spécifiques vers le post lui-même, tandis qu'une paire entièrement traduite montre des alternates par article.