URL canonique : ce que c'est et comment la configurer

Ce qu'est rel canonical, pourquoi les moteurs de recherche en ont besoin et comment ajouter la balise canonical en HTML, dans les en-têtes HTTP et dans les CMS populaires.

Qu'est-ce qu'une URL canonique

Une URL canonique (ou rel canonical) est une balise HTML qui indique à un moteur de recherche : parmi toutes les versions de cette page, celle-ci est la version principale. Elle répond à l'un des problèmes SEO les plus courants, le contenu dupliqué, c'est-à-dire un même contenu accessible à plusieurs adresses.

Sans canonical, le moteur de recherche décide seul de la version à considérer comme principale, et il retient souvent celle que vous ne voulez pas voir dans l'index. La balise vous donne la main : vous déclarez explicitement l'URL préférée, et Google et Yandex suivent cette indication dans la plupart des cas.

Canonical regroupe les signaux des pages en double sur une seule version principale, celle que le moteur de recherche affiche dans les résultats.

Canonical en chiffres

2009

Année de lancement

Google, Yahoo et Bing ont annoncé ensemble la prise en charge de rel canonical, le premier standard SEO commun à tous les moteurs

~60 %

Sites avec des doublons

Selon Ahrefs, environ 60 % des sites ont des pages au contenu dupliqué qui nécessitent une balise canonical

3

Moteurs de recherche

Google, Yandex et Bing prennent en charge rel canonical. C'est une indication, pas une directive : le moteur la suit dans la plupart des cas, mais pas dans tous

≠ 301

Pas une redirection

Canonical est une indication pour le moteur de recherche, pas une redirection pour l'utilisateur. La page en double reste accessible à sa propre URL

Canonical : sens et notion clé

Le mot « canonical » vient des mathématiques et de la logique, où une forme canonique désigne la représentation la plus simple et la plus standard d'un objet. Dans le contexte des URL, l'adresse canonique est l'adresse « officielle » qu'un moteur de recherche utilise pour le positionnement et l'indexation, tandis que toutes les autres versions sont traitées comme des doublons.

Canonical et redirection 301 sont souvent confondues. La différence clé : une redirection est une directive, alors que canonical est une indication. Une redirection envoie physiquement l'utilisateur vers une nouvelle URL. Canonical garde l'utilisateur sur la page d'origine, mais indique au moteur de recherche quelle URL considérer comme principale pour l'indexation.

Critèrerel="canonical"Redirection 301
Type de signalIndicationDirective
L'utilisateur voitL'URL de la page en doubleL'URL de destination (principale)
Le moteur indexeUniquement l'URL canoniqueUniquement l'URL de destination
Transmission de la popularitéPartielle (pas 100 %)Complète (~99 %)
Les deux URL restent accessiblesOuiNon : le doublon renvoie un 301
Cas d'usageDoublons, filtres, paginationDéplacement définitif d'une page

Comment ajouter la balise canonical

La balise canonical se place dans la section <head> de la page en double. La syntaxe n'a pas changé depuis 2009 : il s'agit d'un seul élément <link> vide. Attention, l'attribut href doit contenir une URL absolue complète :

html
<head>
  <meta charset="UTF-8">
  <title>Laptops — buy at TechShop</title>
  <link rel="canonical" href="https://example.com/catalog/laptops/">
</head>
Erreur fréquente : certains écrivent <meta rel="canonical"> ou <meta name="canonical">. Cette balise n'existe pas. La seule forme valable est <link rel="canonical" href="..."> dans <head>. Les moteurs de recherche ignorent complètement la variante meta.

Si la page est un PDF, une image ou un autre fichier sans <head> HTML, l'indication canonical peut être transmise par l'en-tête HTTP Link. La configuration nginx ci-dessous fonctionne aussi bien pour les ressources non HTML que pour les pages classiques, lorsque vous contrôlez directement le serveur :

nginx
# nginx.conf — canonical via HTTP header
# For PDF and other non-HTML resources:
location ~* \.pdf$ {
    add_header Link '<https://example.com/docs/price-list.pdf>; rel="canonical"';
}

# For dynamic URLs with GET parameters:
location /catalog/ {
    add_header Link '<https://example.com/catalog/>; rel="canonical"';
}

Voici les cinq règles des balises canonical les plus souvent enfreintes :

  • URL absolues uniquement. Écrivez toujours l'adresse complète : https://example.com/page/, et non /page/. Les canonical relatives sont techniquement prises en charge, mais se comportent mal quand le domaine ou le protocole change.
  • Canonical en https. La canonical doit pointer vers la version https de la page. Si le site est en HTTPS mais que la canonical renvoie vers http://, on crée un doublon que le moteur ne peut pas résoudre correctement.
  • Une seule canonical par page. Plusieurs balises <link rel="canonical"> aux valeurs href différentes : le moteur les ignore toutes, ou en retient une au hasard.
  • La canonical doit être accessible. Une balise qui pointe vers une 404 ou une URL en 301 n'a aucun sens. La page principale doit renvoyer 200 OK.
  • Un slash final cohérent. Si l'URL principale est /catalog/ (avec slash), la canonical doit aussi l'inclure. Mélanger les variantes crée de nouveaux doublons.
