Documentation Universally

Guides étape par étape, conseils de SEO multilingue et meilleures pratiques pour vous aider à traduire et à développer votre site WordPress.

balises hreflang

Sur WordPress, les balises hreflang sont ajoutées pour vous. Activez une langue et ses pages commencent à se déclarer mutuellement comme alternatives, ce qui est la partie du SEO multilingue que les gens font le plus souvent mal à la main.

Ce que font les balises

Une balise hreflang indique à un moteur de recherche que deux URL correspondent à la même page dans différentes langues. Sans elles, /pricing/ et /es/pricing/ apparaissent comme des pages concurrentes avec un contenu similaire. Avec elles, elles sont considérées comme une seule page dans deux langues, et chacune est servie au bon public.

Le résultat réel sur une page d'un projet avec l'espagnol (Espagne) et le français (France) ajoutés, à partir d'une source en anglais (US), se présente comme suit :

<!-- Universally hreflang tags -->
<link rel="alternate" hreflang="en-us" href="https://example.com/pricing/" />
<link rel="alternate" hreflang="es-es" href="https://example.com/es/pricing/" />
<link rel="alternate" hreflang="fr-fr" href="https://example.com/fr/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing/" />

Trois points à noter : chaque langue est déclarée avec son code de région complet plutôt qu'un simple es ou fr, la langue source a sa propre alternative, et une ligne x-default pointe vers l'URL source.

Ce que vous obtenez sans rien configurer

Des balises qui suivent vos langues. Ajoutez une langue et elle rejoint l'ensemble. Supprimez-en une et elle en sort. Il n'y a pas de liste à maintenir et rien à régénérer après un changement.

Des URL qui correspondent à votre structure. Chaque alternative pointe vers l'URL réelle de la langue, construite à partir du segment que vous avez configuré. Voir Ajouter et supprimer des langues.

Codes régionaux, pas codes de langue nus. Chaque langue est stockée avec une région, et c'est ce qui est déclaré. Voir Variantes linguistiques et ciblage régional.

Deux cas où une balise pointe là où elle ne devrait pas

Ces deux cas méritent d'être connus si vous auditez votre propre balisage :

  • Une langue désactivée est toujours déclarée. La désactivation masque une langue du sélecteur, mais le lien alternatif pour celle-ci est toujours émis, et l'URL ne sert plus de traduction. Si les moteurs de recherche ne doivent pas voir une langue, supprimez-la plutôt que de la désactiver. Voir Ajouter et supprimer des langues.
  • Une page exclue déclare toujours des alternatives. Un chemin sous Exclure les pages obtient des liens alternatifs pour chaque langue, et chacune de ces URL redirige vers la page source. Voir Exclure les pages.

Vérification

Affichez la source sur une URL traduite et recherchez dans le <head> le commentaire <!-- Tags hreflang Universally -->, suivi des lignes rel="alternate". Attendez-vous à une par langue, plus une pour votre langue source, plus x-default : trois langues signifient cinq liens.

Le rapport de ciblage international de la Google Search Console est une vérification plus lente mais plus approfondie, car il signale les incohérences plutôt que la simple présence.

Les balises sont ajoutées indépendamment de la traduction, donc une page qui n'est pas traduite, ou qui est exclue, les obtient toujours. Si elles sont complètement manquantes, la cause est l'une des suivantes :

  • Le site n'est pas connecté, ou sa clé API est manquante ou invalide
  • Universally n'a pas pu être atteint lors de la dernière récupération de la liste des langues, la liste est donc vide. Utilisez Actualiser sous Universally » Général » Langues, ce qui peut prendre jusqu'à 15 minutes pour expirer de lui-même.
  • Votre thème n'appelle pas wp_head(), donc rien dans le <head> n'est ajouté par aucun plugin.

Si vous avez votre propre plugin SEO

Universally ne touche pas aux liens hreflang qui sont déjà dans votre balisage : un élément portant un attribut hreflang est exclu de la localisation des liens, donc ce que votre plugin SEO a écrit est ce qui est expédié. Si vous préférez qu'il possède entièrement les balises, cela continue de fonctionner.

Via l'API

Une intégration API sert ses propres pages, elle émet donc son propre <head>. Universally fournit le contenu traduit et la structure d'URL ; l'ajout des liens alternatifs fait partie de l'intégration. Voir Intégrer via l'API.

Est-ce que cela vous a été utile ?