Canonical tags and hreflang

Canonical tags for multilingual websites: canonical vs hreflang

Understand how self-canonicals, hreflang, translated URLs, and sitemap entries work together on an international website.

La réponse courte

Canonical and hreflang solve different problems. A canonical identifies the preferred URL for one page version; hreflang connects equivalent language or regional versions. A multilingual page usually needs a self-canonical plus reciprocal alternates, not one language canonical for every locale.

/ 01

Canonique

Attribuez à chaque page localisée sa propre URL canonique

Si les pages /en/pricing et /fr/pricing sont distinctes, chacune doit normalement s'identifier comme l'URL canonique de sa version linguistique. Il ne faut pas systématiquement canoniquement utiliser l'anglais comme URL canonique, même si cette langue a été publiée en premier.

  • Canonicalize the exact protocol, host, path, and locale URL you want indexed.
  • Keep redirected, parameterized, or duplicate variants out of the canonical set.
  • Use the same canonical policy in metadata and the sitemap.
Self-canonical localized metadata
export async function generateMetadata({ params }) {
  const { locale, slug } = await params;
  const product = await getProduct(slug);
  const path = `/products/${product.slug}`;

  return {
    title: product.seoTitle[locale],
    description: product.seoDescription[locale],
    alternates: {
      canonical: `https://example.com/${locale}${path}`,
      languages: {
        en: `https://example.com/en${path}`,
        fr: `https://example.com/fr${path}`,
        de: `https://example.com/de${path}`,
      },
    },
  };
}
/ 02

Hreflang

Utilisez hreflang pour connecter les versions équivalentes

L'attribut hreflang indique aux moteurs de recherche la langue ou la région de la page à afficher à l'internaute. Il établit une correspondance entre versions équivalentes, ne remplace pas la canonicalisation et ne permet pas de traduire une page.

  • Use valid language and region codes.
  • Make the relationship reciprocal.
  • Include x-default only when you have a deliberate default-language or language-selector destination.
/ 03

Erreur courante

Ne renvoyez pas systématiquement toutes les langues vers la page source.

Une page française avec une URL canonique anglaise peut envoyer un message contradictoire : la page indique qu’elle est en français, tandis que l’URL canonique indique que l’URL anglaise est préférable. N’utilisez une URL canonique multilingue que si les pages sont de véritables doublons et que vous souhaitez intentionnellement privilégier une version.

  • Avoid cross-locale canonicals for translated content.
  • Do not mix www and non-www hosts in the language set.
  • Do not advertise unpublished translations in hreflang.
/ 04

Vérification

Tester l'ensemble complet des signaux

Vérifiez l'en-tête rendu, la langue de la page, les liens internes, l'entrée du sitemap et le statut de réponse pour chaque langue. Une balise correcte sur une page ne résout pas un problème de cluster défectueux ou non réciproque.

  • Check source and translated page pairs.
  • Compare canonical URLs to sitemap URLs.
  • Check that localized pages contain localized visible text and metadata.

/ Liste de contrôle de production

Vérifiez l'expérience linguistique avant le lancement.

  • Every localized page has a self-canonical URL.
  • Hreflang URLs are absolute and reachable.
  • Language mappings are reciprocal.
  • Canonical and sitemap URLs agree.
  • No locale points to an unpublished page.
  • The visible content matches the declared language.

/ Foire aux questions

Questions que se posent les équipes avant de mettre en œuvre un référencement multilingue.

Should multilingual pages use the same canonical URL?

Généralement non. Les pages de langue distinctes doivent normalement avoir des URL canoniques autoréférentielles, tandis que hreflang les relie en tant qu'alternatives linguistiques.

Is hreflang a replacement for canonical?

Non. L'attribut canonique identifie l'URL préférée pour une version de page ; l'attribut hreflang identifie les alternatives linguistiques ou régionales équivalentes.

Can hreflang prevent duplicate-content problems?

Cela aide les moteurs de recherche à comprendre les relations linguistiques et régionales, mais chaque page a toujours besoin d'un contenu localisé utile et de signaux canoniques cohérents.