Comment vérifier les balises canonical sur les fiches produit PrestaShop ?

Niveau de lectureIntermédiaire
CMS / OutilPrestaShop
Temps de lecture9 min

PrestaShop pose une balise canonical sur chaque fiche produit sans que vous ayez rien à configurer. Le problème n’est pas son absence, c’est qu’elle peut se rompre en silence après un renommage de catégorie ou une mise à jour de thème, sans qu’aucune alerte ne vous prévienne. Voici comment vérifier qu’elle pointe vraiment où elle doit, produit par produit et à l’échelle du catalogue.

Ce que PrestaShop fait nativement

Depuis PrestaShop 1.7, la balise canonical d’une fiche produit est générée nativement via la variable Smarty $urls.canonical_url, injectée automatiquement dans le <head> du thème. Sur les installations encore en 1.6, l’implémentation passait par une modification du fichier header.tpl, une méthode plus fragile puisqu’elle dépendait d’un template personnalisable par n’importe quel développeur de thème.

Dans les deux cas, l’objectif est le même : désigner une URL de référence unique pour chaque produit, même si celui-ci est accessible par plusieurs chemins (page catégorie, résultat de recherche interne, filtre). C’est ce qui évite que Google traite deux URLs menant au même produit comme deux pages différentes en concurrence.

Le cas où elle se casse sans prévenir

Un bug documenté, pas une rumeur

Un ticket ouvert sur le dépôt GitHub officiel de PrestaShop (issue #25065, corrigée par la pull request #26890 en version 8.0) documente un couplage entre le nom d’une catégorie et l’URL réécrite qu’elle génère : renommer une catégorie pouvait, sur les versions antérieures à la correction, modifier silencieusement l’URL canonique des produits qui en dépendent, sans qu’aucun message d’erreur ne le signale dans le back-office.

Concrètement, si votre boutique tourne sur une version antérieure à cette correction et que quelqu’un renomme une catégorie (pour l’affiner, corriger une faute, l’aligner sur une nouvelle offre), les URLs réécrites des produits rattachés peuvent changer sans qu’aucune redirection automatique ne soit posée. Résultat : la canonical actuelle sur la page ne correspond plus à l’URL réellement indexée par Google, qui elle n’a pas bougé. Ce décalage silencieux est précisément ce qu’un audit régulier doit détecter, puisque rien dans l’interface d’administration ne le signale.

Vérification manuelle, produit par produit

  1. Ouvrez le code source de la ficheSur la page produit, faites un clic droit puis « Afficher le code source » (pas les outils de développement, qui montrent le DOM après exécution JS) et cherchez rel="canonical" dans le <head>.
  2. Comparez avec l’URL de la barre d’adresseSur une fiche produit standard, elles doivent être strictement identiques : même protocole (https), même présence ou absence de www, même chemin exact.
  3. Testez depuis plusieurs points d’entréeAccédez au même produit depuis sa page catégorie, depuis la recherche interne et depuis un filtre : la balise canonical doit rester identique dans les trois cas, pointant toujours vers la même URL de référence.
  4. Recoupez avec la Search ConsoleDans le rapport Pages, ouvrez l’inspection d’URL de la fiche produit et vérifiez le champ « URL canonique sélectionnée par Google » : s’il diffère de la canonical déclarée dans le code source, Google a choisi une autre référence que la vôtre, un signal à corriger en priorité.

Vérification à l’échelle du catalogue

Le contrôle manuel produit par produit n’est tenable que sur un très petit catalogue. Au-delà de quelques dizaines de fiches, un crawl s’impose : un outil comme Screaming Frog, configuré pour extraire la balise canonical de chaque URL produit, permet de croiser en quelques minutes l’URL crawlée avec l’URL canonique déclarée sur toutes les fiches à la fois. Les lignes où les deux colonnes diffèrent sont vos priorités de correction.

Complétez avec le rapport Pages de la Search Console, filtré sur les URLs de type produit : la ligne « URL canonique sélectionnée par Google différente de celle envoyée par l’utilisateur » liste précisément les cas où Google a ignoré votre balise pour lui préférer une autre URL, souvent le signe d’un maillage interne qui pointe majoritairement vers une variante différente de celle déclarée en canonical.

Le cas particulier des produits multi-catégories

Un produit rattaché à plusieurs catégories pose une question simple en apparence, plus subtile en pratique : quelle URL doit porter la canonical ? PrestaShop retient la catégorie par défaut définie sur la fiche produit (onglet Association du back-office) comme référence pour construire l’URL canonique, indépendamment du chemin par lequel le visiteur ou Googlebot accède réellement au produit.

Le piège survient quand cette catégorie par défaut n’est jamais revue après création : un produit ajouté rapidement dans une catégorie provisoire, puis rattaché à sa vraie catégorie plus tard sans que la catégorie par défaut soit mise à jour, continue de générer sa canonical vers l’ancienne catégorie. Vérifiez systématiquement, pour vos produits phares, que la catégorie par défaut correspond bien à celle que vous voulez voir portée par l’URL canonique et par le maillage interne.

Erreurs à corriger en priorité

Erreur constatée Cause probable
Canonical vide ou absente Thème personnalisé qui a supprimé la variable native sans la remplacer
Canonical pointant vers une autre catégorie Catégorie par défaut du produit non alignée avec le maillage réel
Canonical + noindex simultanés Configuration contradictoire, signal ambigu pour Google, à ne jamais cumuler
Canonical différente entre HTTP et HTTPS Configuration SSL incomplète, à corriger avant tout le reste

Questions fréquentes

PrestaShop pose-t-il la balise canonical automatiquement ?

Oui, nativement depuis la version 1.7 via la variable Smarty du thème. Sur les installations encore en 1.6, elle dépend d’une implémentation manuelle dans header.tpl, plus fragile face aux personnalisations de thème.

Un changement de nom de catégorie peut-il casser la canonical produit ?

Oui, sur les versions antérieures à la 8.0 : un bug documenté (issue GitHub #25065) liait le nom de catégorie à l’URL réécrite des produits associés, corrigé par la suite. Vérifiez votre version et testez après tout renommage de catégorie.

Comment vérifier la canonical sur tout un catalogue rapidement ?

Un crawl avec Screaming Frog configuré pour extraire la balise canonical de chaque URL, croisé avec le rapport Pages de la Search Console filtré sur les URLs produit, couvre l’essentiel en quelques minutes plutôt que produit par produit.

Que faire si Google affiche une URL canonique différente de la mienne ?

Vérifiez d’abord votre maillage interne : si la majorité des liens internes pointent vers une autre variante de l’URL que celle déclarée en canonical, Google privilégie souvent le signal majoritaire. Alignez maillage et canonical déclarée.

À propos de l’auteur

Aymeric Maingé

Consultant SEO senior avec plus de 10 ans d’expérience, côté agence et annonceur. J’accompagne des boutiques PrestaShop et e-commerce sur des problématiques de SEO technique, d’indexation, de canonicalisation et de performance catalogue. Mon approche croise audit terrain, priorisation métier et recommandations actionnables. Faites appel à un freelance SEO PrestaShop pour auditer vos canonicals à l’échelle du catalogue.

À lire aussi

Les autres articles sur le sujet

Aymeric Maingé consultant SEO freelance