Canonical, hreflang, robots.txt : le trio à maîtriser
Trois éléments contrôlent comment Google comprend et indexe votre site : la balise canonical, les balises hreflang, et le fichier robots.txt. Bien configurés, ils envoient des signaux clairs qui maximisent votre SEO. Mal configurés, ils peuvent désindexer votre site entier en une seule erreur.
Ce guide couvre les règles de base, les erreurs fréquentes, et la méthode pour valider que chacun de ces trois leviers est bien paramétré.
1. La balise canonical
À quoi elle sert
La balise canonical indique à Google quelle est la version de référence d’une page parmi plusieurs versions similaires. Elle se place dans le <head> de la page :
<link rel="canonical" href="https://votresite.fr/page-de-reference/">
Les 4 cas d’usage principaux
1. Pages filtrées / triées — une catégorie avec filtres de prix, couleur, taille génère des URL multiples. Canonical → URL de la catégorie sans filtre.
2. Paramètres de tracking — ?utm_source=... et équivalents créent des URL techniques. Canonical → URL propre sans paramètres.
3. Pagination — /blog/page/2/, /blog/page/3/. Deux écoles : canonical auto-référentielle (chaque page est sa propre référence) ou canonical vers page 1. Depuis 2019 Google recommande l’auto-référentielle.
4. Déclinaisons produit — sweat rouge, bleu, vert. Si les 3 partagent le même contenu, canonical vers la version de base.
Les erreurs fréquentes
Canonical absente : Google invente sa propre logique de choix. Parfois correcte, souvent sous-optimale.
Canonical vers une page en noindex : contradiction, Google ignore la canonical.
Canonical qui pointe vers un domaine différent : peut passer tout votre jus SEO à un autre site par erreur. Vérifier que la cible est bien votresite.fr et pas votreautre-site.fr.
Chaîne de canonical : A pointe vers B qui pointe vers C. Google suit 1-2 niveaux max. Éviter.
Canonical vers une page 404 : Google ignore la balise, indexation imprévisible.
Validation
- Via Screaming Frog : crawl puis colonne “Canonical”. Scanner les incohérences.
- Via Detailed SEO Extension (Chrome) : un clic sur chaque page pour voir la canonical.
- Via Google Search Console : rapport URL Inspection montre la canonical “détectée” et “déclarée”.
2. Les balises hreflang
À quoi elles servent
hreflang indique à Google que la même page existe dans plusieurs langues et/ou pays. Utilisé sur les sites multilingues ou multi-pays.
Format :
<link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/page/">
<link rel="alternate" hreflang="fr-BE" href="https://example.com/be-fr/page/">
<link rel="alternate" hreflang="en" href="https://example.com/en/page/">
<link rel="alternate" hreflang="x-default" href="https://example.com/page/">
Les règles absolues
1. Auto-référence obligatoire : chaque page hreflang doit se pointer elle-même dans sa liste.
2. Réciprocité obligatoire : si la page FR pointe vers EN, la page EN doit pointer vers FR. Les hreflang non réciproques sont ignorés par Google.
3. Codes ISO corrects : fr-FR (France), fr-BE (Belgique francophone), en-GB (Royaume-Uni). Pas français, pas french, pas FR seul (c’est une région, pas une langue).
4. x-default recommandée pour indiquer la page à servir si aucune langue ne match.
Erreurs fréquentes
Hreflang sans réciprocité : erreur #1, invalide 50 % des implémentations.
Codes région invalides : fr-FR-FR ou fr-france. N’existent pas dans la norme ISO.
Hreflang qui pointe vers une page en noindex : conflit, Google l’ignore.
Hreflang multilingue sans version x-default : gestion médiocre des utilisateurs hors pays cibles.
Validation
- Google Search Console : rapport Ciblage international → hreflang détecté, erreurs remontées
- Outil Aleyda Solis hreflang : validation en ligne gratuite
- Screaming Frog : export dédié hreflang, détection de non-réciprocité
3. Le fichier robots.txt
À quoi il sert
Le robots.txt est un fichier placé à la racine du site (votresite.fr/robots.txt) qui indique aux bots (Google, Bing, etc.) ce qu’ils peuvent crawler ou non. Attention : le robots.txt bloque le crawl, pas l’indexation. Une page bloquée peut quand même être indexée si elle a des backlinks externes.
Structure type
User-agent: *
Disallow: /admin/
Disallow: /wp-admin/
Disallow: /cart/
Disallow: /search
Allow: /wp-admin/admin-ajax.php
Sitemap: https://votresite.fr/sitemap.xml
Les règles à connaître
Disallow: / bloque tout le site — l’erreur classique. Deux caractères qui rendent votre site invisible. À vérifier systématiquement après chaque migration.
Disallow: /page/ bloque la page et toutes ses sous-URL — /page/sous-page/ est aussi bloquée.
Allow: a priorité sur Disallow: pour une même ressource — utile pour autoriser un fichier précis dans un dossier globalement bloqué.
Les commentaires se mettent avec # — utile pour documenter.
Le sitemap se déclare avec Sitemap: — obligatoire pour aider Google à découvrir vos pages.
Cas d’usage typiques
E-commerce : bloquer /cart, /checkout, /account, /search.
WordPress : bloquer /wp-admin/ sauf admin-ajax.php.
Site avec filtres : bloquer les URL paramétrées (Disallow: /*?* ou règles plus fines).
Staging/dev : bloquer Disallow: / + authentification htpasswd. À retirer lors du passage en prod — oubli classique.
Les erreurs fréquentes
Bloquer CSS/JS : Disallow: /css/ ou /js/. Google ne peut plus rendre la page correctement, pénalité potentielle sur la qualité perçue. À éviter.
Bloquer les images : Disallow: /images/. Pas de pages dans Google Images, perte de trafic image. À éviter sauf cas très spécifique.
Oublier de mettre le sitemap : pas de pénalité mais perte de découverte accélérée par Google.
Règles contradictoires : plusieurs User-agent: * avec règles opposées. Le fichier devient imprévisible.
Validation
- GSC → Outil “Inspecter l’URL” : test si une URL spécifique est bloquée
- robots.txt Tester (ancien outil GSC, encore fonctionnel)
- Lecture manuelle : taper
votresite.fr/robots.txtpour voir le fichier
Les interactions entre les trois
Attention aux conflits :
Canonical vers une page bloquée par robots.txt : Google ne peut pas lire la canonical, il ignore. Conflit qui invalide tout.
Hreflang vers une page en noindex : hreflang ignoré.
Page dans le sitemap mais bloquée par robots.txt : confusion, Google signale une erreur.
Canonical auto-référentielle sur une page en noindex : Google comprend, mais c’est un signal mixte. À éviter.
La checklist de validation en 20 minutes
votresite.fr/robots.txtaccessible ? → 2 min- Le
robots.txtne contient pasDisallow: /général ? → 1 min - Le sitemap est déclaré dans le
robots.txt? → 1 min - Crawl Screaming Frog : combien de pages ont une canonical ? → 5 min
- Les canonical pointent-elles vers des URL du même domaine ? → 3 min
- Les canonical pointent-elles vers des pages existantes (pas 404) ? → 3 min
- Si site multilingue : hreflang réciproque ? → 5 min
Pour conclure
Ces trois leviers ne produisent pas de positions en eux-mêmes. Mais une mauvaise configuration peut en quelques minutes détruire tout le travail SEO qu’on a fait pendant des mois. La rigueur technique n’est pas sexy mais elle est prérequise.
Si vous doutez de la configuration de votre site, c’est typiquement ce qu’on vérifie dans notre audit SEO gratuit — 30-45 minutes pour identifier les 5 risques majeurs, dont systématiquement robots/canonical/hreflang.
Prêt à grimper ?
30 minutes d'échange. Un audit offert. Un plan d'action clair. Zéro engagement — qu'on bosse ensemble ou non.