L'auto-canonicalisation est normale, voire recommandée. La canonical d'une page peut pointer vers elle-même : c'est un signal explicite indiquant au moteur que cette URL est la version principale. Ajoutez une auto-canonical à chaque page du site, y compris aux pages principales.

Quand utiliser canonical

Canonical répond à six scénarios classiques de duplication de contenu. Voici chacun d'eux, avec des exemples d'URL réelles.

Scénario 1Paramètres GET et balises UTM

Les URL comme /catalog/?sort=price et /catalog/?utm_source=email reprennent le même contenu que /catalog/. La canonical de toutes ces pages doit pointer vers /catalog/. C'est la source de doublons la plus répandue dans les boutiques en ligne.

Scénario 2Canonical et pagination

Les pages comme /blog/page/2/ et /blog/page/3/ ont un contenu unique : une canonical sur la pagination consiste donc en général à mettre une auto-canonical sur chaque page. Ne pointez pas toutes les pages paginées vers la première : cela masque du contenu unique à l'indexation.

Scénario 3Filtres et tri

Une page de catégorie avec filtres peut générer des centaines d'URL : /shoes/?color=red&size=42. Si une page filtrée a un contenu unique et une demande de recherche, indexez-la. Si elle duplique la catégorie parente, la canonical pointe vers /shoes/.

Scénario 4www, http/https, casse

Quatre variantes de la page d'accueil : http://example.com, https://example.com, http://www.example.com, https://www.example.com. Choisissez une version principale (de préférence https://example.com sans www) et définissez une canonical ainsi qu'une redirection 301 depuis les autres.

Scénario 5Canonical inter-domaines

Si votre article a été repris sur un site partenaire (syndication, miroir), demandez au partenaire d'ajouter une canonical pointant vers votre original. Google prend en charge la canonical inter-domaines : il considère votre domaine comme la source et lui transmet la popularité des liens.

Scénario 6URL non canonique et agrégateurs

Si votre page apparaît sur plusieurs agrégateurs sans votre intervention, ajoutez une auto-canonical sur l'original. Google privilégie les URL dotées d'une auto-canonical explicite lorsqu'il choisit la version principale parmi les doublons.

Une URL non canonique n'est pas une erreur, c'est un statut. Le statut de la Google Search Console « Alternate page with proper canonical tag » signifie que Google a accepté votre canonical et n'indexe pas le doublon. C'est le résultat attendu pour les pages volontairement déclarées non canoniques.

Canonical dans les CMS : WordPress, Bitrix et Tilda

La plupart des CMS populaires génèrent automatiquement des canonical ou proposent un outil intégré. Une configuration manuelle n'est nécessaire que pour des cas particuliers, ou lorsque le CMS ne les gère pas correctement.

WordPress

Les extensions Yoast SEO et Rank Math ajoutent automatiquement une <link rel="canonical"> autoréférente à chaque page et à chaque article. Si vous n'utilisez pas ces extensions, ajoutez le code suivant au fichier functions.php de votre thème :

php
<?php
// functions.php — canonical without an SEO plugin
add_action('wp_head', function() {
    if (is_singular()) {
        echo '<link rel="canonical" href="' . esc_url(get_permalink()) . '">' . "\n";
    } elseif (is_home() || is_front_page()) {
        echo '<link rel="canonical" href="' . esc_url(home_url('/')) . '">' . "\n";
    }
}, 1);

Bitrix

Dans 1C-Bitrix, la canonical se définit via les propriétés de la page. L'approche standard consiste à attribuer la valeur dans un composant, puis à l'afficher dans le header.php du template principal :

php
<?php
// In a component or init.php: set the canonical
$canonicalUrl = 'https://' . SITE_SERVER_NAME . $APPLICATION->GetCurPage(false);
$APPLICATION->SetPageProperty('canonical', $canonicalUrl);

// In the template's header.php: output the tag
$canonical = $APPLICATION->GetPageProperty('canonical');
if ($canonical):
?><link rel="canonical" href="<?= htmlspecialchars($canonical, ENT_QUOTES, 'UTF-8') ?>">
<?php endif; ?>

Tilda

Tilda : pour chaque page, ouvrez Page Settings → onglet SEO → champ Canonical URL. Tilda insère la balise dans <head> automatiquement. Pour une canonical inter-domaines ou un cas particulier, utilisez un Zero Block avec un insert HTML dans <head>.

Erreurs et vérification via Google Search Console

Google Search Console est l'outil principal pour suivre le statut de vos canonical. Dans le rapport Indexing → Pages, plusieurs statuts concernent les canonical :

