Clustraly
SEO & redirections

Servez la bonne langue à chaque visiteur avec les alternates hreflang (<head>)

Alternates hreflang (<head>) est une fonctionnalité du module SEO & redirections de Clustraly. Les alternates hreflang sont des balises <link> injectées dans le <head> qui indiquent aux moteurs la bonne version linguistique de chaque page.

Vos pages traduites se déclarent entre elles directement dans le <head>. Les moteurs affichent la version linguistique attendue au lieu de la deviner, et Clustraly génère chaque balise automatiquement — vous gardez la main sur vos langues actives.

Le bon résultat, dans la bonne langue

Chaque version linguistique remonte pour son public

Un visiteur francophone atterrit sur la page française, un hispanophone sur la page espagnole. Les balises hreflang que Clustraly place dans le <head> disent aux moteurs quelle version montrer à qui, au lieu de les laisser choisir au hasard.

Vos versions d'une même page cessent de se concurrencer : chacune pointe vers ses équivalents traduits et vers la version par défaut du site.

  • Balise <link rel=alternate hreflang> par langue traduite
  • x-default émis vers l'URL de langue par défaut
  • Signal clair envoyé aux moteurs, pas une supposition
Génération automatique

Les balises s'écrivent toutes seules dans le <head>

Vous n'écrivez aucune balise à la main. HreflangService::generate construit les alternates pour chaque langue, et renderHead les injecte dans le <head> au moment du rendu de la page.

La langue par défaut utilise le slug source non préfixé ; les autres langues prennent l'URL /{code}/{slug-traduit}, avec repli sur le slug source sous le préfixe si la traduction du slug manque.

  • Injection au rendu, via renderHead
  • URL /{code}/{slug-traduit} pour chaque langue
  • Repli sur le slug source si le slug traduit manque
Seulement ce qui existe vraiment

Un alternate uniquement pour les langues réellement traduites

Clustraly ne déclare une version que si elle existe. Une balise hreflang n'est émise que pour les langues effectivement traduites, ce qui évite de pointer les moteurs vers des pages fantômes.

La couverture s'étend aux entités qui comptent pour votre référencement : articles, pages, catégories et tags.

  • Aucune balise pour une langue non traduite
  • Article, page, catégorie et tag couverts
  • Désactivation nette s'il n'existe qu'une seule langue active
Garde-fous intégrés

Jamais au prix d'une page cassée

La génération des alternates est encapsulée dans un try/catch : si quelque chose cloche, la balise est simplement omise et votre page continue de s'afficher normalement. Le SEO ne prend jamais le pas sur l'affichage.

Les contenus mis en corbeille sont écartés du balisage, pour ne jamais déclarer comme alternate une page que vous avez retirée.

  • Génération isolée en try/catch, page toujours préservée
  • Entités en corbeille (deleted_at) exclues
  • Aucun risque d'alternate pointant vers un contenu supprimé
Un <head> cohérent

Alternates hreflang et Open Graph parlent d'une même voix

Dans le même <head>, renderHead assemble vos balises hreflang et les signaux Open Graph multilingues : og:locale pour la langue courante, og:locale:alternate pour chaque autre langue active. Moteurs et réseaux sociaux reçoivent un message linguistique unifié.

  • hreflang et og:locale:alternate dans le même <head>
  • og:locale reflète la langue courante
  • Assemblage centralisé par renderHead
Pourquoi ça compte

Vous publiez les traductions, Clustraly déclare les versions

Activez une langue, traduisez une page : l'alternate hreflang correspondant apparaît dans le <head> au rendu suivant. Retirez la traduction, il disparaît. Le balisage reste toujours le miroir exact de ce que vous avez réellement publié.

FAQ

Questions fréquentes

À quoi servent les balises hreflang dans le <head> ?
Elles indiquent aux moteurs quelle version linguistique d'une page afficher selon la langue de l'internaute. Clustraly les génère pour vos articles, pages, catégories et tags multilingues, et émet aussi le x-default vers la langue par défaut.
Dois-je écrire ou coller ces balises moi-même ?
Non. HreflangService::generate construit les balises et renderHead les injecte automatiquement dans le <head> de chaque page traduite. Aucun balisage manuel de votre part.
Que se passe-t-il si mon site n'a qu'une seule langue ?
Le service se désactive : aucune balise hreflang n'est émise tant qu'il n'existe pas au moins deux langues actives. Les balises apparaissent dès qu'une seconde langue est en place.
Une page traduite partiellement pose-t-elle problème ?
Non. Clustraly n'émet un alternate que pour les langues réellement traduites, et si le slug traduit manque il se replie sur le slug source sous le préfixe de langue. Les pages en corbeille sont exclues du balisage.
Prêt à commencer ?

Un <head> multilingue qui parle la langue des moteurs

Activez vos langues, publiez vos traductions : Clustraly place les bonnes balises hreflang et le x-default dans chaque <head>, ne déclare que les versions qui existent vraiment, écarte les contenus en corbeille et n'interrompt jamais l'affichage de vos pages. Vos versions linguistiques remontent enfin auprès du bon public.