Statut GSCCe que cela signifieQue faire
Alternate page with proper canonical tagGoogle a accepté votre canonical. Le doublon n'est pas indexé et la popularité des liens remonte vers la page principaleTout est correct : c'est le comportement attendu
Duplicate, Google chose different canonical than userGoogle a ignoré votre canonical et a choisi une autre URL comme version principaleVérifiez : URL absolue ? Pas de 301 ? Contenu identique sur les deux pages ?
Duplicate without user-selected canonicalLe moteur a trouvé des pages similaires sans canonicalAjoutez une balise canonical à toutes les pages en double
IndexedLa page est acceptée dans l'index comme version principale (auto-canonical ou choix explicite)Normal pour les pages principales

Au-delà de la GSC, vérifiez la canonical au niveau de la réponse HTTP. Le moyen le plus rapide, sans outil, est d'afficher le code source de la page (Ctrl+U, puis recherche de canonical) ou d'utiliser curl :

bash
# Check canonical in HTTP header:
curl -sI https://example.com/catalog/?sort=price | grep -i link

# Check canonical in HTML (first 2000 bytes of response):
curl -s https://example.com/page/ | head -c 2000 | grep -i canonical
Erreurs de configuration canonical fréquentes :
  • Chaînes de canonical. Page A → canonical B → canonical C. Les moteurs préfèrent les pointeurs directs. Assurez-vous que la canonical mène directement à l'URL principale finale, sans étapes intermédiaires.
  • Canonical vers une redirection. Une canonical qui cible une URL en 301 envoie un signal ambigu. Le moteur doit suivre la chaîne : il est plus propre de pointer directement vers l'URL finale.
  • Noindex et canonical : une contradiction. Une page qui porte à la fois noindex et une canonical envoie des signaux contradictoires. Utilisez l'un ou l'autre : soit noindex la page, soit définissez une canonical vers l'URL principale.
  • Canonical via JavaScript. Google peut traiter les balises canonical injectées par JS, mais c'est plus lent et moins fiable. Privilégiez toujours un <link> statique dans le <head> du HTML.
Contrôle rapide sans outil : ouvrez une page, appuyez sur Ctrl+U (code source) et recherchez canonical. Si la balise ne se trouve pas dans <head>, il y a un problème de template. Si la canonical pointe vers une 404 ou vers un domaine externe inattendu, c'est une erreur de configuration critique.

FAQ

Réponses aux questions les plus fréquentes sur les canonical, qui reviennent pendant les audits SEO.

Synthèse

Quand et comment utiliser rel=canonical en pratique.

La balise canonical est un outil de base du SEO technique. Elle est simple à mettre en place, mais elle provoque régulièrement de sérieux problèmes d'indexation lorsqu'elle est mal configurée ou absente sur les sites qui génèrent des URL dynamiques. Trois règles suffisent à éviter 80 % des erreurs possibles : URL absolue, canonical en https et absence de chaînes.

Commencez par faire un état des lieux : GSC → rapport Pages → filtrez sur les statuts « Duplicate » et « Not indexed ». Vous verrez rapidement où la canonical manque ou est écrasée par le moteur de recherche.

Quelle est la différence entre canonical et une redirection 301 ?
Une 301 est une directive : l'utilisateur comme le moteur sont physiquement redirigés vers la nouvelle URL, et l'ancienne cesse d'exister. La canonical est une indication : l'utilisateur reste sur l'URL actuelle, et le moteur ne prend la canonical en compte que pour l'indexation. Utilisez la 301 quand une page a déménagé définitivement. Utilisez la canonical quand le même contenu doit rester disponible à plusieurs URL en même temps.
Puis-je pointer une canonical vers une page d'un autre domaine ?
Oui. La canonical inter-domaines est prise en charge par Google comme par Yandex. Par exemple, si votre article a été repris sur un site partenaire, demandez-lui d'ajouter <link rel="canonical" href="https://your-site.com/article/">. Google transfère la popularité des liens et l'attribution du contenu à votre domaine.
Pourquoi Google ignore-t-il ma canonical ?
Les moteurs de recherche ignorent une canonical pour plusieurs raisons : (1) l'URL canonique diffère du doublon par son contenu ; (2) la canonical pointe vers une redirection ou vers une URL inaccessible ; (3) la plupart des liens entrants pointent vers le doublon et non vers la canonical ; (4) les pages sont accessibles avec et sans www, sans redirection 301 vers la version principale.
Comment vérifier une canonical sans crawler ?
Trois méthodes : (1) le code source de la page : Ctrl+U, puis recherche de canonical ; (2) Chrome DevTools : onglet Elements, recherche de <link rel ; (3) Google Search Console : rapport Pages, cliquez sur une URL, et le panneau latéral affiche les champs « Google-selected canonical » et « User-declared canonical ».
Comment corriger le statut « Alternate page with proper canonical tag » dans la GSC ?
Ce statut n'a rien à corriger : il signifie que votre canonical fonctionne correctement. Google a reconnu la page comme un doublon et ne l'indexe pas. Si vous voulez que la page soit indexée de manière indépendante, supprimez la canonical ou remplacez-la par une auto-canonical (qui pointe vers elle-même).

Check it with SpiderHead

Free and local: run the audit on your own machine.

Try it